Closed daveliepmann closed 7 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.
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 Talk09:45 – 10:15
Intro to Clojure10: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:
slides
code in groups on exercises from slides
more slides
more exercises from slides
repeat
Is this how we do things? Do we use all 6 sets of slides in Berlin?
I only ever got as far as the Function slides and then we went into the creative coding part.
@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?
@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!
@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.
Here's a list of the functions/syntax introduced in the curriculum slides, in this order. Any transcription errors are mine.
+
max
print-str
;; and ;
fill
(implicitly referenced from quil)clojure.repl/doc
-
, *
, /
true
, false
, nil
def
[1 2 3]
vector
conj
count
nth
first
rest
{:data "stored associatively"}
assoc
dissoc
merge
get
keys
vals
update
{:outer {:inner "hi!"}}
update-in
[{:type "map in a vector"} {:type "also a map in that vector"}]
map
(unofficially, in the context of vectors of maps, so before it's really explained)map
, so 2 new things at once)defn
map
(officially, with explanation)remove
even?
reduce
filter
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)
Some notes from a face-to-face discussion about what to cover in slides:
Some explorations in this direction are reviewable here: https://github.com/clojurebridge-berlin/curriculum/compare/gh-pages...clojurebridge-berlin:simplify-reduce-remove
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.
@daveliepmann Here is a link to the 9:30 - 9:45
intro talk: https://docs.google.com/presentation/d/1zzsYHQ0YL0YBeS-Q6dcIbk0lJnj6WjXZxmHbjbxlIV0/edit?usp=sharing
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:
@daveliepmann Can we close this issue, or would you like to further continue discussion here past the context of this workshop?
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 .
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:
[totally new to all programming OR experienced in other languages]
and[want to explore programming OR want to be shown a clear path to running something like a Rails app]
loop/recur
--just show them how to call a function, and get right to the REPL"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.