UCLA Computer Science 131, Winter 2016.
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 Thursdays 14:00–15:00.
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–2016 Paul Eggert.
See copying rules.
$Id: index.html,v 1.112 2016/01/14 20:26:24 eggert Exp $