这里列出本课程要求完成的作业,原则上每课的作业在当次课的下一周周三(0点)截止。

每周的作业请尽量在一封邮件内交齐,发送到助教邮箱(zhangstar@stu.pku.edu.cn)并请在邮件主题中注明姓名、学号以及作业次数(格式为“编程语言的设计原理-2100012345-张三-1”)。

  • 2022/02/23 胡振江:
    Introduction
    [2022/03/02 截止]
    • 安装 OCaml
    • 完成课程讲义上的习题
  • 2022/03/02 赵海燕:
    OCaml
    [不需要提交]
    • 熟悉 OCaml
  • 2022/03/09 赵海燕:
    Lambda Calculus
    [2022/03/16 截止]
    • 熟悉教材第五章
    • 完成习题 5.2.7 以及 5.3.6 (见课程讲义最后一页)
  • 2022/03/16 赵海燕:
    Nameless Representation
    [2022/03/23 截止]
    • 熟悉教材第六章、第八章
    • 完成习题 6.2.5 以及 8.3.7 (见课程讲义最后一页)
    • 下周习题课需要带笔记本电脑
  • 2022/03/23 赵海燕:
    Simply Typed Lambda-Calculus
    [2022/03/30 截止]
  • 2022/03/30 赵海燕:
    Reference
    [2022/04/06 截止]
    • 完成 13.4.1, 13.5.8 两个练习
    • 组队信息 (姓名+学号)
  • 2022/04/06 赵海燕:
    Exceptions
    [2022/04/13 截止]
    • 完成习题 14.3.1,15.2.3,以及 15.2.5
  • 2022/04/13 赵海燕:
    Metatheory of Subtyping
    [2022/04/20 截止]
    • 完成习题 16.1.2 和 16.2.5
  • 2022/04/27 胡振江:
    Case Study: Imperative Objects
    [2022/05/11 截止]
    • 完成习题 18.11.1(见19章PPT最后)
  • 2022/05/11 胡振江:
    Recursive Types
    [2022/05/18 截止]
    • 见 "Recursive Types" PPT 最后
  • 2022/05/18 胡振江:
    Type Reconstruction
    [2022/05/25 截止]
    • 完成习题 21.5.2
  • 2022/05/25 胡振江:
    Universal Types
    [2022/06/01 截止]
    • 完成习题 22.5.5、23.5.1、23.5.2
  • 2022/06/01 胡振江:
    Bounded Quantification
    [2022/06/08 截止]
    • 准备 Final Presentation