UCLA Computer Science 131, winter 2023.
Programming Languages

Course objective: Analyze and compare programming languages and their implementations.

Instructor: Paul Eggert. See Bruin Learn for office hours.

Teaching assistants, with office hours published on Bruin Learn:

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 (CS2013) knowledge areas:

Related knowledge areas in the IEEE Software Engineering Body of Knowledge, Version 3.0 (SWEBOK V3.0), 2014:

  1. 3.4.2 Object-oriented runtime issues
  2. 3.4.3 Parameterization and generics
  3. 3.4.5 Error handling, exception handling, and fault tolerance
  4. 3.4.9 Grammar-based input processing
  5. 13.4. Programming Language Basics
  6. 13.10. Compiler Basics

These curriculum guidelines evolve; see Computing Curricula 2020 Paradigms for Global Computing Education (CC2020).