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. Some videos reference outdated exercise numbers from a different term. In those cases, you can find the correct exercise in the videos’ description.
The Design Recipe. Writing basic functions. Details of the design recipe.
Working with string functions. Note: the in-video exercise number has changed; it is actually M02, slide 21.
Working with Lists. Working with lists using map and foldr. Writing a helper function for foldr. Using map on two lists at once.
Stepping through a function that uses
cond. Note: the in-video exercise number has changed; it is now M04, slide 14.
Writing a helper function for
foldr that uses
cond. Boolean expressions. Converting a string to a list.
More Practice with
Writing a function in 3 different ways using
foldr. Note: this video references an exercise that no longer exists in the course notes.
ALFs with Lambda. Four short problems solved using abstract list functions and lambda.
Recursion on a list, with an unchanging value. Working with
Any. Following the list template. Note: this exercise is on slide 46 of M06.
Writing a function that needs to be a wrapper function. Recursion on a list. Note: the names of functions have changed, but this exercise corresponds to the problems on slide 60 and 64 of M06.
Comparing the behaviour of the two functions, and their use in recursive functions. Note: some reference is made to
cons having been taught before
list. This was from a previous term, and the difference in order is not important to the content of the video.
Recursion on a
Nat using the countdown template. Note: this exercise can be found on slide 14 of module 7.
Tracing a user-defined function including
not. Note: the piazza posts referenced were from a previous term.
Lists inside lists.
Finding items with
first; working with lists inside lists inside lists inside lists….