Skip to content
CS 2800: Logic and Computation
Schedule
Initializing search
CS 2800: Logic and Computation
Course Info / Office Hours
Syllabus
Schedule
Schedule
Table of contents
Schedule
OCaml Cheat Sheet
Lectures
Lectures
Lecture 1.2: Class Overview
Lecture 1.3: Getting Started with OCaml; Calculator Expressions
Lecture 2.1: More about functions; strings and printing; specifying max3
Lecture 2.2: Lists, Pairs, Option types; Recursion; Formalizing a property using lists
Lecture 2.3: Defining New Types; more experience writing properties
Lecture 3.1: Specification and Testing
Lecture 3.2: Working with Specifications
Lecture 3.3: More PBT
Lecture 4.1: Polymorphism
Lecture 4.2: Generic Testing via Polymorphism
Lecture 4.3: More about Interfaces; Differential Testing for Interfaces
Lecture 5.1: Modules via .mli files
Lecture 5.2: Manipulating Modules
Lecture 5.3: Type Invariants
Lecture 6.1: Parameterizing Programs by Modules
Lecture 6.2: More Uses of Functors
Midterm Exam
Lecture 7.2: Mutability
Lecture 7.3: Reasoning about Mutability
Lecture 8.1: State Machines
Lecture 8.2: State Machines
Lecture 8.3: Concurrency
Lecture 9.1: Abstract Syntax for a calculator expression language
Lecture 9.2: Interpreting Calc
Lecture 9.3: Binding
Lecture 10.1: Introduction to Type Checking
Lecture 10.2: More Type Systems
10.3: Special Topic: Dimension-Safe Matrix Multiplication
Homework
Homework
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Homework 6
Homework 7
Homework 8
Homework 9
Homework 10
Table of contents
Schedule
Schedule
Schedule