Unless otherwise noted: in-class quizzes will be conducted in HHS 2208 on the date listed, online quizzes will be administered via Canvas with the listed due date, and labs and PAs are to be submitted on Canvas by the given due date.


  1. Intro (Ch.1)
    • In-class quiz (1/15)
  2. History (Ch.2)
  3. Syntax and Parsing (Ch.3,4)
  4. Script Programming (Ruby)
  5. Variables: Name, Binding, Scope, Lifetime (Ch.5)
  6. Semantics and Lambda Calculus
  7. Functional Programming (Haskell, Ch.15)
  8. Data Types and Type Checking (Ch.6)
  9. Expressions and Control Structures (Ch.7,8)
  10. Logic Programming (Prolog, Ch.16)
  11. Subprograms and Activation (Ch.9,10)
  12. Abstraction and OOP (Ch.11,12)
  13. Concurrency (Ch.13)
  14. Errors and Events (Ch.14)
  15. Final Project (due 4/24 at 11:59PM)