Programming Languages

Schedule

Lecture Hours: 10:30am - 11:45am on Mondays and Wednesdays
Lecture Location: Singer 350
Lab Location: Martin 313

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 TESTS
(in lab)
1

Sep 01

(no class: Labor Day)

Lecture Notes
Lecture Video (Sep 02)

Introduction to OCaml

Lab 1: Introduction to OCaml (AC1)

(first lecture in lab)

Sep 03

Lecture Notes
Lecture Video

2

Sep 08

Lecture Notes
Lecture Video

Higher-Order Functions and OCaml Type Inference

Syllabus Quiz: TSQ

Sep 10

Lecture Notes
Lecture Video

3

Sep 15

Drop/add ends

A Brief Introduction to Logic

Lab 2: Higher-Order Functions and Trees (AC2)

Test: TC1

Sep 17

Syntax and Semantics

  • Sections 2.1 – 2.2
4

Sep 22

Operational Semantics; F♭

  • Sections 2.3.1 – 2.3.3

Lab 3: Proofs and Proof Systems (APS)

Test: TC2

Sep 24

5

Sep 29

The Y Combinator

  • Section 2.3.5

Lab 4: F♭ Interpreter (AOF)

Exam 1 + TPS

Oct 01

Tuples

  • Sections 2.3.4, 3.1
6

Oct 06

Records and Variants

  • Sections 3.2 – 3.3

Lab 5: Encoding in F♭ (AER)

Test: TOF

Oct 08

State

  • Sections 4.1 – 4.3

Oct 13

Fall Break

Oct 15

7

Oct 20

Exceptions

  • Sections 4.4, 5.1

Lab 6: Operational Semantics of Structure (AOR)

Test: TER

Oct 22

Object-Oriented Semantics

  • Chapter 5
8

Oct 27

Types and Typechecking

  • Sections 6.1 – 6.4

Lab 7: Operational Semantics of Side Effects (AOE)

Exam 2 + TOR

Oct 29

9

Nov 03

Subtypes

  • Section 6.5

Lab 8: Type Systems for Functional Programs (ATF)

Test: TOE

Nov 05

CR/NC/W Deadline (Nov 07)

Type Inference

  • Section 6.6
10

Nov 10

Lab 9: Type Systems for Structure and State (ATS)

Test: TTF

Nov 12

Operational Equivalence

  • Section 2.4
11

Nov 17

Proofs of Proof Systems

Lab 10: EF♭ Type Inferencer (AI1, AI2)

Test: TTS

Nov 19

12

Nov 24

TF♭ Soundness

Exam 3 + TTB

Nov 26

13

Dec 01

Theory and Practice

Lab 11: Proof System Proofs (AMT)

Test: TOQ

Dec 03

Review

14

Dec 08

(Test)

Test: TMT (in class on Monday)

Dec 14

Final Exam Period Begins