clojurebridge-berlin / organization

orga-team planning and coordination
8 stars 2 forks source link

Curriculum discussion #156

Closed daveliepmann closed 6 years ago

daveliepmann commented 6 years ago

A quick review of today's orga meeting curriculum discussion (27 July 2017):

For several months I have been gathering reports from ClojureBridge coaches and learners, both individually in Berlin and at the last two EuroClojures. I also facilitated discussion, partially for the purposes of gathering ideas related to ClojureBridge, at an Unsession on the topic of "The Beginner Experience in Clojure" at EuroClojure 2017 in Berlin.

As I described in the meeting, I received the following reports:

To best address these reports, I proposed some ideas:

My proposal, broadly speaking, is to put learners directly into a REPL environment with the absolute minimum of talking and pre-discussion. Then, harvest the benefit of learners achieving a quick milestone by using an extremely short introductory curriculum. Then, let learners direct their own learning by exploring their choice of topic.

daveliepmann commented 6 years ago

For instance, I humbly propose that we don't need a slide like this:

The benefits of prefix notation

This is not relevant to our learners. Why not replace these 17 slides with 2 or 3 that we can just gloss over, as in, "Like most modern programming languages, Clojure understands numbers, words (they're called 'Strings'), and anything else you might need." We could just not mention ratios and Booleans and keywords at all.

Nor is it necessary to throw words like "Concurrency" at a totally-new-to-programming person in the third slide.

daveliepmann commented 6 years ago

Maybe someone could explain the schedule in more detail, so I'm sure I understand the role of the slides?

According to the Schedule:

09:30 – 09:45 Welcome Talk 09:45 – 10:15 Intro to Clojure 10:15 – 13:00 Coding in Groups

That seems to be only one half hour of slides, followed by coding for three hours—perhaps without slides? Yet the curriculum docs say the slides add up to 4+ hours of teaching, arranged vaguely like:

  1. slides
  2. code in groups on exercises from slides
  3. more slides
  4. more exercises from slides
  5. repeat

Is this how we do things? Do we use all 6 sets of slides in Berlin?

Realtin commented 6 years ago

I only ever got as far as the Function slides and then we went into the creative coding part.

daveliepmann commented 6 years ago

@Realtin Do learners go through the slides in small groups, then? And they can decide when to give up on the slides as a team?

Which slides do the whole event (all ~50 people) go through together?

JohannaCarola commented 6 years ago

@daveliepmann that's what my group did during the last workshop and also what I heard from other groups. As far as I understood it the slides are not meant as a rigid tool that every group has to go through entirely but more like a pick-and-choose thing (except for some basics maybe?). We also skipped some of the more detailed slides in my group and focused on certain things that the group had issues with / was more interested in.

If I remember correctly we did not do the Intro slides with the whole group but also in the small groups. I think we only did the orga stuff (what's the schedule for the day, code of conduct, sponsors, volunteers, etc.) together with everyone.

@Realtin @vsmart and everybody-else-who-was-there: feel free to correct me if my memory has failed me on this!

daveliepmann commented 6 years ago

@JohannaCarola Thanks so much for that explanation. That really helps.

I'm still curious about what is part of the 09:45 - 10:15 "Intro to Clojure" part of the schedule, but it sounds like at least most of the slides aren't used as part of a group presentation.

daveliepmann commented 6 years ago

Here's a list of the functions/syntax introduced in the curriculum slides, in this order. Any transcription errors are mine.

  1. +
  2. max
  3. print-str
  4. ;; and ;
  5. fill (implicitly referenced from quil)
  6. clojure.repl/doc
  7. literal integers
  8. literal decimals
  9. literal ratios
  10. -, *, /
  11. literal strings
  12. literal true, false, nil
  13. literal keywords
  14. def
  15. literal vectors: [1 2 3]
  16. vector
  17. conj
  18. count
  19. nth
  20. first
  21. rest
  22. literal maps: {:data "stored associatively"}
  23. assoc
  24. dissoc
  25. merge
  26. get
  27. keys
  28. vals
  29. update
  30. literal nested maps: {:outer {:inner "hi!"}}
  31. update-in
  32. literal vectors of maps: [{:type "map in a vector"} {:type "also a map in that vector"}]
  33. map (unofficially, in the context of vectors of maps, so before it's really explained)
  34. keywords as functions (in map, so 2 new things at once)
  35. defn
  36. map (officially, with explanation)
  37. remove
  38. even?
  39. reduce
  40. filter
  41. fn

Is this the material we want to introduce? Is this the order we want to introduce it in? Is there anything we should add (Quil-specific stuff?)? Is there anything we want to remove (ahem dissoc, update, decimals, ratios, update-in cough)

daveliepmann commented 6 years ago

Some notes from a face-to-face discussion about what to cover in slides:

daveliepmann commented 6 years ago

Some explorations in this direction are reviewable here: https://github.com/clojurebridge-berlin/curriculum/compare/gh-pages...clojurebridge-berlin:simplify-reduce-remove

daveliepmann commented 6 years ago

Re: 09:45 - 10:15, from face-to-face meeting with @vsmart, this was actually a Berlin-specific presentation (given in one year by Jelle and Bettina in another, perhaps?) about "10 cool things to do with Clojure". Motivational, to bridge "welcome" and the small-group work.

vsmart commented 6 years ago

@daveliepmann Here is a link to the 9:30 - 9:45 intro talk: https://docs.google.com/presentation/d/1zzsYHQ0YL0YBeS-Q6dcIbk0lJnj6WjXZxmHbjbxlIV0/edit?usp=sharing

daveliepmann commented 6 years ago

Folks interested in seeing some of my thoughts in action can browse the simplify-reduce-remove branch. I changed a lot of the slides while still under the impression that they were given as a presentation, so I may want to roll back some (but not all) of those changes.

If you compare my branch to gh-pages branch you'll see that I focused on the following:

vsmart commented 6 years ago

@daveliepmann Can we close this issue, or would you like to further continue discussion here past the context of this workshop?

daveliepmann commented 6 years ago

Close

On Tue 10. Oct 2017 at 21:08, Franka notifications@github.com wrote:

@daveliepmann https://github.com/daveliepmann Can we close this issue, or would you like to further continue discussion here past the context of this workshop?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/clojurebridge-berlin/organization/issues/156#issuecomment-335575976, or mute the thread https://github.com/notifications/unsubscribe-auth/AA7ea5sSfgLF0bwCIT9AsM6fWSyG2Znuks5sq8CUgaJpZM4OlsxP .