Schedule subject to change as course progresses. |
Lecture topics (in italics) for not yet given lectures are preliminary, and may change. |
Lecture Videos by Date |
Class | Date
| Topic |
Lecture slides (pdf) |
1 |
June 1 |
Course Intro and Introduction to OCaml |
Slides
[PDF]
[OCaml Code]
|
2 |
June 2 |
OCaml - tuples and lists |
Slides
[PDF]
|
3 |
June 4 |
OCaml - type definitions, abstract syntax |
Slides
[PDF]
|
4 |
June 8 |
Language implementation overview |
Slides
[PDF]
|
5 |
June 9 |
Lexical analysis |
Slides
[PDF]
|
6 |
June 11 |
Regular expressions, Ocamllex |
Slides
[PDF]
|
7 |
June 15 |
Parsing - context-free grammars, recursive descent parsing |
Slides
[PDF]
Code
[ZIP]
|
8 |
June 16 |
Top-down parsing |
Slides
[PDF]
Example answers
[TXT]
|
9 |
June 18 |
Bottom-up (shift/reduce) parsing |
Slides
[PDF]
|
10 |
June 22 |
LR parsing - conflict resolution |
Slides
[PDF]
LR Theorem
[PDF]
|
11 |
June 23 |
Code generation |
Slides
[PDF]
|
12 |
June 25 |
More code generation |
Slides
[PDF]
|
13 |
June 29 |
Garbage collection, runtime systems |
Slides
[PDF]
|
|
June 30 |
Midterm Review |
Slides
[PDF]
|
|
July 2 |
MIDTERM (11:30-12:45, location: 1304 SC) |
|
14 |
July 6 |
History of programming languages |
Slides
[PDF]
|
15 |
July 7 |
APL |
Slides
[PDF]
APL Reference
[PDF]
|
16 |
July 9 |
Functional programming: higher-order functions |
Slides
[PDF]
|
17 |
July 13 |
More higher-order functions |
Slides
[PDF]
|
18 |
July 14 |
Even more higher-order functions |
Slides
[PDF]
|
19 |
July 16 |
Functional programming in OO languages |
Slides
[PDF]
|
20 |
July 20 |
Inference systems; formalizing operational semantics |
Slides
[PDF]
|
21 |
July 21 |
Type semantics |
Slides
[PDF]
Examples
[PDF]
|
22 |
July 23 |
Operational semantics |
Slides
[PDF]
Examples
[PDF]
Handout
[PDF]
|
23 |
July 27 |
Hoare logic for imperative languages |
Slides
[PDF]
|
24 |
July 28 |
More Hoare logic |
Slides
[PDF]
|
25 |
July 30 |
Advanced topics: lazy evaluation, lambda-calculus |
Slides
[PDF]
|
26 |
August 3 |
Advanced topics: functional programming for parallelism |
Slides
[PDF]
|
|
August 4 |
Final Review |
Slides
[PDF]
|
27 |
August 6 |
Advanced topics: ActorNet |
Slides
[PDF]
|
|
August 8 |
FINAL EXAM (1-3pm, location: 1105 SC)
I2CS students: August 7 |
|