UCLA Computer Science 131, winter 2026.
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:
Learning assistants:
- Rathul Anand
- Tom Binford
- Arsh Koneru-Ansari
- Patrick Lu
- Rohan Sinha
- Shiven Patel (coordinator)
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 2023 (CS2023) knowledge units:
- FPL-OOP: Object-Oriented Programming
- FPL-Functional: Functional Programming
- FPL-Logic: Logic Programming
- FPL-Event-Driven: Event-Driven and Reactive Programming
- FPL-Parallel: Parallel and Distributed Computing
- FPL-Types: Type Systems
- FPL-Systems: Systems Execution and Memory Model
- FPL-Translation: Language Translation and Execution
- FPL-Abstraction: Program Abstraction and Representation
- FPL-Syntax: Syntax Analysis
- FPL-Semantics: Compiler Semantic Analysis
- FPL-Run-Time: Run-time Behavior and Systems
- FPL-Pragmatics: Language Pragmatics
- FPL-Formalism: Formal Semantics
- FPL-Design: Design Principles of Programming Languages