Fee may apply
There is tremendous diversity in computer programming languages, and new languages are often created to solve new problems and fix old problems.
This course covers the basic concepts and design tradeoffs of programming languages. Examine different languages and compare their properties as well as the cost-benefits of different implementations. The first half of the course focuses on functions, types, scope, storage management, exceptions, and continuations. The second half covers object-oriented features and concurrency.
- Will Crichton
CS107, or experience with Lisp, C, and an object-oriented language.
- Language design trade-offs
- Implementation considerations
- Functional, imperative and object-oriented paradigms
- Formal semantic methods and program analysis
- Higher order functions and closures
- Runtime support for language features
- Security issues
Note on Course Availability
This course is typically offered Autumn quarter.
The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate certificate homepage.
|Dates:||September 23 - December 6, 2019|
Provides Stanford University credit that may later be applied towards a graduate degree or certificate. Includes access to online course materials and videos for the duration of the academic quarter. Starting Autumn 2016 there is a $100 fee per course for courses dropped before the drop deadline. Click here for more information about our Registration Policies.
NotesEnrollment Dates: August 1 to September 9, 2019
Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.
This course may not currently be available to learners in some states and territories.