COM SCI 231
Types and Programming Languages
Computer Science · 4 units · Graduate courses (200-299)
Introduction to static type systems and their usage in programming language design and software reliability. Operational semantics, simply-typed lambda calculus, type soundness proofs, types for mutable references, types for exceptions. Parametric polymorphism, let-bound polymorphism, polymorphic type inference. Types for objects, subtyping, combining parametric polymorphism and subtyping. Types for modules, parameterized modules. Formal specification and implementation of variety of type systems, as well as readings from recent research literature on modern applications of type systems.
Letter grading.
When it runs
Checking the Schedule of Classes…
Requisites
Official UCLA wording
Requisite: course 131.
BruinTree reads · Prerequisite
confidence 1.00 · from textRequires
Everything that has to come before this course, not just the courses named in the requisite above.
COM SCI 231
- COM SCI 131Programming Languages
- COM SCI 33Introduction to Computer Organization
- COM SCI 32Introduction to Computer Science II
- COM SCI 35LSoftware Construction
- COM SCI 31Introduction to Computer Science I
1 direct requisite. The whole upstream is here — 6 courses over 3 levels. Every course here opens its own tree.
Unlocks
What this course is a requisite for, and what those courses lead to in turn.
No course in the catalog lists this as a requisite.





