September 2016 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
28 |
29 |
30 |
31 |
1 |
2 |
3 |
4 |
5 |
6 |
7 Introduction; imperative core; unit-testing; ASTs and environments Read:
Topic: Course intro; recursion; an imperative core; unit-testing; abstract syntax and environments |
8 |
9 |
10 |
11 |
12 Operational semantics; metatheory Read Ramsey, Chapter 1 Topic: Inference rules and evaluation; proofs and metatheory |
13 |
14 Homework for Introduction; imperative core; unit-testing; ASTs and environments is planned to be due. Operational semantics; metatheory Topic: Semantics and metatheory |
15 |
16 |
17 |
18 |
19 Scheme: Recursive programming with lists Read Ramsey, Chapter 2, Sections 2.1 through 2.6 (plus syntax and semantics in Sections 2.11 and 2.13) Topic: Guest Lecture:S-expressions, cons, and its algebraic laws; Programming with recursion and lists using case analysis |
20 |
21 Homework for Operational semantics; metatheory is planned to be due. Scheme: Recursive programming with lists Topic: Guest Lecture:The cost of cons, append and reverse, the method of accumulating parameters |
22 |
23 |
24 |
25 |
26 Scheme II: first-class and higher-order functions, continuation passing, semantics Read Ramsey, Chapter 2. Topic: The let family, functions as values, introduction to lambda, using lambda to create escaping functions |
27 |
28 Homework for Scheme: Recursive programming with lists is planned to be due. Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Jared Chandler Higher-order functions on lists and Tail Calls |
29 |
30 |
1 |
October 2016 → |
October 2016 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
25 |
26 Scheme II: first-class and higher-order functions, continuation passing, semantics Read Ramsey, Chapter 2. Topic: The let family, functions as values, introduction to lambda, using lambda to create escaping functions |
27 |
28 Homework for Scheme: Recursive programming with lists is planned to be due. Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Jared Chandler Higher-order functions on lists and Tail Calls |
29 |
30 |
1 |
2 |
3 Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Continuations |
4 |
5 Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Operational semantics of uScheme |
6 |
7 |
8 |
9 |
10 No class: Indigenous Peoples' Day |
11 |
12 Homework for Scheme II: first-class and higher-order functions, continuation passing, semantics is planned to be due. Introduction to ML Read:
Topic: Introduction to ML |
13 |
14 |
15 |
16 |
17 Introduction to ML Topic: Algebraic data types; Case statements and pattern matching; Introduction and elimination; Exceptions |
18 |
19 Type systems Read Ramsey, Chapter 6. Topic: Type systems and type checking |
20 |
21 |
22 |
23 Homework for Introduction to ML is planned to be due. |
24 Type systems Topic: Interlude: Midterm Review |
25 |
26 In-class midterm exam: Operational Semantics, Functional Programming, ML |
27 |
28 |
29 |
30 |
31 Type systems Topic: Polymorphic type checking |
1 |
2 Type systems Topic: Type-checking from a high level; Three environments |
3 |
4 |
5 |
← September 2016 November 2016 → |
November 2016 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
30 |
31 Type systems Topic: Polymorphic type checking |
1 |
2 Type systems Topic: Type-checking from a high level; Three environments |
3 |
4 |
5 |
6 |
7 ML type inference Read Ramsey, Chapter 7 Topic: Type inference using constraints; Constraint solving and type inference |
8 |
9 ML type inference Topic: Generalization |
10 |
11 |
12 Homework for Type systems is planned to be due. |
13 |
14 ML type inference Topic: Type inference at let bindings |
15 |
16 Smalltalk: Object-oriented programming Read Ramsey, Chapter 11. Introductory sections: 11.1, 11.2. Key material for some parts of homework is in Sections 11.3 and 11.5. But you do not need to digest all of those sections. The remaining sections are there in case you find them useful. Section 11.4 contains an extended example, and section 11.6 answers all detailed questions about the semantics of the language. Topic: Inheritance |
17 |
18 |
19 |
20 |
21 Homework for ML type inference is planned to be due. Smalltalk: Object-oriented programming Topic: Class hierarchies; The collection classes |
22 |
23 No class: Thanksgiving Break |
24 |
25 |
26 |
27 |
28 Standard ML Modules Read:
Topic: Introduction to modules |
29 |
30 Standard ML Modules Topic: Structures, signatures, functors |
1 |
2 |
3 |
← October 2016 December 2016 → |
December 2016 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
27 |
28 Standard ML Modules Read:
Topic: Introduction to modules |
29 |
30 Standard ML Modules Topic: Structures, signatures, functors |
1 |
2 |
3 |
4 Homework for Smalltalk: Object-oriented programming is planned to be due. |
5 Standard ML Modules Topic: Modules example: error-producing computations |
6 |
7 Lambda Calculus Read:
Topic: Programming with lambda calculus. What's a calculus? Free variables, Beta reduction, Substitution, and Small-step Semantics; Normal forms, Reduction strategies, Fixed points, Recursion equations, and the Y combinator |
8 |
9 |
10 |
11 Homework for Standard ML Modules is planned to be due. |
12 Retrospective Topic: Programming-languages retrospective |
13 |
14 |
15 Final exam: 8:30 AM to 10:30 AM. Braker 01. |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
← November 2016 |