Programming Languages

Schedule

Lecture Hours: 11:20 AM - 12:35 AM on Tuesdays and Thursdays
Lecture Location: Science Center 181
Lab Location: Science Center 256

Calendar

The following is a tentative course calendar; it is subject to change as circumstances dictate.

Captured videos of lecture are linked in the calendar below. The corresponding resources created during those lectures can be found in the Lecture Materials.

WEEK DAY ANNOUNCEMENTS TOPIC & READING ASSIGNMENTS
1

Jan 23

Lecture

Introduction to OCaml

Lab 0: OCaml Introduction

Jan 25

Lecture

2

Jan 30

Lecture

Higher-Order Functions; OCaml Type Inference

Feb 01

Lecture

Lab 1: Higher-Order Functions

3

Feb 06

Lecture

A Brief Introduction to Logic

Feb 08

Lecture

Syntax and Semantics

  • Sections 2.1 – 2.2

Lab 2: Proofs and Proof Systems

4

Feb 13

Lecture

Operational Semantics; F♭

  • Sections 2.3.1 – 2.3.3

Feb 15

Lecture

Lab 3: F♭ Interpreter

5

Feb 20

Lecture

The Y Combinator

  • Section 2.3.5

Feb 22

Lecture

Tuples

  • Sections 2.3.4, 3.1
6

Feb 27

Lecture

Records and Variants

  • Sections 3.2 – 3.3

Mar 01

Lecture

State

  • Sections 4.1 – 4.3

Lab 4: Operational Semantics I

7

Mar 06

Lecture

Exceptions and Objects

  • Sections 4.4, 5.1

Mar 08

Lecture

More Objects

  • Chapter 5

Lab 5: Operational Semantics II

 

Mar 13

Spring Break

Mar 15

8

Mar 20

 

Types and Typechecking

  • Sections 6.1 – 6.4

Mar 22

Lecture

Lab 6: Type Systems I

9

Mar 27

Lecture

Subtypes

  • Section 6.5

Mar 29

Lecture

Type Inference

  • Section 6.6

Lab 7: Type Systems II

10

Apr 03

Lecture

Apr 05

Lecture

Operational Equivalence

  • Section 2.4

Lab 8: EF♭ Type Inferencer

11

Apr 10

Lecture

Proofs of Proof Systems

Apr 12

Lecture

12

Apr 17

Lecture

TF♭ Soundness

Apr 19

Lecture

Lab 9: Proof System Proofs

13

Apr 24

Lecture

Concurrency

  • Chapter 7

Apr 26

Lecture

Lab 10: Actors

14

May 01

Lecture

Existing Languages

May 03

Lecture

Review

 

May 16

Final Exam (2pm-5pm, SCI 199) Study Session Notes