Course Component: Lecture, Laboratory, Tutorial
Prerequisites: CSI 2101, CSI 2120.
This outline is tentative and subject to change as the term progresses. See Brightspace for class notes.
| Topic | Reading (See Required Textbooks and Other Resources) | Date |
|---|---|---|
| An introduction to programming paradigms and concepts | Required: Chapter 1, Mitchell Required: Chapter 13, Gabbrielli and Martini Optional: "Programming Paradigms for Dummies" article |
September 9 |
| An introduction to OCaml | Optional: Real World OCaml, Chapter 1 up to end of "Options" subsection |
September 11-16 |
| Basics of types Simple Data: let declarations and tuples |
Optional: Real World OCaml, Chapter 2 up to end of the "Prefix and Infix Operators" subsection |
September 16-23 |
| Inductive Data Types | Optional: Real World OCaml, Chapter 3 first 2
subsections: "List Basics" and "Using Patterns..." |
September 23-25 |
| Polymorphic Higher-Order Programming | September 25-30 | |
| Defining New Data Types | September 30-October 2 | |
| Modules and Abstract Data Types | Optional: Real World OCaml, Chapter 4, subsections: "Signatures and Abstract Types", "Concrete Types in Signatures", "Nested Modules", "Opening Modules" |
October 2 |
| Mutable Data | Optional: Real World OCaml, Chapter 8, from "Mutable Record and Object Fields and Ref Cells" to end of "Modifying the List" |
October 7-9 |
| Syntax and Semantics | Required: Chapter 4, Mitchell (except 4.2.3, 4.2.4, and 4.3) | October 9-21 |
| Scope, Functions, and Storage Management | Required: Chapter 7, Mitchell | October 21-November 6 |
| Control in Sequential Languages | Required: Chapter 8, Mitchell | November 6-13 |
| Concepts in Object-Oriented Languages | Required: Chapter 10, Mitchell Required: Chapters 11 and 12, Real World OCaml |
November 18-25 |
| Combinators, Pipelines, and Scripting in OCaml | November 25-27 | |
| Concurrent and Distributed Programming | Required: Chapter 14, pages 431-441 and 445-448, Mitchell | November 27-December 2 |
| Axiomatic Semantics | Required: Chapter 3, Section 3.5.3, Sebesta (available on Brightspace) | December 2-4 |