CSCI-344
Programming Language Concepts
Term 20235



Schedule

Week:  Day:  Topic/Notes:  Assignments/Exams: 
Week 1
01/15 – 01/19
Mon. 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/26
Mon. 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/02
Mon. 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/09
Mon. 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/16
Mon. 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/23
Mon. 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/01
Mon. Readings: PL:BPC Chapter 6 (Sections 6.0 – 6.5)
Lecture: Type Systems & Typed ImpCore
Notes: Monomorphic Type Systems
Wed. Lecture: Type Systems & Typed ImpCore
Notes: Monomorphic Type Systems
Reading Quiz #7 due Wed.
Programming #4 out.
Fri. Recitation: Mono Type Systems
Week 8
03/04 – 03/08
Mon. Readings: PL:BPC Chapter 6 (Sections 6.6 – 6.8)
Lecture: Type Systems & Typed Scheme
Notes: Polymorphic Type Systems
Reading Quiz #8 due Mon.
Wed. Lecture: Type Systems & Typed Scheme
Notes: Polymorphic Type Systems
Fri. Recitation: Poly Type Sys
Programming #4 due Fri.
Programming #5 out Fri.
03/11 – 03/15 Spring Break
Week 9
03/18 – 03/22
Mon. 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/29
Mon. 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/05
Mon. 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/12
Mon. 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/19
Mon. 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/26
Mon. 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/29
Mon. Last Day
Lecture: Course conclusion
Programming #8 due Mon.
Final Exams
04/30 – 05/08
Tue. Reading Day
Wed. Final Exam Final Exam: Wed. 05/01; 10:45am – 1:15pm ; SLA-2150
Thr.
Fri.
Mon.
Tue.
Wed.

Last modified: Mon Apr 22 12:37:35 EDT 2024