The following schedule lists the topics we will cover and approximately the number of meetings we will spend on each topic. The schedule is tentative. Most likely, some things will change during the semester, and I will revise the schedule as necessary.

The Reading column lists the assigned reading for the meeting. You should view the readings as an introduction to spark discussion in class.

The Assignment column lists the due date for each assignment.

Date Topic Reading Assignment
1 T 1/13 Welcome and course overview [whiteboard] Get signed-up on Moodle and Piazza. HW0: Post a note on Piazza to introduce yourself.
R 1/15 Integers and variables [whiteboard, marked notes] Chapter 1: 1.1-1.3 1.5
2 T 1/20 Integers and variables [whiteboard, marked notes] Chapter 1: 1.4 1.6
R 1/22 Integers and variables [whiteboard, marked notes] Chapter 1 HW1 due 1/24
3 T 1/27 Parsing [whiteboard, marked notes] Chapter 2: 2.1-2.3 EX1
R 1/29 Parsing [whiteboard] Chapter 2: 2.4 HW2 due 2/1
4 T 2/3 Register allocation [whiteboard] Chapter 3: 3.1-3.2 EX2
R 2/5 Register allocation [whiteboard, marked notes] Chapter 3: 3.3
5 T 2/10 Register allocation [whiteboard, marked notes] Chapter 3: 3.4-3.5
R 2/12 Register allocation [whiteboard, marked notes] Chapter 3 HW3 due 2/14
6 T 2/17 Data types and polymorphism [whiteboard] Chapter 4: 4.1-4.4 EX3
R 2/19 Data types and polymorphism [whiteboard] Chapter 4: 4.6-4.10
7 T 2/24 Data types and polymorphism [whiteboard] Chapter 4: 4.5
R 2/26 Data types and polymorphism [whiteboard, marked notes] Chapter 4 HW4 due 2/28
8 T 3/3 Midterm review [whiteboard] EX4
R 3/5 Midterm exam
9 T 3/10 Functions [whiteboard, marked notes] Chapter 5: 5.1-5.3
R 3/12 Functions [whiteboard, marked notes] Chapter 5: 5.4-5.5 Pre-Proposal due 3/14
10 T 3/17 Functions [whiteboard] Chapter 5
R 3/19 Functions [whiteboard] Chapter 5 HW5+Proposal due 3/21
11 T 3/24 No class: spring break
R 3/26 No class: spring break
12 T 3/31 Objects [whiteboard, marked notes] Chapter 6
R 4/2 Objects [whiteboard, marked notes] Chapter 6
13 T 4/7 Objects [whiteboard, marked notes] Chapter 6 EX5
R 4/9 Objects [whiteboard, marked notes] Chapter 6 HW6+Status due 4/11
14 T 4/14 Compiler optimization and static analysis [whiteboard] EX6
R 4/16 Final review [whiteboard]
15 T 4/21 Compiler optimization and static analysis: Array-bounds--check elimination and the interval abstraction
Guest Lecturer: Jed McClurg
R 4/23 Final exam
16 T 4/28 Final project presentations
R 4/30 Final project presentations
17 T 5/5 Finals week Paper due
R 5/7 Finals week