CSCI-344
Programming Language Concepts
Term 20225



Schedule

Week:  Day:  Topic/Notes:  Assignments/Exams: 
Week 1
01/16 – 01/20
Mon. Martin Luther King Jr. Day (Mon. 01/16): 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/23 – 01/27
Mon. Recitation: ImpCore
Wed. Readings: PL:BPC Chapter 1
Lecture: Operational Semantics (inference rules and evaluation)
Reading Quiz #2 due Wed.
Fri. Lecture: Operational Semantics (proofs and meta-theory)
Notes: Impcore (operational semantics)
Week 3
01/30 – 02/03
Mon. Recitation: OperSem
Programming #1 due Mon.
Wed. Readings: PL:BPC Chapter 2 (Sections 2.0 – 2.6)
Lecture: Scheme (introduction)
Notes: Scheme (introduction)
Reading Quiz #3 due Wed.
Fri. Lecture: Scheme (equational reasoning)
Week 4
02/06 – 02/10
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/13 – 02/17
Mon. Readings: PL:BPC Chapter 2 (Sections 2.11 and 2.13 – 2.15)
Lecture: Scheme (operational semantics)
Reading Quiz #5 due Mon.
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 – 12)
Lecture: Standard ML
Reading Quiz #6 due Fri.
Week 6
02/20 – 02/24
Mon. Lecture: Standard ML
Wed. Lecture: Standard ML
Notes: Standard ML
Fri. Recitation: Standard ML
Programming #3 due Fri.
Week 7
02/27 – 03/03
Mon. Readings: PL:BPC Chapter 6 (Sections 6.0 – 6.5)
Lecture: Type Systems & Typed ImpCore
Reading Quiz #7 due Mon.
Wed. Lecture: Type Systems & Typed ImpCore
Fri. Recitation: Mono Type Systems
Week 8
03/06 – 03/10
Mon. Readings: PL:BPC Chapter 6 (Sections 6.6 – 6.8)
Lecture: Type Systems & Typed Scheme
Reading Quiz #8 due Mon.
Wed. Lecture: Type Systems & Typed Scheme
Programming #4 due Wed. Fri.
Fri. Recitation: Poly Type Sys
Programming #4 due (Fri.)
03/13 – 03/17 Spring Break
Week 9
03/20 – 03/24
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 Mon. Wed.
Fri. Lecture: Smalltalk
Notes: Object-Orientation and Smalltalk (Part 3)
Week 10
03/27 – 03/31
Mon. Recitation: Smalltalk
Programming #5 due Mon.
Wed. Readings: PL:BPC (supplement) Appendix D
Lecture: Prolog
Notes: Logic Programming and Prolog (Part 1)
Reading Quiz #10 due Wed.
Fri. Lecture: Prolog
Notes: Logic Programming and Prolog (Part 2)
Week 11
04/03 – 04/07
Mon. Lecture: Prolog
Notes: Logic Programming and Prolog (Part 3)
Wed. Recitation: Prolog
Fri. Readings: PL:BPC Chapter 7
Lecture: Type Inference
Reading Quiz #11 due Fri.
Programming #6 due Fri.
Week 12
04/10 – 04/14
Mon. Lecture: Type Inference
Wed. Recitation: Type Inference
Fri. Readings: PL:BPC Chapter 3
Lecture: Control Operators and Reduction Semantics
Reading Quiz #12 due Fri.
Week 13
04/17 – 04/21
Mon. Lecture: Control Operators and Reduction Semantics
Wed. Recitation: Control Operators and Reduction Semantics
Programming #7 due Wed.
Fri. Readings: PL:BPC Chapter 4
Lecture: Garbage Collection
Reading Quiz #13 due Fri.
Week 14
04/24 – 04/28
Mon. Lecture: Garbage Collection
Wed. Lecture: Garbage Collection
Fri. Recitation: Garbage Collection
Week 15
05/01
Mon. Last Day
Lecture: Course conclusion
Programming #8 due Mon.
Final Exams
05/02 – 05/10
Tue. Reading Day
Wed. Final Exam Final Exam: Wed. 05/03; 10:45am – 1:15pm; online
Thr.
Fri.
Mon.
Tue.
Wed.

Last modified: Tue 04 Apr 2023 02:04:08 PM EDT