Skip to content

Notes and Materials for a Course on Programming Languages

Notifications You must be signed in to change notification settings

andrewdieken/programming-languages

Repository files navigation

programming-languages

Notes and Materials for a Course on Programming Languages

Spoiler Alert: For now, I don't recommend reading the notes ahead of the lecture as I am planning to develop the material together in class, so it can be more fun and more interesting if you don't yet know the answers to the questions I am going to ask in class.

Below are linked the files containing the material covered already. I expect you to have read and reviewed this material before the next lecture. If anything is unclear, let me know and I am happy to add material.

Lecture 1.1: Overview and Organisation
Lecture 1.2: What is Computation? Numbers, Addition, Multiplication
Lecture 1.3: Computing with High-School Algebra: Adding Variables
Lecture 2.1: Syntax, Semantics, Soundness, Completeness
Lecture 2.2: Discrete Maths: Sets and Relations (and Functions)
Lecture 2.2-b: Syntax, Semantics, Soundness, Completeness (revisited)
Lecture 3.1: Abstract Reduction Systems: Examples
Lecture 3.2: Abstract Reduction Systems: Confluence and Unique Normal Forms
Lecture 3.3: Excursion on Induction, Isabelle, Idris (Part 1)
Lecture 4.1: Excursion on Induction, Isabelle, Idris (Part 2)
Lecture 4.2: Abstract Reduction Systems: Termination
Lecture 4.3: Discrete Maths: Orders
Lecture 4.3: Abstract Reduction Systems: Termination, cont'd

Exercises: Exercises are a preparation for the final exam and should be solved by all students.
Appendix on Jargon
Appendix on Big Ideas
Appendix on Programming Languages
What is still to come? A list of loose ends and possible topics to cover

About

Notes and Materials for a Course on Programming Languages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published