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 ISAT/CS 236. 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.

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

Monday Tuesday Wednesday Thursday Friday
In-class Recap & new topic intro Mini-lecture and discussion In-class activity
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
26 27
Course intro
28
Reading: Decaf
Reading: EAC 1.1-1.4
29
Decaf programming activity

3n+1 Problem (3np1.decaf)

Tower Problem (tower.decaf)
30
Decaf code submission due
31
Code review activity

Decaf code review due
September
Su M Tu W Th F Sa
1
2 3
Regular expressions and finite automata
4
Reading: EAC 2.1-2.3

Deadline to drop without 'W'
5
Discussion

CS Senior Night (5pm)
6 7
Regex activity
MiniLexer.java

PA1 due
8
9 10
Automata conversions
11
Reading: EAC 2.4-2.5, 2.6.1
12
Discussion
13 14
Lab
15
16 17
Grammars
18
Reading: EAC 3.1-3.2, 3.5.2
19
Discussion
20 21
Lab

PA2 due
22
23 24
LL parsing
25
Reading: EAC 3.3, 3.5.3, 5.2.1
26
LL(1) activity and exam review

Sample LL(1) Parser

Midterm 1 Study Guide
27 28
Midterm 1

PA 2 code review due
29
30
October
Su M Tu W Th F Sa
1
LR parsing
2
Reading: EAC 3.4, 5.2.1
3
Discussion
4 5
Activity
6
7 8
Type systems and the visitor pattern
9
Reading: Type system intro

Reading: Visitor pattern excerpt (Canvas)
10
Discussion
11 12
Activity

Seminar talk (paper)

PA3 due
13
14 15
Static analysis
16
Reading: EAC 4.1-4.3, 4.5.1, 5.2, 5.5
17
Discussion
18 19
Activity (lab.decaf)

PA 3 code review due
20
21 22
Code generation
23
Reading: EAC 4.4, 5.3-5.4, 7.1-7.8
24
Discussion
25

Deadline to withdraw with 'W'
26
Activity

PA4 due
27
28 29
Runtime environments
30
Reading: EAC 6, 7.9
31
Activity

Midterm 2 Study Guide
November
Su M Tu W Th F Sa
1 2
Midterm 2

PA 4 code review due
3
4 5
Dataflow analysis
6
Reading: EAC 5.2.2, 5.3.4, 8.6.1, 9.1-9.2, 9.3.6
7
Discussion
8 9
Activity
10
11 12-15
Instructor out of town
Self-study unit: general optimization topics
Reading: EAC 8
16
PA5 due
17
18 19-23
Thanksgiving Break
24
25 26
Register allocation
27
Reading: EAC 13
28
Discussion
29 30
Activity

PA5 code review due

Seminar talk on RISC-V paper (12:15pm in ISAT/CS 243)
December
Su M Tu W Th F Sa
1
2 3
Instruction scheduling
4
Reading: EAC 12
5
Activity
6 7
Final exam review

Final Study Guide

PA6 due
8
9 10
Exam postponed due to weather
11
Final Exam (20:30pm-22:30pm)
12 13 14 16