Tutorials

Tutorials are optional materials that generally provide another example of the course content. The approach is often as a “think-aloud”: here’s what I’m thinking as I approach this problem.

  1. Exercise 02.04: writing add-twice. Writing basic functions; the design recipe.
  2. Exercise 04.07: writing describe-string. Working with strings.
  3. Exercise 05.03: stepping through waldo. Tracing cond.
  4. Exercise 06.06: writing my-member?. Recursion on a list, with an unchanging value. Working with Any. Following the list template.
  5. Exercise 06.10: writing drop-e. Writing a function that needs to be a wrapper function. Recursion on a list.
  6. Exercise 07.02: writing sum-to. Recursion on a Nat using the countdown template.
  7. Stepping Booleans. Tracing a user-defined function including and, or, and not.
  8. Recusion with extra information. Keeping extra information while recursing on a (listof Num).
  9. Exercise 08.05: writing vector-add. A recursive function following the lockstep template.
  10. Lists inside lists. Finding items with rest and first; working with lists inside lists inside lists inside lists….
  11. Difference between cons and list. Comparing the behaviour of the two functions.
  12. Exercise 09.01: writing extend-fib. Using an accumulator.
  13. Exercise 10.2: writing maintain-classlist. Recursing on a list, where each value in the list is a structure.
  14. Mutual Recursion in a General Tree. Recursion in a tree, where the children are a list, so are also handled with recursion.