Class

Week

Date

Day

Topic

Reading

Assignment

1

1

J16

W

Introduction (H1 out)



2

2

J21

M

Basics and lexing (P1 out)

1 (skim), 2-2.2.2


3


J23

W

Top-down parsing

2.2.3;2.2.5

H1:flex/yacc

4

3

J28

M

Bottom-up parsing

2.2.6 (skip *)


5


J30

W

Syntax theory and names

2.3; 3-3.2


6

4

F04

M

Scope and binding (P2 out)

3.3-3.4

P1:Lex/parse

7


F06

W

Overloading (H2 out)

3.5-3.6 (skip *)


8

5

F11

M

Semantic analysis

4-4.4


9


F13

W

Type checking (H3 out)

7-7.2.4 (skim 7.1)

H2: Symbol table

10

6

F18

M

Records, arrays, strings, sets

7.3-7.6 (skip *)


11


F20

W

Pointers and lists

7.7-7.8


12

7

F25

M

Control flow: exprs (P3 out)

6-6.4

P2:Type check

13


F27

W

Control flow: loops, recursion

6.5-6.6

Draft proposal

14

8

M04

M

Slack or review



15


M06

W

Mid term

Chapters 1-4, 6, 7


16

9

M18

M

Subroutines

8-8.2.2


17


M20

W

Parameter passing

8.3-8.4 (skip *)

H3: Proposal (F)

18

10

M25

M

Exceptions and coroutines (H4 out)

8.5-8.6.3


19


M27

W

Runtime

9-9.6 (skip *)


20

11

A03

W

Data abstraction

10-10.2

P3:Code gen

21

12

A08

M

Data abstraction

10.3-10.4


22


A10

W

Data abstraction

10.6


23

13

A15

M

Alternative models

11-11.2 (skip *)

H4

24


A17

W

Alternative models

11.3-11.4 (skip *)


25

14

A22

M

Code improvement

13-13.2;13.8


26


A24

W

Slack



27

15

A29

M

Presentations (all week)


P4:Project

28


M01

W

Presentations (all week)




16

M06

M

Final

Everything