Lectures and Course Outline

Review session

Notes for the review session.

Lecture notes

Every week, I will post lecture notes and/or textbook sections as readings. You will be expected to read these to prepare for the following week's lectures.

  1. Jan 5–9: Week 1 lecture notes (plain text)
  2. Jan 12–16: Week 2 tutorial notes and Week 2 lecture notes (plain text) — section 4.1 in the textbook
  3. Jan 19–23: Week 3 tutorial notes, Week 3 lecture notes (plain text), and Week 3 SML notes (PDF, borrowed from Winter 2007 tutorial notes)
  4. Jan 26–30: Week 4 tutorial notes and Week 4 lecture notes (plain text) — sections 5.3,5.4 in the textbook
  5. Feb 2–6: Week 5 tutorial notes and Week 5 lecture notes (plain text) — sections 6.1,6.2,6.4,6.5 in the textbook
  6. Feb 9–13: Week 6 tutorial notes and Week 6 lecture notes (plain text) — section 8.2 in the textbook
  7. Feb 23–27: Week 7 tutorial notes and Week 7 lecture notes (plain text) — section 5.4 in the textbook
  8. Mar 2–6: No tutorial notes because of midterm test. Week 8 lecture notes (plain text) — sections 15.1, 15.2, 15.3 in the textbook
  9. Mar 9–13: Week 9 tutorial notes (plain text) and Week 9 figures (PDF), and Week 9 lecture notes (plain text) — sections 15.4, 15.5 in the textbook
  10. Mar 16–20: Week 10 tutorial notes and Week 10 lecture notes (plain text) — section 15.6 in the textbook
  11. Mar 23–27: Week 11 tutorial notes, with figures for Week 11, and Week 11 lecture notes (plain text) — section 15.7 in the textbook
  12. Mar 30–Apr 3: Week 12 tutorial notes and Week 12 lecture notes (plain text)
  13. Apr 6–9: Week 13 tutorial notes; lecture will be review, and a guest lecture by Prof. Gary Baumgartner!
    See the Test/Exam page for advice about studying for and writing the final exam.

Course outline

The following topics will be covered in this course, in the order listed.

  • Formal Specification of Programming Languages [2 weeks]
  • Functional Programming with ML [4 weeks]
  • Logic Programming with Prolog [4 weeks]
  • Design Principles for Programming Languages [2 weeks]