CSCI-344
Programming Language Concepts
Term 20161



Schedule

Week/Dates:  Topic:  Assignments/Exams: 
Week 1
08/22 – 08/26
Lecture: Course introduction and overview
Readings: PL:BPC Preface
Lecture: ImpCore (concrete vs. abstract syntax; environments)
Recitation: ImpCore
Reading Quiz #1 due (Wed.)
Week 2
08/29 – 09/02
Readings: PL:BPC Chapter 1
Lecture: Operational Semantics (inference rules and evaluation)
Lecture: Operational Semantics (inference rules and evaluation)
Lecture: Operational Semantics (proofs and meta-theory)
Reading Quiz #2 due (Mon.)
Programming #1 due (Fri.)
Week 3
09/05 – 09/09
Labor Day (Mon. 09/05): no classes
Recitation: OperSem
Readings: PL:BPC Chapter 2 (Sections 2.0 – 2.6, 2.11, and 2.13)
Lecture: Scheme
Reading Quiz #3 due (Fri.)
Week 4
09/12 – 09/16
Lecture: Scheme
Recitation: Scheme (recursion and equational reasoning)
Readings: PL:BPC Chapter 2 (Sections 2.7 – 2.10)
Lecture: Scheme
Reading Quiz #4 due (Fri.)
Programming #2 due (Fri.)
Week 5
09/19 – 09/23
Lecture: Scheme
Readings: PL:BPC Chapter 2 (Sections 2.12 – 2.13, 2.15 – 2.18)
Lecture: Scheme
Recitation: Scheme (higher-order functions and operational semantics)
Reading Quiz #5 due (Wed.)
Week 6
09/26 – 09/30
Readings: Programming in SML (Harper) (Chapters 1 – 13)
Readings: PL:BPC Chapter 5
Lecture: Standard ML
Lecture: Standard ML
Lecture: Standard ML
Reading Quiz #6 due (Mon.)
Programming #3 due (Fri.)
Week 7
10/03 – 10/07
Recitation: Standard ML
Readings: PL:BPC Chapter 6 (Sections 6.0 – 6.5)
Lecture: Type Systems & Typed ImpCore
Lecture: Type Systems & Typed ImpCore
Reading Quiz #7 due (Wed.)
Week 8
10/10 – 10/14
Fall Break (Mon. 10/10): no classes
Crazy Day (Tue. 10/11): classes follow a Monday schedule
Recitation: Mono Type Systems
Readings: PL:BPC Chapter 6 (Sections 6.6 – 6.8)
Lecture: Type Systems & Typed Scheme
Lecture: Type Systems & Typed Scheme
Reading Quiz #8 due (Wed.)
Programming #4 due (Thr.)
Week 9
10/17 – 10/21
Recitation: Poly Type Sys
Readings: PL:BPC Chapter 11 (Sections 11.0 – 11.3, 11.5, and 11.7 – 11.8)
Lecture: Smalltalk
Lecture: Smalltalk
Reading Quiz #9 due (Wed.)
Week 10
10/24 – 10/28
Lecture: Smalltalk
Recitation: Smalltalk
Readings: PL:BPC Chapter 12
Lecture: Prolog
Reading Quiz #10 due (Fri.)
Programming #5 due (Wed.)
Week 11
10/31 – 11/04
Prof. Fluet @ SPLASH'16 (Mon. 10/31 – Wed. 11/02): class Mon. w/ Prof. Hojjat
Lecture: Prolog
Prof. Fluet @ SPLASH'16 (Mon. 10/31 – Wed. 11/02): class Wed. w/ Prof. Hojjat
Lecture: Prolog
Recitation: Prolog
Week 12
11/07 – 11/12
Readings: PL:BPC Chapter 7
Lecture: Type Inference
Lecture: Type Inference
Lecture: Type Inference
Reading Quiz #11 due (Mon.)
Programming #6 due (Wed.)
Week 13
11/14 – 11/18
Recitation: Type Inference
Readings: PL:BPC Chapter 3
Lecture: Control Operators and Reduction Semantics
Lecture: Control Operators and Reduction Semantics
Reading Quiz #12 due (Wed.)
Week 14
11/21 – 11/25
Recitation: Control Operators and Reduction Semantics
Thanksgiving Break (Wed. 11/23 – Fri. 11/25): no classes
Programming #7 due (Tue.)
Week 15
11/28 – 12/02
Readings: PL:BPC Chapter 4
Lecture: Garbage Collection
Lecture: Garbage Collection
Lecture: Garbage Collection
Reading Quiz #13 due (Mon.)
Week 16
12/05 – 12/09
Recitation: Garbage Collection
Lab: Programming #8
Lecture: Course conclusion
Last Day (Fri. 12/09)
Programming #8 due (Fri.)
Final Exam
12/12 – 12/16
Final Exam: Mon. 12/12; 10:15am – 12:15pm; GOL-1435
Final Exam (Mon.)

Last modified: Tue Oct 25 14:33:59 EDT 2016