CS 105:  Modules  Calendar  Office Hours 
Syllabus  ML  Coding Style 
Coding Rubric 

September 2022  

Sunday  Monday  Tuesday  Wednesday  Thursday  Friday  Saturday 
28 
29 
30 
31 
1 
2 
3 
4 
5 
6 Scan the syllabus Get the textbook Programming Languages: Build, Prove, and Compare, from Donna Cirelli Consider ordering the Ullman book in time for early October 
7 Introduction; proof systems and algebraic laws Read:
Topic: Programming with proof systems and laws 
8 Recitation: Datadriven, ruledriven programming process 
9 Read about the experiences of successful students, and read the tips for CS 105 students Recitation: Datadriven, ruledriven programming process 
10 
11 
12 Operational semantics; metatheory Read:
Topic: Operational semantics 
13

14 Operational semantics; metatheory Topic: Operational semantics 
15 Recitation: Derivation trees, semantic rules, preview of metatheory 
16 Grading party for impcore. Get the takehome handout on metatheory Recitation: Derivation trees, semantic rules, preview of metatheory 
17 
18 
19 Operational semantics; metatheory Topic: Operational semantics 
20

21 Scheme I: Recursive programming with lists Read Selected parts of Ramsey, Chapter 2, as described in the comprehension quesions Topic: Scheme 
22 Recitation: Scheme list functions, calculational proofs, functions with accumulating parameters 
23 Grading party for opsem. Recitation: Scheme list functions, calculational proofs, functions with accumulating parameters 
24 
25 
26 Scheme II: firstclass and higherorder functions Read Selected parts of Ramsey, Chapter 2, as described in the homework. Topic: Higherorder functions 
27

28 Scheme II: firstclass and higherorder functions Topic: Higherorder functions 
29 Recitation: Higherorder functions on lists, abstracting over comparison functions 
30 Grading party for scheme. Recitation: Higherorder functions on lists, abstracting over comparison functions 
1 
October 2022 → 
October 2022  

Sunday  Monday  Tuesday  Wednesday  Thursday  Friday  Saturday 
25 
26 Scheme II: firstclass and higherorder functions Read Selected parts of Ramsey, Chapter 2, as described in the homework. Topic: Higherorder functions 
27

28 Scheme II: firstclass and higherorder functions Topic: Higherorder functions 
29 Recitation: Higherorder functions on lists, abstracting over comparison functions 
30 Grading party for scheme. Recitation: Higherorder functions on lists, abstracting over comparison functions 
1 
2 
3 Scheme III: continuation passing, semantics Topic: Continuations 
4

5 Scheme III: continuation passing, semantics Topic: Continuations 
6 Recitation: Searching with success and failure continuations 
7 Grading party for hofs. Recitation: Searching with success and failure continuations 
8 
9 
10 No class: Indigenous Peoples' Day 
11

12 Introduction to ML Read The guide Learning Standard ML Topic: ML 
13 No recitations this week 
14 Grading party for continuations. No recitations this week 
15 
16 
17 Introduction to ML Topic: ML 
18 
19 Type systems Topic: Type systems 
20 Recitation: Patterns and types in Standard ML 
21 Recitation: Patterns and types in Standard ML 
22 
23 
24 Type systems Topic: Type systems Any day this week: If you haven't already, visit the instructor's office hours for five minutes (deadline is October 31). 
25 Homework for Introduction to ML is due. 
26 Type systems Topic: Type systems 
27 Recitation: Type rules and type checking 
28 Grading party for ml. Recitation: Type rules and type checking 
29 
30 
31 ML type inference Topic: Type inference 
1 
2 ML type inference Topic: Type inference 
3 Homework for Type systems is due. Recitation: Programming Typed uScheme or regression testing of type checker 
4 Recitation: Programming Typed uScheme or regression testing of type checker 
5 
← September 2022November 2022 → 
November 2022  

Sunday  Monday  Tuesday  Wednesday  Thursday  Friday  Saturday 
30 
31 ML type inference Topic: Type inference 
1 
2 ML type inference Topic: Type inference 
3 Homework for Type systems is due. Recitation: Programming Typed uScheme or regression testing of type checker 
4 Recitation: Programming Typed uScheme or regression testing of type checker 
5 
6 
7 ML type inference Topic: Type inference 
8 Grading party for typesys. Recitation: Solving conjunction constraints 
9 Modules and abstract types Read:
Topic: Modules 
10 Recitation: Solving conjunction constraints 
11 No recitations (Veterans' Day) (makeup Tuesday) 
12 
13 
14 Modules and abstract types Topic: Modules 
15 Homework for ML type inference is due. 
16 Lambda calculus Read:
Topic: Lambda calculus 
17 Recitation: Modules: Abstraction functions, representation invariants 
18 Grading party for mlinf. Recitation: Modules: Abstraction functions, representation invariants 
19 
20 
21 Lambda calculus Topic: Lambda calculus 
22

23 No class: Thanksgiving Break 
24 
25 
26 
27 
28 Smalltalk: Objectoriented programming Read Selected parts of Ramsey, Chapter 10 Topic: Smalltalk 
29 
30 Smalltalk: Objectoriented programming Topic: Smalltalk 
1 Recitation: Getting started with Smalltalk 
2 Grading party for sml. Recitation: Getting started with Smalltalk 
3 
← October 2022December 2022 → 
December 2022  

Sunday  Monday  Tuesday  Wednesday  Thursday  Friday  Saturday 
27 
28 Smalltalk: Objectoriented programming Read Selected parts of Ramsey, Chapter 10 Topic: Smalltalk 
29 
30 Smalltalk: Objectoriented programming Topic: Smalltalk 
1 Recitation: Getting started with Smalltalk 
2 Grading party for sml. Recitation: Getting started with Smalltalk 
3 
4 
5 Smalltalk: Objectoriented programming Topic: Smalltalk 
6 
7 Smalltalk: Objectoriented programming Topic: Smalltalk 
8 Recitation: Abstract base classes, double dispatch 
9 Recitation: Abstract base classes, double dispatch 
10 
11 
12 Retrospective Topic: my answers to your questions 
13

14 
15 
16 
17 Grading party for small. 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
← November 2022 