Schedule
Week: Day: Topic/Notes: Assignments/Exams: Week 1
01/15 – 01/19Mon. Martin Luther King Jr. Day (Mon. 01/15): no classes
Wed. First Day
Course introduction and overview
Notes: Syllabus, Course Introduction and Overview
Fri. Readings: PL:BPC Preface, Acknowledgements, and Introduction
Lecture: Impcore (concrete vs. abstract syntax; environments)
Notes: Introduction to Impcore
Reading Quiz #1 due Fri.
Week 2
01/22 – 01/26Mon. Recitation: ImpCore
Wed. Readings: PL:BPC Chapter 1
Lecture: Operational Semantics (inference rules and evaluation)
Reading Quiz #2 due Wed.
Programming #1 out.
Fri. Lecture: Operational Semantics (proofs and meta-theory)
Notes: Impcore (operational semantics)
Notes: Derivation
Week 3
01/29 – 02/02Mon. Recitation: OperSem
Wed. Readings: PL:BPC Chapter 2 (Sections 2.0 – 2.6)
Lecture: Scheme (introduction)
Notes: Scheme (introduction and equational reasoning)
Reading Quiz #3 due Wed.
Programming #2 out.
Fri. Lecture: Scheme (equational reasoning)
Notes: Scheme (introduction and equational reasoning)
Programming #1 due Fri.
Week 4
02/05 – 02/09Mon. Recitation: Scheme (recursion and equational reasoning)
Wed. Readings: PL:BPC Chapter 2 (Sections 2.7 – 2.10)
Lecture: Scheme (higher-order functions)
Notes: Scheme (higher-order functions)
Reading Quiz #4 due Wed.
Fri. Lecture: Scheme (higher-order functions)
Programming #2 due Fri.
Week 5
02/12 – 02/16Mon. Readings: PL:BPC Chapter 2 (Sections 2.11 and 2.13 – 2.15)
Lecture: Scheme (operational semantics)
Notes: Scheme (operational semantics)
Reading Quiz #5 due Tue.
Programming #3 out.
Wed. Recitation: Scheme (higher-order functions and operational semantics)
Fri. Readings: PL:BPC Chapter 5
Readings: Programming in SML (Harper) (Chapters 1 – 3; skim Chapters 4 – 13)
Lecture: Standard ML
Reading Quiz #6 due Fri.
Week 6
02/19 – 02/23Mon. Lecture: Standard ML
Wed. Lecture: Standard ML
Notes: Standard ML (board notes by Prof. Matthew Fluet)
Notes: Standard ML (slides)
Fri. Recitation: Standard ML
Programming #3 due Fri.
Week 7
02/26 – 03/01Mon. Readings: PL:BPC Chapter 6 (Sections 6.0 – 6.5)
Lecture: Type Systems & Typed ImpCore
Notes: Monomorphic Type SystemsWed. Lecture: Type Systems & Typed ImpCore
Notes: Monomorphic Type SystemsReading Quiz #7 due Wed.
Programming #4 out.Fri. Recitation: Mono Type Systems
Week 8
03/04 – 03/08Mon. Readings: PL:BPC Chapter 6 (Sections 6.6 – 6.8)
Lecture: Type Systems & Typed Scheme
Notes: Polymorphic Type SystemsReading Quiz #8 due Mon.
Wed. Lecture: Type Systems & Typed Scheme
Notes: Polymorphic Type SystemsFri. Recitation: Poly Type Sys
Programming #4 due Fri.
Programming #5 out Fri.
03/11 – 03/15 Spring Break Week 9
03/18 – 03/22Mon. Readings: PL:BPC Chapter 10 (Sections 10.0 – 10.9 and 10.12 – 10.14)
Lecture: Smalltalk
Notes: Object-Orientation and Smalltalk (Part 1)
Wed. Lecture: Smalltalk
Notes: Object-Orientation and Smalltalk (Part 2)
Reading Quiz #9 due Wed.
Fri. Lecture: Smalltalk
Notes: Object-Orientation and Smalltalk (Part 3)
Week 10
03/25 – 03/29Mon. Recitation: Smalltalk
Wed. Readings: PL:BPC (supplement) Appendix D
Lecture: Prolog
Notes: Logic Programming and Prolog (Part 1)
Reading Quiz #10 due Wed.
Programming #5 due Wed.
Programming #6 out Wed.
Fri. Lecture: Prolog
Notes: Logic Programming and Prolog (Part 2)
Week 11
04/01 – 04/05Mon. Lecture: Prolog
Notes: Logic Programming and Prolog (Part 3)
Wed. Recitation: Prolog
Fri. Lecture: Type Inference
Programming #6 due Fri.
Week 12
04/08 – 04/12Mon. Eclipse Day
Lecture: Type Inference
Notes: Type Inference
Wed. Recitation: Type Inference
Programming #7 out Wed.
Fri. Readings: PL:BPC Chapter 7
Lecture: Control Operators and Reduction Semantics
Reading Quiz #11 due Fri.
Week 13
04/15 – 04/19Mon. Lecture: Control Operators and Reduction Semantics
Wed. Recitation: Control Operators and Reduction Semantics
Fri. Readings: PL:BPC Chapter 3
Lecture: Garbage Collection
Notes: Garbage Collection (Part 1)Reading Quiz #12 due Fri.
Programming #7 due Fri.
Week 14
04/22 – 04/26Mon. Lecture: Garbage Collection
Notes: Garbage Collection (Part 2)Wed. Readings: PL:BPC Chapter 4
Lecture: Garbage Collection
Notes: Garbage Collection (Part 3)Reading Quiz #13 due Wed.
Fri. Recitation: Garbage Collection
Week 15
04/29Mon. Last Day
Lecture: Course conclusion
Programming #8 due Mon.
Final Exams
04/30 – 05/08Tue. Reading Day Wed. Final Exam Final Exam: Wed. 05/01; 10:45am – 1:15pm ; SLA-2150 Thr. Fri. Mon. Tue. Wed.