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 HHS 1210. 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

Here is the detailed per-week course schedule:

August
Su M Tu W Th F Sa
30 31
Course intro
September
Su M Tu W Th F Sa
1
Reading: Decaf
Reading: EAC 1.1-1.4
2
Decaf programming activity
3n+1 Problem
3 4
Code review activity
5
6 7
Regular expressions and finite automata
8
Reading: EAC 2.1-2.3

Deadline to drop class

CS Senior Night (5pm-6:30pm)
9
Review
10 11
Regex activity
MiniLexer.java
PA1 due
12
13 14
NFA/DFA conversions and lexers
15
Reading: EAC 2.4-2.5
16
Review
17 18
FA conversion activities

PA 1 code review due
19
20 21
Context-free grammars

CS Career Fair (10am-3pm, ISAT/CS 259)

Tech talk: "Fuzzy Logic" (5pm, ISAT/CS 259)
22
Reading: EAC 3.1-3.2, 3.5.2
23
Review
24 25
Grammar activity
PA2 due
26
27 28
LL(1) parsing
29
Reading: EAC 3.3, 3.5.3, 5.2.1
30
LL(1) activity
ExprParser.java

Midterm review session (ISAT 246, 2:45pm)
October
Su M Tu W Th F Sa
1 2
Midterm 1

PA 2 code review due
3
4 5
Bottom-up parsing
PA3/ASTs
6
Reading: EAC 3.4, 5.2.1
7
Review

SLR example
8 9
LR(0)/SLR parsing activity
10
11 12
Visitor Pattern
13
Reading: Visitor pattern excerpt
14
Review

UUG Vim Tutorial (7:30pm in HHS 2207)
15 16
Visitor pattern activity
PA3 due
17
18 19
Static analysis
20
Reading: EAC 4.1-4.3, 4.5.1, 5.2, 5.5
21
Review
22 23
Symbol tables activity
symtable_ex1.decaf
symtable_ex2.decaf

PA3 code review due
24
25 26
Code generation
27
Reading: EAC 4.4, 5.3-5.4, 7.1-7.8
28
Review
29
Deadline to withdraw with "W"
30
ILOC code activity
Reference
PA4 due
31
November
Su M Tu W Th F Sa
1 2
Runtime environments
3
Reading: EAC 6, 7.9
4
Review

UUG Go Tutorial (7:30pm in ISAT 243)
5 6
Code generation activity
MyILOCGenerator.java
PA4 code review due
7
8 9
Dataflow analysis
10
Reading: EAC 5.2.2, 5.3.4, 8.6.1, 9.1-9.2
11
Review
12 13
Midterm 2
14
15 16-20
Instructor out of town
Self-study unit: general optimization topics
Reading: EAC 8
20
PA5 due
21
22 23-27
Thanksgiving Break
28
29 30
Register allocation
December
Su M Tu W Th F Sa
1
Reading: EAC 13
2
Review
3 4
Register allocation activity
PA5 code review due
5
6 7
Instruction scheduling
8
Reading: EAC 12
9
Misc. topics
10 11
Final exam review
(MM | PDF)
PA6 due
12
13 14-18
Final Exam
Fri 10:30-12:30 (10:30am-12:30pm)