UNB/ CS/ David Bremner/ teaching/ cs4613/ CS4613 Lectures

On this page, you will find slides and other materials presented in class. Most of these slides were originally based on some lecture notes by Eli Barzilay. Over the years they have mutated in various ways, most recently with some cosmetic changes to follow the 3rd edition of PLAI a bit better.

Mistakes are probably mine.

You can browse the examples directly or by tags.

bitmap conditionals continuation continuations copying copying-collection lecture dynamic-types dynamic dispatch environments exceptions first class functions free-list functions garbage collection generational generators hygiene incremental-gc inheritance let1 lexical scope local binding macro mark-and-sweep nominal-types objects parsing gc2 plait safety scheme smol stack-based-gc stacker static-types structural-types syntax-rules two-space type-calculator type-checker type-errors type-inference type-variants union-types values web programming

Lecture 1: Introduction
Tue 09 Jan 2024 01:00:00 PM

Lecture 2: Parsing, Conditionals, Values
Thu 11 Jan 2024 12:00:00 AM

Lecture 3: local binding
Tue 16 Jan 2024 12:00:00 AM

Lecture 4: Functions
Thu 18 Jan 2024 12:00:00 AM

Lecture 5: macros
Tue 23 Jan 2024 12:00:00 AM

Lecture 6: objects
Thu 25 Jan 2024 12:00:00 AM

Lecture 7: more objects
Tue 30 Jan 2024 12:00:00 AM

Lecture 8: Static Typing
Thu 01 Feb 2024 12:00:00 AM

Lecture 9: Static Typing II
Tue 13 Feb 2024 12:00:00 AM

Lecture 10: Safety
Thu 15 Feb 2024 12:00:00 AM

Lecture 11: Safety and tags
Tue 20 Feb 2024 12:00:00 AM

Lecture 12: Topics in Types
Thu 22 Feb 2024 12:00:00 AM

Lecture 13: Algebraic and Union Types
Tue 27 Feb 2024 12:00:00 AM

Lecture 14: Nominal and Structural types
Thu 29 Feb 2024 12:00:00 AM

Lecture 15: Generators and Continuations
Tue 12 Mar 2024 12:00:00 AM

Lecture 16: Web Programming and Continuations
Thu 14 Mar 2024 12:00:00 AM

Lecture 18: Garbage Collection
Tue 26 Mar 2024 12:00:00 AM

Lecture 19: Reference counting and two-space collectors
Thu 28 Mar 2024 12:00:00 AM

Lecture 20: Mark and Sweep
Tue 02 Apr 2024 12:00:00 AM

Lecture 21: Allocators
Thu 04 Apr 2024 12:00:00 AM

Lecture 22: Generational Collection
Tue 09 Apr 2024 12:00:00 AM

Lecture 23: Incremental Collection and Stack Nursery
Thu 11 Apr 2024 12:00:00 AM