CS558 Programming Languages Fall 2016
-
TA Office Hours: Monday 4-5pm and Thursday 3:30-4:30 in CS department "fishbowl" (outside FAB 120)
Course Information
Exams
Books
Lecture Notes
- Introduction; High-level and Low-level Languages; Stack Machines 9/27/16 (pdf)
- Concrete and abstract Syntax; Grammars; Expressions 9/29/16 (pdf)
- Imperative Programming 10/4/16 (pdf)
- Axiomatic Semantics 10/6/16 (pdf)
- Names, Binding, Scope; Memory Storage 10/11/16 (pdf)
- Formal Operational Semantics 10/13/16 (pdf)
No additional required reading this week
- Large Values, Procedures and the stack, Calling conventions 10/18/16 (pdf)
- Recursion; Exceptions 10/20/16 (pdf)
- Functional Programming: First-class functions 11/1/16 (pdf)
- Closures; Purity; Fixed points 11/3/16 (pdf)
- Types and Type Checking 11/8/16 (pdf)
- Type Inference; Polymorphism 11/10/16 (pdf)
- The Type Zoo 11/15/16 (pdf)
No additional required reading this week
- Type Equivalence 11/17/16 (pdf)
- Abstract Data Types 11/22/16 (pdf)
No additional required reading. (And no quiz.)
- Object-oriented languages 11/29/16 (pdf)
Scala Language Resources
- Scala (version 2.11.6) is available on the CS linuxlab machines as scala (interactive interpreter) or scalac (compiler)
- Official Scala website
- The latest version (2.11.8) can be downloaded from here
- Documentation can be found here
- Recommended book Programming in Scala (1st edition).
- Our Scala Library code for interpreter exercises. (Useful if you want to do development outside WebLab.)