UCLA Computer Science 131, Winter 2017.
Programming Languages
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 Wednesdays 13:30–14:30.
Teaching assistants:
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:
- PL/Functional Programming
- PL/Logic Programming
- PL/Object-Oriented Programming
- PL/Event-Driven and Reactive Programming
- PL/Basic Type Systems
- PL/Type Systems
- PL/Program Representation
- PL/Program Translation and Execution
- PL/Syntax Analysis
- PL/Compiler Semantic Analysis
- PL/Runtime Systems
- PL/Language Pragmatics
- PL/Concurrency and Parallelism
- PL/Advanced Programming Constructs
- PL/Formal Semantics
Related Software Engineering
2004 (SE2004) bodies of knowledge:
- CMP.cf.9. Programming language basics
- CMP.cf.13. Semantics of programming languages
- CMP.ct.3. Object-oriented run-time issues (e.g., polymorphism, dynamic binding, etc.)
- CMP.ct.4. Parameterization and generics
- CMP.ct.6. Error handling, exception handling, and fault tolerance
- CMP.tl.4. Application oriented languages (e.g., scripting, visual, domain-specific, markup, macros, etc.)
- FND.mf.8. Grammars
© 2003–2017 Paul Eggert.
See copying rules.
$Id: index.html,v 1.118 2017/01/08 22:38:39 eggert Exp eggert $