Add more information about "Naming functions" and "Important functions" in slides?
Opened this issue · 3 comments
In module3.html there's a slide on "Naming functions" that says
Functions are named like any other value
then explains that "Predicate functions usually end in ?
.
However, the curriculum goes into greater detail about the requirements for naming functions, then has a section called "Important functions", with a subsection called "Collection functions", before jumping into the discussion of map
and reduce
--which the slides jump into directly.
I could've sworn that we previously had that information in the slides, but cut it out because we found ourselves short on time during the actual workshops. That justification makes sense to me, but now, it feels like the slides are lacking flow in that section, in particular.
Does anyone have suggestions as to how we can improve that section of the slides?
tl;dr Jumping straight from "This is what predicate functions look like!" to "Here's map
and reduce
!" feels really odd, to me.
Just reviewed the functions section and felt the same way - it needs some additional content.
My suggestions:
- add one more exercise to the section on writing functions
- add some additional content to the section on core functions
- add a couple of exercises to the core functions section - 4clojure problems or ones in that style would work. They do a good job of covering use of core functions.
On the naming slide, what if the first bullet was changed to something like
- Functions are named like any other value:
- typically
kebab-case
, and may include numbers,*
,+
,!
,-
,_
, and?
.
- typically
The list in Important Functions seems to be intended as a review of fns previously seen, but many have not, including rest
and the Map fns assoc
, dissoc
, and merge
. (I'm assuming Data Structures used to cover more than just vectors and was later split up into separate sections.)
One option would be to pare that list down to fns that were introduced earlier and then as a final item on the list have "higher-order functions", which could lead into "Functions that take other functions."