This page contains links to slides from 2022/23 run of the course. It also lists reports submitted by past students (who were willing to share their work) for credit, but please note that some of those are significantly more elaborate than would be required for awarding credit for the course!
For up-to-date information, see the course page for the current semester.
Past reports
- Quantitative coding style analysis - empirical analysis comparing coding style of different kinds of Python code.
- Evolution of Common Lisp Object System (PDF) - a look at the history and evolution of the LISP object model.
- Design Patterns in Package Managers (PDF) - pattern language for designing package managers.
Slides
The online version uses Reveal.js and has a fancy two-directional structure. Use up/down and left/right arrows to navigate through this (or Esc to zoom out).
- Programming language design - Introduction (PDF) - 10 October, 2022
For the next week: Read Notes on Notebooks by Jeremy Singer - Learning from architecture and design (PDF) - 17 October, 2022
For the next week: Read Sections 2 and 5 of Varv: Reprogrammable Interactive Sofware - Human-centric language design (PDF) - 24 October, 2022
For the next week: Read about Observables in the RxJS Primer - Formal models of programming (PDF) - 31 October, 2022
For the next week: Read about Understanding null safety in Dart - Mathematics and engineering of types (PDF) - 7 November, 2022
For the week after the next: Read about Information-rich programming in F# - Getting everything wrong without doing anything right! or The perils of large-scale analysis of GitHub data - 14 November, 2022
Guest lecture by Jan Vitek - Unexpected perspectives on types (PDF) - 21 November, 2022
For the next week: Read (a part of) When Technology Became Language - History and philosophy of programming (PDF) - 28 November, 2022
For the next week: Read chapter “15 REM VARIATIONS IN BASIC” of 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 - Close look at past and today’s programs (PDF) - 5 December, 2022
For the week after the next: Read Spreadsheets are Code (SciHub) - Assignment & How to do programming language research (PDF) - 12 December, 2022
For useful writing tips: Read How to write a great research paper by Simon Peyton-Jones - Heuristic evaluation of programming systems (PDF) - 19 December, 2022
Optional if you are interested: Read Analysis of Block-based languages (SciHub) - Making programming easier and learnable (PDF) - 2 January, 2023 (online)