Course objective: Expose the student to an analytic and comparative way of looking at programming languages and their implementation.
Instructor: Paul Eggert, Engineering VI 363. Office hours are Mondays and Thursdays 14:15–15:15.
Teaching assistants, with office hours announced on CCLE:
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 Curricula 2013 knowledge areas:
Related knowledge areas in the IEEE Software Engineering Body of Knowledge, Version 3.0 (SWEBOK V3.0), 2014: