August 2010
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24

Class 1:
Introduction to Programming Languages

Monday Schedule
25

Class 2:
Intro to Scheme & Functional Programming
26 27

Lab 1:
Scheme: more intro
28
29 30

Class 3:
Scheme Lists I

Scheme Lab 1 due
31        

September 2010
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
      1

Class 4:
Scheme Lists II

Scheme Lab 2 due
2 3

Lab 2:
Scheme: first-class functions, map, apply, eval

Scheme Lab 3 due
4
5 6

Labor Day
7 8

Class 5:
Scheme: list internals, tail-recursion, letrec

Scheme Labs 4 and 5 due
9 10

Lab 3:
Breaking the functional paradigm

Scheme Labs 4 and 5 due (1 day late)
11
12 13

Class 6:
Specifying syntax

Scheme HW due

Scheme Lab 6 due
14 15

Class 7:
Scanning
16 17

Lab 4:
Tokenization and Parsing

Scheme Lab 8 due
18
19 20

Class 8:
Parsing: top-down, bottom-up
21 22

Class 9:
Parsing - Recursive descent / table-driven top-down
23 24

Lab 5:
Parse Lab I
25
26 27

Class 10:
Parsing - Shift-Reduce and SLR Parsing. NOTE: some typos online. See corrected version passed out in class.
28 29

6 Week Exam
30    

October 2010
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
          1

Lab 6:
Parse Lab II
2
3 4

Exam Debrief (6 Weeks in 1 day!)
5

6Wk Grades Due
6

Class 11:
Parsing - First and Follow and more SLR

HW11 solution
7

6Wk MAPRS Due
8

Lab 7:
LR Parsing & Assoc/Prec
9
10 11

Columbus Day
12 13

Class 12:
Semantic Analysis I
14 15

Lab 8:
Abstract Syntax Trees
16
17 18

Class 13:
Names, scopes, lifetimes I
19 20

Class 14:
Names, scopes, lifetimes II
21 22

Lab 9:
Interpreting an Abstract Syntax Tree
23
24 25

Class 15:
Names, scopes, lifetimes III
26 27

Class 16:
Built-ins, scripting applications, etc
28 29

Lab 10:
Scripting WormWorld

(tips/gotchas)
30
31            

November 2010
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
  1

Class 17:
Closures and lexical scope with Frames
2 3

Class 18:
Static vs. Dynamic Typing: Implementation
4 5

Lab 11:
Implementing lexical scoping with frames
6
7 8

12 Week Exam
9

12Wk Grades Due
10

Exam Debrief
11

Veteran's Day
12

Lab 12:
Dynamic Type Checking
13
14 15

Comp. time
16 17

Class 19:
Expressions and assignments
18 19

Lab 13:
Garbage Collection
20
21 22

Class 20:
More on l-values vs. r-values
23 24

Class 21:
Macros vs. functions, applicative vs. normal order evaluation
25

Thanksgiving
26

Digestion Day
27
28 29

Class 22:
Function call to function body (hopefully a bit of Implementing virtual functions)
30        

December 2010
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
      1

Class 23:
Gotos considered interesting
2 3

Lab 14:
Compiling for a Virtual Machine
4
5 6

Class 24:
SEIC: Security & Society & Programming Languages
7 8 9 10

Lab 15:
Finishing Compiling for a Virtual Machine
11
12 13

VM Lab 15 due (0800)

Study Day
14

SI413 final exam (1930, in MI303)
15 16 17 18
19 20 21

Last Day of Exams
22 23 24 25
26 27 28 29 30 31