During peak registration times, the open/closed status of a course will change frequently.
For the most up-to-date status of a course, the best resource is Williams Student Records:
Main Menu > Self Service > Class Search/Browse Catalog > Class Search
Principles of Programming Languages
(also offered Fall 2019)
This course examines the concepts and structures governing the design and implementation of programming languages. It presents an introduction to the concepts behind compilers and run-time representations of programming languages; features of programming languages supporting abstraction and polymorphism; and the procedural, functional, object-oriented, and concurrent programming paradigms. Programs will be required in languages illustrating each of these paradigms.
Grading: no pass/fail option,
no fifth course option
weekly problem sets and programming assignments, a midterm examination and a final examination
current or expected Computer Science majors