Course objective: Expose the student to an analytic and comparative way of looking at programming languages and their implementation.
Instructor: Paul Eggert, Boelter 4532J. Office hours are Mondays 10:00–11:00 and Thursdays 09:30–10:30.
Assistant: Thuy Vu <email@example.com>. Office hours are Wednesdays 11:00–13:00 in Boelter 2432.
Lecture, 4 hours; laboratory, 2 hours; outside study, 6 hours.
Prerequisites: Computer Science 32, 33, and 35L.
Basic concepts in design and use of programming languages, including abstraction, modularity, control mechanisms, types, declarations, syntax, and semantics. Study of several different language paradigms, including functional, object-oriented, and logic programming. Letter grading.
For why this course is important, please see:
Related Computer Science Curriculum 2008 (CS2008) bodies of knowledge:
Related IEEE/ACM Software Engineering 2004 (SE2004) bodies of knowledge: