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 |