January 2015 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
29 |
30 |
31 |
1 |
2 |
5 |
6 |
7 |
8 |
9 |
12 |
13 |
14 Introduction; imperative core; unit-testing; ASTs & environments Read:
Topic: Course intro; recursion; an imperative core; unit-testing; abstract syntax and environments |
15 |
16 |
19 No class: Martin Luther King Day |
20 |
21 Homework for Introduction; imperative core; unit-testing; ASTs & environments is planned to be due. Operational semantics; metatheory Read Ramsey, Chapter 2 Topic: Inference rules and evaluation; proofs and metatheory |
22 |
23 |
26 Operational semantics; metatheory Topic: Semantics and metatheory review |
27 |
28 No class: Winter Storm Juno |
29 |
30 |
February 2015 → |
February 2015 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
2 No class: Winter Storm, Take 2 |
3 |
4 Scheme: Recursive programming with lists Read Ramsey, Chapter 3, Sections 3.1 through 3.6 (plus syntax and semantics in Sections 3.11 and 3.13) Topic: Guest Instructor. S-expressions, cons, and its algebraic laws; Programming with recursion and lists using case analysis |
5 |
6 Homework for Operational semantics; metatheory is planned to be due. |
9 No class: Winter Storm, Take 3 |
10 |
11 Scheme: Recursive programming with lists Topic: The cost of cons, append and reverse, the method of accumulating parameters; the let family |
12 |
13 |
16 No class: Presidents' Day |
17 |
18 Homework for Scheme: Recursive programming with lists is planned to be due. Scheme II: first-class and higher-order functions, continuation passing, semantics Read Ramsey, Chapter 3. Topic: Functions as values, introduction to lambda; Using lambda to create escaping functions |
19 Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Higher-order functions on lists; Tail calls and continuations |
20 |
23 Scheme II: first-class and higher-order functions, continuation passing, semantics Topic: Operational semantics of uScheme |
24 |
25 Introduction to ML Read:
Topic: Introduction to ML |
26 |
27 |
← January 2015March 2015 → |
March 2015 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
2 Homework for Scheme II: first-class and higher-order functions, continuation passing, semantics is planned to be due. Introduction to ML Topic: Algebraic data types; Case statements and pattern matching; Introduction and elimination; Exceptions |
3 |
4 Type systems Read Ramsey, Chapter 6. Corrected page 283. Topic: Types: Basics; Type systems and type checking |
5 |
6 |
9 Homework for Introduction to ML is planned to be due. Type systems Topic: Interlude: Midterm Review. |
10 |
11 In-class midterm exam: operational semantics, functional programming |
12 |
13 |
16 No class: Spring Break |
17 |
18 No class: Spring Break |
19 |
20 |
23 Type systems Topic: Types: Polymorphic type checking |
24 |
25 Type systems Topic: Types: Type-checking from a high level; Three environments |
26 |
27 |
30 ML type inference Read Ramsey, Chapter 7 Topic: Type inference using constraints (key book pages: 314-315, 318-327); Constraint solving and type inference (key book pages: 327-330) |
31 |
1 Homework for Type systems is planned to be due. ML type inference Topic: Constraint standardization (key book pages: 327-330); Splitting constraints at let bindings (key book pages: 323-327) |
2 |
3 |
← February 2015April 2015 → |
April 2015 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
30 ML type inference Read Ramsey, Chapter 7 Topic: Type inference using constraints (key book pages: 314-315, 318-327); Constraint solving and type inference (key book pages: 327-330) |
31 |
1 Homework for Type systems is planned to be due. ML type inference Topic: Constraint standardization (key book pages: 327-330); Splitting constraints at let bindings (key book pages: 323-327) |
2 |
3 |
6 Smalltalk: Object-Oriented programming Read Ramsey, Chapter 10. Introctory sections: 10.1, 10.2. Key material for some parts of homework is in Sections 10.3 and 10.5. But you do not need to digest all of those sections. The remaining sections are there in case you find them useful. Section 10.4 contains an extended example, and section 10.6 answers all detailed questions about the semantics of the language. Topic: inheritance |
7 |
8 Smalltalk: Object-Oriented programming Topic: class hierarchies; the collection classes |
9 |
10 Homework for ML type inference is planned to be due. |
13 Standard ML Modules Read:
Topic: Introduction to modules |
14 |
15 Standard ML Modules Topic: Structures, signatures, functors |
16 |
17 |
20 No class: Patriots' Day |
21 |
22 Standard ML Modules Topic: Modules example: error-producing computations |
23 |
24 |
27 Lambda Calculus Topic: Overview of the Lambda Calculus |
28 |
29 Homework for Standard ML Modules is planned to be due. Retrospective Topic: Programming-languages retrospective |
30 |
1 |
← March 2015May 2015 → |
May 2015 | ||||
---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Friday |
27 Lambda Calculus Topic: Overview of the Lambda Calculus |
28 |
29 Homework for Standard ML Modules is planned to be due. Retrospective Topic: Programming-languages retrospective |
30 |
1 |
4 Final exam: 3:30 to 5:30. Anderson Hall 206. |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
1 |
2 |
3 |
4 |
5 |
← April 2015 |