YSC1212 Lecture Notes, updates
- 08 Jan 2021: added the pointer to Ilya Sergey’s installation page in
the chapters about GNU Emacs and Objective Caml
- 07 Jan 2021: added pointers to YouTube videos for installing Objective Caml
- 16 Aug 2020: added Loki’s closing quip about meteorology in Background and general introduction
- 09 May 2020: fixed two typos in the chapter about Polymorphic binary trees in OCaml
- 06 May 2020: fixed a typo in the Mini-project about indexing data structures
- 19 Apr 2020: made the unit-test functions properly polymorphic
in the Mini-project about indexing data structures
- 18 Apr 2020: fixed a typo in the error message in the accompanying .ml files
of the Mini-project about multiplying integers in a tree using an accumulator
and the Mini-project about computing the width of a binary tree
- 17 Apr 2020: added 2 Exercises,
in the lecture notes for Week 11
- 09 Apr 2020: added error messages in the unit-test functions
for the Mini-project about indexing data structures
and the Mini-project about three language processors for arithmetic expressions
- 09 Apr 2020: curried the node parameter in the definition of fold_binary_tree
in the lecture note about Generic programming with binary trees
- 07 Apr 2020: added error messages in the unit-test functions
for the Mini-project about depth-first and breadth-first traversals
- 06 Apr 2020: spelled out the Mini-project about depth-first and breadth-first traversals
and added a dedicated resource file
- 06 Apr 2020: added a Perlisism,
in the lecture note about Definitions
- 05 Apr 2020: fine-tuned the narrative about recursive functions (n calls and n returns)
vs. tail-recursive functions (n tail calls and 1 return), witness their traces,
in the lecture notes about Mutual induction and recursion over natural numbers
and Reversing lists
- 05 Apr 2020: clarified the terms “lambda-dropped” and “lambda-lifted”,
in the lecture note about Programming using accumulators
- 05 Apr 2020: fine-tuned the narrative of the Mini-project about a simple variant of the knapsack problem
- 05 Apr 2020: spelled out the Mini-project about multiplying integers in a tree using an accumulator
and added a dedicated resource file
- 05 Apr 2020: added
an example to the section about Sequencing in retrospect
and
the solution for Exercise 1,
in the lecture note about Sequencing in OCaml
- 05 Apr 2020: fine-tuned the narrative of the section about string_mapi,
in the lecture note about Mutable data in OCaml
- 04 Apr 2020: added the term project,
in the lecture note about, well, the Term project
- 04 Apr 2020: added the section about string_mapi,
in the lecture note about Mutable data in OCaml
- 02 Apr 2020: added a section about comparing ordered values,
in the lecture note about Concrete data types
- 02 Apr 2020: expanded the interlude,
in the lecture note about Concrete data types
- 02 Apr 2020: updated the accompanying resource file to reflect the additions,
in the lecture note about Polymorphic binary trees in OCaml
- 02 Apr 2020: added the partial solutions for Exercises 30 and 31,
in the lecture note about Polymorphic binary trees in OCaml
- 02 Apr 2020: sketched the section about mutually recursive types,
in the lecture note about Concrete data types
- 02 Apr 2020: added reminders about relations and functions,
in the lecture note about Towards OCaml
- 31 Mar 2020: fixed a typo in the analysis of rotate_binary_tree_randomly_v1,
in the lecture note about The samefringe problem
- 29 Mar 2020: fixed a typo in the solution for Exercise 10,
in the lecture note about Streams
- 26 Mar 2020: removed the mention of the resource file, since there isn’t any,
in the lecture note about Demand-driven computation