UCLA Computer Science 131, winter 2025.
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:
- Lab 1A. F 14:00. Royce 190. Arvind Vepa
- Lab 1B. F 14:00. Moore 100.
Christina Chance
Learning assistants:
- Albert Dong (coordinator)
- Tom Binford
- Aditya Mehta
- Nicholas Wang
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