skip to primary navigationskip to content
 

Course pages 2023–24

Concepts in Programming Languages

Handouts and Code Fragments

Core Exercises

The exercises have not changed in this version of the web page, but have been re-ordered.

  • One-per-topic discussion questions
  • Past exam questions. 2015–2023 are most relevant. Note there is an error in y2021p7q1(b); ask your supervisor after attempting it.
    Note also that exam questions for 2020, 2021 and 2022 were "open book"; thus they may appear harder than questions intended for "in-person" exams.
  • Questions on variance:
    • Why does this C++ code give exactly one type error? Why is this error message necessary for type safety?
    • Why does this Java code raise an exception? What happens when the various commented-out code is uncommented?

There are also two sets of supervision exercises below; doing them all is perhaps overkeen, but supervisors should select from them.

Supervision exercises by Andrej Ivašković

Supervision question sets courtesy of Andrew Rice

(Note that topics VII, X and XI have been added/re-written since these questions were written.)


Books

Further reading material (due to Marcelo Fiore); not needed for examination purposes