17 396
Language Design and Prototyping
Carnegie Mellon University · UGRD · Fall 2026
Catalog description
Many programmers think of programming languages as having a fixed, standard set of features and #8212;but in fact, languages are being extended all the time, and new languages are constantly being developed, providing great expressive power. In this course, students will learn about techniques for designing and prototyping programming languages. Design topics include language features, a practical approach to semantics, conceptual design techniques, and examples of both general purpose and domain-specific language designs. Prototyping topics include interpreters, source-to-source translators, languages as libraries, and paper prototyping techniques used for lightweight user evaluations. In course assignments, students will practice design and prototyping techniques, implementing prototype languages in several different styles. The course will end with a project in which students design, implement, and evaluate their own programming language. Prerequisites: 17-514 or 17-214 or 15-213 Course Website: http://www.cs.cmu.edu/~aldrich/courses/17-396/
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff