Welcome to our Fall 2017 offering of Principles of Programming Languages.
Contact
Instructor: Gary Baumgartner.
Email: gfb@cs.toronto.edu.
Office: BA 4232.
Marking Scheme
7 Exercises: 7 x 1.5% = 10.5%. Done individually.
2 Tests: 2 x 10% = 20%.
3 Assignments: 3 x 10% = 30%. You may work with one other student in the course.
Exam: 40%. You must receive at least 40% on the exam (after any adjustment) to pass the course.
Exercise and Assignment Due Dates
Exercises: Saturday at Noon at the end of the week.
You have four grace day tokens, to use on the exercises and/or assignments, but with at most two tokens used for any particular exercise or assignment.
Exercise and Assignment Submission
On MarkUs.
Lab
Labs are in BA3175/85/95: room assignments TBA.
The evening labs are 6–7PM.
Tests
The tests are in rooms TBA.
Evening tests are 6–7PM.
Discussion Board and Office Hours
Office hours: Thursdays 1:10–2:00, and 3:10–4:00.
Calendar
Week Notes | Monday | Tuesday | Wednesday | Thursday | Friday |
Sep 4 | Sep 5 | Sep 6 | Sep 7 Lecture : 6–8PM |
Sep 8
|
|
Sep 11
|
Sep 12 | Sep 13
|
Sep 14 Lecture : 6–8PM |
Sep 15
|
|
Practice: | Sep 18
|
Sep 19 | Sep 20
|
Sep 21 Lab + Lecture |
Sep 22
|
Practice: | Sep 25 | Sep 26 | Sep 27 Lecture: Anonymous functions, Symbols, and Quotation. |
Sep 28 Lab + Lecture |
Sep 29 Lecture: HTML Tags, Quasiquotation and Pattern Matching. |
Oct 2
|
Oct 3 | Oct 4 Lecture: Lambda Calculus Booleans and Currying, and Syntactic Abstraction. |
Oct 5
Lecture, 7:10–9PM. |
Oct 6 | |
Oct 9 Thanksgiving |
Oct 10 | Oct 11 Lecture: Lambda Calculus Let. |
Oct 12 Lecture : 6–8PM |
Oct 13 Lecture: Lambda Calculus Fibonacci |
|
Assignment 1 parts 1 and 2, due Saturday October 28th at Noon. |
Oct 16
|
Oct 17 | Oct 18 Lecture: Memory Model Library, Mutation and Scope, a Class-like function, and a simple Class operation. |
Oct 19 Lab + Lecture |
Oct 20 Lecture: a more general Class operation, and Inner Classes. |
Oct 23
|
Oct 24 | Oct 25 | Oct 26 Lab + Lecture |
Oct 27 | |
Oct 30 Test 2 |
Oct 31 | Nov 1 | Nov 2 Test 2 + Lecture |
Nov 3 | |
Reading Week |
Nov 6 | Nov 7 | Nov 8 | Nov 9 | Nov 10 |
Nov 13 Lab. |
Nov 14 | Nov 15 Lecture: Simple Do notations for a State monad, and a Maybe monad. |
Nov 16 Lab + Lecture |
Nov 17 Lecture: Commentary on Stateless Programming. |
|
Assignment 2: Due Nov 29 at 6PM.
Exercise 6 : waived, everyone receives full marks. |
Nov 20 Lab. |
Nov 21 | Nov 22 Lecture |
Nov 23 Lab + Lecture |
Nov 24 Lecture |
Nov 27 | Nov 28 | Nov 29 Lecture: Subtyping. |
Nov 30 Lab + Lecture |
Dec 1 | |
Dec 4 No lab/lecture |
Dec 5 | Dec 6 No lab/lecture |
Dec 7 Make-up Monday : unused |
Dec 8 No classes |