Calendar

This calendar is tentative and subject to change. Please check this page regularly for updates.

Unless explicitly marked, all class periods will be held in King 243. Unless noted otherwise, all readings are from the class textbook. Unless noted otherwise, all quizzes will be on Canvas, and all homeworks (HWs) and programming assignments (PAs) will be posted on the assignments page.

Slide links may be inactive until shortly after class. If they are still inaccessible by 8pm the evening after the lecture, please feel free to send me a reminder via email to post them.

The following diagram shows the outline of a typical week in this class:

Monday Tuesday Wednesday Thursday Friday
In-class Recap & mini-lecture topic intro Discussion and problem solving Group work lab
Out-of-class Initial reading & quiz Detailed reading
Project work Project work Project work Project work Project work
August
Su M Tu W Th F Sa
23 24 25 26
Introduction
27
QUIZ: EAC 1.1-1.4
28
Lab
29
30 31
Regular Expressions and Finite Automata
September
Su M Tu W Th F Sa
1
QUIZ: EAC 2.1-2.3
2
Discussion
3 4
Lab

P0 due
5
6 7
Automata Conversions and Lexing
8
QUIZ: EAC 2.4-2.5, 2.6.1
9
Discussion
10 11
Lab

P0 code reviews due
12
13 14
Grammars
15
QUIZ: EAC 3.1-3.2, 3.5.2
16
Discussion
17 18
Lab

P1 due
19
20 21
Midterm 1
22 23
LL parsing
24
QUIZ: EAC 3.3, 3.5.3, 5.2.1
25
P2 jumpstart
26
27 28
LR parsing
29
QUIZ: Dragon Book 4.5 (on Canvas), 4.6 and EAC 5.2.1
30
Discussion
October
Su M Tu W Th F Sa
1 2
Lab

P2 milestone due
3
4 5
Type systems and the visitor pattern
6
QUIZ: Type system intro and visitor pattern excerpt (on Canvas)
7-9
Fall Break
10
11 12
Static analysis
13
QUIZ: EAC 4.1-4.3, 4.5.1, 5.2, 5.5
14
P3 jumpstart
15 16
Lab

P2 due
17
18 19
Midterm 2
20 21
Code generation
22
QUIZ: EAC 4.4, 5.3-5.4, 7.1-7.8
23
Lab

P2 code reviews due
24
25 26
QUIZ: EAC 6, 7.9
Runtime environments
27
QUIZ: EAC 6, 7.9

Deadline to drop without 'W' (verify date)
28
P4 jumpstart
29 30
Lab

P3 due
31
November
Su M Tu W Th F Sa
1 2
Data-flow analysis
3
QUIZ: EAC 5.2.2, 5.3.4, 8.6.1, 9.1-9.2, 9.3.6
4
Discussion
5 6
Lab
7
8 9
Register allocation
10
QUIZ: EAC 13
11
Discussion
12 13
Lab

P4 milestone due
14
15 16-19
Self-study unit: general optimization topics (slides)
Reading: EAC 8
20
QUIZ: EAC 8

P4 due
21
22 23-27
Thanksgiving Break
28
29 30
List scheduling
December
Su M Tu W Th F Sa
1
QUIZ: EAC 12
2
P5 jumpstart
3 4
Lab

P4 code reviews due
5
6 7
Final exam review
8

P5 due
9
Project evaluations
10 11
Project evaluations
12
13 14 15 16
Final Exam (1:00-3:00 PM)
17 18 19