These pages are for the 2014/15 session of this course.

Link: Current course website

Don’t know where your lecture is being held? Look here.

Lectures are at 15.10–16.00 Tuesdays and Fridays throughout Semester 1, at 7 Bristo Square in Lecture Theatre 5. You are strongly advised to attend all lectures: if for any reason you miss one, please email the lecturer.

Links: 7 Bristo Square (Map), Lecture Theatre 5

Lecture Log

Each link leads to a description of the lecture, downloadable slides, and further references.

  1. What’s So Important About Language?
  2. Concurrency
  3. Concurrency Abstractions
  4. Coursework Assignment Topics; Sheet with citation examples
  5. Other Programming-Language Approaches to Concurrency
  6. Cautionary Tales in Concurrency
  7. Using SQL from Java
  8. Bridging Query and Programming Languages
  9. Heterogeneous Metaprogramming in F#
  10. Specification and Verification
  11. Guest Lecture: Edwin Brady on Programming with Dependent Types in Idris
  12. Practical Tools for Java Correctness
  13. Certifying Correctness
  14. Terms and Types
  15. Guest Lecture: Bob Atkey on Static Analysis for Java Concurrency with ThreadSafe
  16. Parameterized Types and Polymorphism
  17. Higher Polymorphism
  18. Dependent Types
  19. Exam Review

The course lectures are now complete. The exam will be held during the 2015 April/May diet.