Course Description
The topics covered in this course include:
- Languages and compilers to exploit multithreaded parallelism
- Implicit parallel programming using functional languages and their extensions
- Higher-order functions, non-strictness, and polymorphism
- Explicit parallel programming and nondeterminism
- The lambda calculus and its …
The topics covered in this course include:
- Languages and compilers to exploit multithreaded parallelism
- Implicit parallel programming using functional languages and their extensions
- Higher-order functions, non-strictness, and polymorphism
- Explicit parallel programming and nondeterminism
- The lambda calculus and its variants
- Term rewriting and operational semantics
- Compiling multithreaded code for symmetric multiprocessors and clusters
- Static analysis and compiler optimizations
This course is worth 4 Engineering Design Points.
Course Info
Learning Resource Types
grading
Exams
notes
Lecture Notes
group_work
Projects
assignment
Programming Assignments

Digital display with binary code. (Image courtesy of cyberhades on flickr. License: CC BY-NC.)