Lectures: Mon 12:55-3:40, Dongshangyuan 105.
Instructor: Kenny Zhu
- SEIEE 03-407 Phone: 3420-4592 Email: kzhu[at]cs[dot]sjtu[dot]edu[dot]cn
Office hours: by appointment via email or ask after class
Teaching Assistant:
Bran Li, Yvonne Huang
Email: likaijian[at]sjtu[dot]edu[dot]cn, huang_yvonne[at]foxmail[dot]com
Office hours: Thu 16:00-17:00 @ SEIEE 03-341
Reference Textbooks:
Assessment:
Class | Date | Topic | Slides | Resources | Homework |
1 | 02/15/2022 | Introduction | [lecture] [tutorial] | Tucker Ch.1 | hw1 (pdf) hw1 (tex) hw1 (sol) |
2 | 02/21/2022 | Inductive Definition and Proofs | [lecture] [tutorial] | Harper Ch. 1-4 | hw2 (pdf) hw2 (tex) hw2 (sol) |
3 | 2/29/2022 | Untyped Lambda Calculus | [lecture] [tutorial] | Pierce Ch 5, 8, 9 | hw3 (pdf) hw3 (tex) hw3 (sol) |
4 | 3/7/2022 | Untyped Lambda Calculus (II), Simply-typed Lambda Calculus | [lecture] [tutorial] | Pierce Ch 8, 9 | hw4 (pdf) hw4 (tex) hw4 (sol) |
5 | 03/30/2022 | Extension to Simply-typed Lambda Calculus (I) | [lecture] [tutorial] | Pierce Ch. 11 | hw5 (pdf) hw5 (tex) hw5 (sol) |
6 | 03/21/2022 | Extension to Simply-typed Lambda Calculus (II) | [lecture] [tutorial] | Pierce Ch. 11 | hw6 (pdf) hw6 (tex) hw6 (sol) |
7 | 03/28/2022 | Going Imperative | [lecture] [tutorial] | Pierce Ch. 12 | hw7 (pdf) hw7 (tex) hw7 (sol) |
8 | 04/02/2022 | Memory Management | [lecture] [tutorial] | Tucker Ch. 11 | hw8 (pdf) hw8 (tex) hw8 (sol) |
9 | 04/11/2022 | Type Inference (I) | [lecture] [tutorial] | Pierce Ch. 22, 23 | hw9 (pdf) hw9 (tex) hw9 (sol) | 10 | 04/20/2022 | Type Inference (II) | [lecture] [tutorial] | Pierce Ch. 22, 23 | hw10 (pdf) hw10 (tex) hw10 (sol) |
11 | 04/25/2022 | Subtyping | [lecture] [tutorial] | Pierce Ch. 15 | hw11 (pdf) hw11 (tex) hw11 (sol) |
12 | 05/17/2022 | Object-Oriented Programming | [lecture] [tutorial] | Tucker Ch. 14 | hw12 (pdf) hw12 (tex) hw12 (sol) |
13 | 05/09/2022 | Logic Programming | [lecture] [tutorial] | Tucker Ch. 15 | hw13 (zip) hw13 (sol) |
14 | 05/15/2022 | OCaml (I) | [lecture] [tutorial] | N/A | hw13 (zip) |
15 | 05/23/2022 | OCaml (II) | [lecture] [tutorial] | N/A | |
15 | 06/09/2022 | Concurrent Programming | [lecture] [video] [tutorial] | Tucker Ch. 18 | hw15 (pdf) hw15 (tex) |