Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more information about "Naming functions" and "Important functions" in slides? #135

Open
k4y3ff opened this issue Feb 8, 2015 · 3 comments

Comments

@k4y3ff
Copy link
Member

k4y3ff commented Feb 8, 2015

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.

@bridgethillyer
Copy link
Member

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.

@duelinmarkers
Copy link

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 ?.

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."

@danevans
Copy link

I took a crack at this:
screen shot 2015-04-22 at 16 00 03 pm

These are some things I wanted to know when I was learning how to name functions but I'm worried that

  1. This is too much info and not necessary.
  2. This doesn't address the issue of flow from the function naming slide to the functions that take other functions slide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants