2015-2016 2016-2017 2017-2018 2018-2019 2019-2020
by subject...
  Are you a Computer Science Student? Want to make Stanford's systems even better?
Do you want to help improve the Stanford systems that you and your friends use all the time? We are looking for students interested in hacking on ExploreCourses and other upcoming university systems. Click here to learn more!

1 - 2 of 2 results for: CS143

CS 143: Compilers

Principles and practices for design and implementation of compilers and interpreters. Topics: lexical analysis; parsing theory; symbol tables; type systems; scope; semantic analysis; intermediate representations; runtime environments; code generation; and basic program analysis and optimization. Students construct a compiler for a simple object-oriented language during course programming projects. Prerequisites: 103 or 103B, and 107.
| UG Reqs: GER:DB-EngrAppSci
Instructors: Dill, D. (PI)

CS 442: High Productivity and Performance with Domain-specific Languages in Scala

Introduction to developing domain specific languages (DSLs) for productivity and performance using the Scala programming language. Goal is to equip students with the knowledge and tools to develop DSLs that can dramatically improve the experience of using high performance computation in important scientific and engineering domains. Aimed at two sorts of students: domain experts who can define key domain specific language elements that capture domain knowledge, and computer scientists who can implement these DSLs using a new DSL framework in Scala. First half of the course will focus on understanding the infrastructure for implementing DSLs in Scala and developing techniques for defining good DSLs. Second half of the course will focus on example DSLs that provide both high-productivity and performance. During the second half of the course groups of students will develop and implement their own DSLs using the Delite DSL process of implementing DSLs for parallel computation. Prerequisites: Systems course such as CS140, CS143 or CS149, and expertise is a particular domain and desire to improve productivity and performance of computation.
Filter Results:
term offered
updating results...
number of units
updating results...
time offered
updating results...
updating results...
UG Requirements (GERs)
updating results...
updating results...
updating results...
© Stanford University | Terms of Use | Copyright Complaints