COMP 105 pages: | Admin | Calendar | Syllabus | ML | Homework | Solutions | Coding Style |
Coding Rubric |
Lecture Notes |
Recitation Notes |
Stats |
---|
January 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 Introduction; imperative core; unit-testing; ASTs and environments Read:
Topic: Course intro; induction and recursion; an imperative core; unit-testing |
24 |
25 Operational semantics; metatheory Read:
Topic: Abstract syntax and environments; Inference rules and evaluation |
26 |
27 |
28 |
29 |
30 Operational semantics; metatheory Topic: Derivations; metatheory |
31
|
1 Scheme I: Recursive programming with lists Read Selected parts of Ramsey, Chapter 2, as described in the homework Topic: Metatheory wrapup; S-expressions; |
2 |
3 |
4 |
February 2017 → |
February 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
29 |
30 Operational semantics; metatheory Topic: Derivations; metatheory |
31
|
1 Scheme I: Recursive programming with lists Read Selected parts of Ramsey, Chapter 2, as described in the homework Topic: Metatheory wrapup; S-expressions; |
2 |
3 |
4 |
5 |
6 Scheme I: Recursive programming with lists Topic: The cost of |
7
|
8 Scheme II: first-class and higher-order functions Read Selected parts of Ramsey, Chapter 2, as described in the homework. Topic: The |
9 |
10 |
11 |
12 |
13 Scheme II: first-class and higher-order functions Topic: Higher-order functions on lists; currying; tail calls |
14
|
15 Scheme III: continuation passing, semantics Topic: Continuations |
16 |
17 |
18 |
19 |
20 No class: Presidents' Day |
21
|
22 Scheme III: continuation passing, semantics Topic: Midterm course evaluations; Operational semantics of uScheme Evening recitation at 7:00PM |
23 Introduction to ML Read The guide Learning Standard ML Topic: Introduction to ML |
24 |
25 Evening recitation, time TBA |
26 |
27 Introduction to ML Topic: Algebraic data types; Case statements and pattern matching; Introduction and elimination; Exceptions |
28
|
1 Type systems Topic: Type systems and type checking |
2 |
3 |
4 |
← January 2017March 2017 → |
March 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
26 |
27 Introduction to ML Topic: Algebraic data types; Case statements and pattern matching; Introduction and elimination; Exceptions |
28
|
1 Type systems Topic: Type systems and type checking |
2 |
3 |
4 |
5 |
6 Type systems Topic: Polymorphic type checking |
7 Homework for Introduction to ML is due. |
8 No class: Time available for midterm Midterms can be picked up in morning |
9 |
10 Last possible midterm dropoff at 1:00PM |
11 |
12 |
13 Type systems Topic: Type-checking from a high level; Three environments |
14 |
15 ML type inference Topic: Type inference by example |
16 |
17 Homework for Type systems is due. |
18 |
19 |
20 No class: Spring Break |
21 |
22 No class: Spring Break |
23 |
24 |
25 |
26 |
27 ML type inference Topic: Type inference and constraint solving |
28 |
29 ML type inference Topic: Generalization; Instantiation; Type inference at let bindings |
30 |
31 |
1 |
← February 2017April 2017 → |
April 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
26 |
27 ML type inference Topic: Type inference and constraint solving |
28 |
29 ML type inference Topic: Generalization; Instantiation; Type inference at let bindings |
30 |
31 |
1 |
2 |
3 Lambda calculus Read:
Topic: What's a calculus? Programming with lambda calculus. Free variables, Beta reduction, Substitution, and Small-step Semantics |
4 Homework for ML type inference is due. |
5 Lambda calculus Topic: Normal forms, Reduction strategies, Fixed points, Recursion equations, and the Y combinator |
6 |
7 |
8 |
9 |
10 Modules and abstract types Read:
Topic: Introduction to data abstraction; signatures and structures |
11 Homework for Lambda calculus is due. |
12 Modules and abstract types Topic: Functors; Modules example: error-producing computations |
13 |
14 |
15 |
16 |
17 No class: Patriots' Day |
18 |
19 Smalltalk: Object-oriented programming Read Selected parts of Ramsey, Chapter 11 Topic: Objects; protocols; message passing |
20
Recitations cancelled |
21 Recitations cancelled |
22 |
23 |
24 Smalltalk: Object-oriented programming Topic: Inheritance |
25 |
26 Smalltalk: Object-oriented programming Topic: Class hierarchies; The collection classes |
27 |
28 |
29 |
30 |
1 Retrospective Topic: Programming-languages retrospective |
2
|
3 |
4 |
5 |
6 |
← March 2017May 2017 → |
May 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
30 |
1 Retrospective Topic: Programming-languages retrospective |
2
|
3 |
4 |
5 |
6 |
7 |
8 Final exam: 12:00 noon, Barnum 008 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
1 |
2 |
3 |
← April 2017 |