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 |