Homework


Items listed for future dates are tentative only to provide a rough guide to the course. Check this and the home page regularly for updates.
[Code] Codes for programming practice and assignments are located at github:ustc-fopl
[Textbook] [PFPL] [TAPL(pdf)]
R lecture preparation/reading and practice P project assignment handed out
W written assignment handed out D assignment due date

Assignments

Week Monday Wednesday
12 May 21,23: Final project
1) translate one chapter of PFPL;
2) select a paper or a topic, learn, think and give your contribution
11 May 14
W4: 阅读并编译运行 badcrust 目录下的各个 C 程序或 Rust 程序。分析说明各个程序潜在的错误及原因;哪些程序没有错误,它们的执行结果是什么?
D: submit W4 to your git repo in w3 directory, May 21 13:40
May 16
10 May 7
R: Learn and practice basic Rust code and trait implemented in Rust or Lua
May 9
8 Apr 23,25
P: Practice and Perform assignment4: logic engine, May 6 22:00
7 Apr 16
R: Read Control Flow notes
Apr 18
W: W3
D: submit W3 to your git repo in w3 directory, April 23 13:40
6 Apr 9
R: Read Overloading
P: Assignment3: Type System ( D: April 15 22:00)
Apr 11
R: Read subtyping.pdf
5 Apr 2
R: Read notes on polymorphism and existential types, learn and practice Modules in Ocaml (L7-L11 in Cornell CS 3110)
Apr 4
R: notes on polymorphism and existential types
4 Mar 26
R: cs242-notes, interpreter.ml

Mar 28
W: W2
D: submit W2 to your git repo in w2 directory, April 2 13:40
3 Mar 19
P: Assignment2: Roguelike
D: Part1~2 March 25 22:00, Part3 March 28 22:00
Mar 21
Each group needs to post questions on Piazza.

2 Mar 12

D: Submit Assignment 1 to your git repo, March 18 22:00
Mar 14
W1: Read Chapters 11-13 in [textbook] and materials on inheritances, write your view of OO features and their implementations.
D: submit W1 to your git repo in w1 directory, March 19 13:40
1 March 5
R: Practice lua.lua and read The Evolution of Lua

March 7
P: Assignment1: RPC Library - Serialization
D: Pre-submit Requirements 1 to your git repo, March 11 22:00

PA4

W3

W2