Skip to content

yixingz3/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: Meaning in Syntax. Or: 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: How does induction really work? Or: 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: Abstract Reduction Systems: Termination, cont'd
Lecture 5.1: Excursion on the rules of logic
Lecture 5.2: Abstract Reduction Systems: Termination, cont'd
Lecture 5.3: Invariants
Lecture 6.1: ... continued from Lecture 5.2
Lecture 6.2: Normalisation by Evaluation
Lecture 6.3: ... continued from Lecture 6.2
Lecture 7.1: Hoare Logic

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

Languages

  • Isabelle 76.2%
  • Idris 23.8%