Programming Languages
Class | Topic | Lecture slides (pdf) |
1 | Introduction to course; intro to OCaml | |
2 | Ocaml - tuples and lists | lecture 2(lecture 2 (ann)) (Supplementary notes for lecture 2) |
3 | OCaml - type definitions, abstract syntax | |
4 | Language implementation overview | |
5 | Lexical analysis | |
6 | Regular expressions, Ocamllex | |
7 | Parsing - context-free grammars, recursive descent parsing | lecture 7(lecture 7 ann) (Code from lecture: 1, 2, 3,1b, 2b, 3b, 3c) |
8 | Top-down parsing | |
9 | Bottom-up (shift/reduce) parsing | |
10 | LR parsing - conflict resolution | lecture 10(lecture 10 ann) (supplement to lecture 10) (The LR theorem) |
Review for midterm 1 (optional) | ||
Midterm 1 - 180 Bevier Hall, 7-8:30PM | ||
11 | Code generation | |
12 | Code generation (cont.) | |
13 | Garbage collection; run-time systems for dynamic languages | |
14 | History of programming languages | |
15 | APL | |
16 | Functional programming: higher-order functions | |
17 | More higher-order functions | |
Spring break | ||
18 | Even more higher-order functions | |
19 | Functional programming in o-o languages | |
20 | Review for midterm 2 (optional) | sample questions(solutions) (12:30 review notes) (2:00 review notes) |
Midterm 2 - 151 Everitt Lab, 7-8:30PM | ||
21 | Inference systems; formalizing operational semantics | |
22 | Type systems | |
23 | Operational semantics | lecture 23 (2-up) (6-up) (Two examples) (handout) (yet another example) |
24 | Hoare logic for imperative languages | |
25 | Hoare logic for imperative languages | |
26 | Advanced topics: Lazy evaluation; lambda-calculus | |
27 | Advanced topics: functional programming for parallelism | |
28 | Wrap-up; review for final; preview of follow-up courses | For review:sp08-final.pdf(solution) - see below. |
No comments:
Post a Comment