| DATE |
LEC |
TOPIC |
TEXT |
READINGS |
HW |
| 1/18 |
1 |
Organization, Overview, Getting Started |
|
|
|
| 1/22 |
2 |
Programming Concepts: Compound Values, Partial Values, Lists, Pattern Matching |
VRH |
Preface [Browse as you like], 1.1-1.9, Appendix A.1 for
Mozart/Oz, Appendix B.1 |
| TO DO: install Mozart on your PC |
| HW 1 out (in lecture notes) |
|
| 1/25 |
3 |
Programming Concepts: Correctness, Complexity, Higher-Order
Programming, Towards the Model |
VRH |
1.10-1.18, 2.1 |
TO DO: install Subversion |
| 1/29 |
4 |
Syntax Specification; Kernel Language Syntax |
VRH |
2.2 & 2.3 [careful], 2.4 [browse] |
|
| 2/1 |
5 |
Semantics, Kernel Language, Computational Model |
VRH |
2.4 [careful], 2.5 [browse] |
|
| 2/5 |
6 |
Abstract Machine |
VRH |
2.4 [again] |
HW 1 due |
| 2/8 |
7 |
Abstract Machine: Procedures, Lexical Scoping |
VRH |
2.5 [careful] |
HW 2 out |
| 2/12 |
8 |
Recursive Procedures and Last Call Optimization |
VRH |
2.5 [again] |
|
| 2/15 |
9 |
From Kernel Language to Practical Language; Exception Handling |
VRH |
2.6 [careful], 2.7 [careful] |
|
| 2/20 |
10 |
(Tues) Iterative Computations |
VRH |
3-3.2, 3.4-3.4.2.6 |
HW 2 due |
| 2/22 |
11 |
Higher-order Programming |
VRH |
3.4.8 (Parsing), 3.6 |
|
| 2/26 |
|
Midterm Exam |
|
|
|
| 3/1 |
12 |
Abstract Data Types |
VRH |
3.7 |
|
| 3/5 |
|
SPRING BREAK |
|
|
|
| 3/8 |
|
SPRING BREAK |
|
|
|
|
3/12 |
13 |
Declarative Concurrency: Threads, Data Flow, Streams |
VRH |
4.1-4.3 |
|
| 3/15 |
14 |
Lazy Evaluation |
VRH |
4.4-4.5.3 |
HW 3 out |
| 3/19 |
15 |
Demand-Driven Evaluation: RC-Circuit Example, auxiliary file: SimGraph.oz |
VRH |
4.5 |
|
| 3/22 |
16 |
Message Passing/Agents |
VRH |
5-5.3 |
|
| 3/26 |
17 |
Agents With State; Erlang |
VRH |
5.4, 5.7 |
|
| 3/29 |
|
No Class |
|
|
|
| 4/2 |
18 |
Explicit State |
VRH |
6-6.3 |
HW 3 due |
| 4/5 |
20 |
Reasoning with State; Object Oriented Programming |
VRH |
6.6, 7-7.2 |
|
| 4/9 |
21 |
Object Oriented Programming |
VRH |
7.3-7.5, 7.7 |
HW 4 out |
| 4/12 |
22 |
Active Objects |
VRH |
7.8 |
|
| 4/16 |
23 |
Relational Programming |
VRH |
9-9.3 |
|
| 4/19 |
24 |
Natural Language Parsing; Prolog |
VRH |
9.4, 9.7 |
|
| 4/23 |
25 |
Lambda Calculus (Medha Atre);
Intel C++ Compiler Optimization (Yu Sheng & Jiao Tao);
Foreign Language Support in Matlab (Christos Boutsidis) |
|
|
|
| 4/26 |
26 |
Foreign Language Support in R (Akintayo Holder);
Distributed Programming: The Oz Model and
the Google Model (MapReduce) |
VRH |
11-11.6 |
HW 4 due |
| 4/30 |
27 |
GUI Programming (Edward Levee & Andile Metfula);
Review |
VRH |
10 |
|
| 5/9 |
|
Final Exam (Wed 11:30-2:30) |
|
|
|