COMP 105 pages: | Admin | Calendar | Syllabus | ML | Homework | Solutions | Coding Style |
Coding Rubric |
Lecture Notes |
Recitation Notes |
Stats |
---|
September 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
27 |
28 |
29 |
30 |
31 |
1 |
2 |
3 |
4 |
5 |
6 Introduction; imperative core; unit-testing; ASTs and environments Read:
Topic: Course intro; recursion; an imperative core; unit-testing; abstract syntax and environments |
7 |
8 |
9 |
10 |
11 Operational semantics; metatheory Read Ramsey, Chapter 1 Topic: Abstract syntax and environments; Inference rules and evaluation |
12 |
13
Operational semantics; metatheory Topic: Derivations; metatheory |
14 |
15 |
16 |
17 |
18 Scheme I: 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: S-expressions, |
19 |
20
Scheme I: Recursive programming with lists Topic: The cost of |
21 |
22 |
23 |
24 |
25 Scheme II: first-class and higher-order functions Read Ramsey, Chapter 2. Topic: The |
26 |
27
Scheme II: first-class and higher-order functions Topic: Higher-order functions on lists; currying; tail calls |
28 |
29 |
30 |
October 2017 → |
October 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
1 |
2 Scheme III: continuation passing, semantics Topic: Continuations |
3 |
4
Scheme III: continuation passing, semantics Topic: Operational semantics of uScheme |
5 |
6 |
7 |
8 |
9 No class: Indigenous Peoples' Day |
10 |
11 Introduction to ML Read The guide Learning Standard ML Topic: Introduction to ML |
12 |
13 |
14 |
15 |
16
Introduction to ML Topic: Algebraic data types; Case statements and pattern matching; Introduction and elimination; Exceptions |
17 |
18 Type systems Read Ramsey, Chapter 6. Topic: Type systems and type checking |
19 |
20 |
21 |
22 |
23 Type systems Topic: Polymorphic type checking |
24 |
25 Homework for Introduction to ML is due. Type systems Topic: Type-checking from a high level; Three environments |
26 |
27 |
28 |
29 |
30 Midterm Review Topic: What we've done so far |
31 |
1 In-class midterm exam: Operational Semantics, Functional Programming, ML, Type systems |
2 |
3 |
4 |
← September 2017November 2017 → |
November 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
29 |
30 Midterm Review Topic: What we've done so far |
31 |
1 In-class midterm exam: Operational Semantics, Functional Programming, ML, Type systems |
2 |
3 |
4 |
5 |
6 ML type inference Read Ramsey, Chapter 7 Topic: Type inference using constraints; Constraint solving and type inference |
7 |
8 Homework for Type systems is due. ML type inference Topic: Generalization |
9 |
10 |
11 |
12 |
13 ML type inference Topic: Type inference at let bindings |
14 |
15 Modules and abstract types Read:
Topic: Introduction to data abstraction; signatures and structures |
16 |
17 |
18 |
19 |
20 Homework for ML type inference is due. Modules and abstract types Topic: Functors; Modules example: error-producing computations |
21 |
22 No class: Thanksgiving Break |
23 |
24 |
25 |
26 |
27 Smalltalk: Object-oriented programming Read Selected parts of Ramsey, Chapter 11 Topic: Objects; protocols; message passing |
28 |
29 Smalltalk: Object-oriented programming Topic: Inheritance |
30 |
1 |
2 |
← October 2017December 2017 → |
December 2017 | ||||||
---|---|---|---|---|---|---|
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
26 |
27 Smalltalk: Object-oriented programming Read Selected parts of Ramsey, Chapter 11 Topic: Objects; protocols; message passing |
28 |
29 Smalltalk: Object-oriented programming Topic: Inheritance |
30 |
1 |
2 |
3
|
4 Smalltalk: Object-oriented programming Topic: Class hierarchies; The collection classes |
5 |
6 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 |
7 |
8 |
9 |
10
|
11 Retrospective Topic: Programming-languages retrospective |
12 |
13 |
14 Final exam: 8:30 AM to 10:30 AM. Room: Barnum 08. |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
1 |
2 |
3 |
4 |
5 |
6 |
← November 2017 |