As noted before, the morning seems to go fairly well for beginners. San Francisco decided to break up some of the early modules and interleave them to add some variety and that also went well. The functions module has the potential to confuse as we get into higher order functions but it seems that beginners take to those better than some of us expected and they cause more problems for experienced developers coming from an OOP background.
Where we seem to lose our beginners is in the afternoon as we either dig too deep into functions or we move into flow control and logic. Then we try to move into building an application and it gets overwhelming for many - there's a lot of machinery.
So, assuming we're tailoring the curriculum for just beginners at this point, what can we do to make the learning curve more even across the whole day?
Minneapolis's approach of weaving an application into all of the modules seems very promising (exactly what application and how to structure it can be discussed in a separate thread). I got the impression from the Minneapolis team that the only reason their schedule went off the rails was because they went off script in the Functions module and did a bit of a deep dive?
Overall, do folks think the shift started by SF to interleave the module content is positive? It's reflected in the current curriculum here:
https://github.com/ClojureBridge/curriculum
Similarly, do folks think trying to interleave the application throughout the entire day is a step in the right direction? As reflected in the Minneapolis agenda:
https://github.com/clojurebridge-minneapolis/organizing/blob/master/doc/agenda.pdf
Does anyone feel the morning is too slow for beginners? (SF had only 2 or 3 real beginners, MN seemed to have a much larger mix of beginners and is probably better placed to answer this?)
What sort of things can we do to even out the learning curve?
Considering the application aspects of the curriculum, there's clearly a lot of machinery involved (esp. if we really try to get a web app deployed on Heroku). If our focus really is to teach Clojure basics, how can we make the introduction of Leiningen and the project structure more seamless - at SF it seemed to be a sudden wall of complexity with project.clj, dependencies, src tree, test tree (which I think we simply ignored?) and so on...
Sean Corfield --
http://clojurebridge.org
"ClojureBridge aims to increase diversity within the Clojure community by
offering free, beginner-friendly Clojure programming workshops for women."