clojurebridge-berlin / organization

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

Decide on curriculum THIS weekend #29

Closed Malwine closed 9 years ago

Malwine commented 9 years ago

1) https://github.com/ClojureBridge/curriculum/tree/gh-pages QUILL 2) https://github.com/cndreisbach/clojurebridge-curriculum/blob/master/outline/app.md WEB APP

plexus commented 9 years ago

From taking a better look at seems the Quill vs Web app parts are only a small part of the curriculum. The biggest chunk are pretty theoretical slides covering values, data structures, functions, etc. You can find the slides here.

This seems like a decent enough theoretical introduction, with some exercises after each section. I find the format a bit awkward, with hidden notes on each slides that can be toggled on. Not sure but I have the impression this is more intended for a single teacher doing a presentation to lead a bigger group, where the notes wouldn't really be shown but explained by the speaker. A single page "tutorial" style document would work better in small groups IMO, but that's a minor qualm. And you can always refer to the source markdown files.

Quite a few of the examples will be a bit awkward for a European audience, convert feet to inches, calculate restaurant bill including taxes and tip, etc. But again not something we can't live with. And I imagine they wouldn't mind a PR to make these more culturally neutral.

So like I said, this seems a solid introduction, comprehensive without giving too much detail. It does seem like a lot of theory without "doing" anything. I guess it's a matter of choice, with most RailsGirls curricula you are building something from step 1, even if you may not understand each detail of what's going on.

Finally there's a "Capstone App". Apparently a capstone course is a final course in an academic program that brings together the various fields and skills studied.

There's an old and a new capstone app, and both have two sections.

The "old" one is the world bank API app. In the first section they build a command line app that queries the API, in the second section which is actually quite short they turn that into a web app.

Finally the Quill guide also has two sections. The first one is very short and basic, and tells you to write this.

(ns drawing.lines
  (:require [quil.core :as q]))

(defn setup []
  (q/frame-rate 30)
  (q/color-mode :rgb)
  (q/stroke 255 0 0))

(defn draw []
  (q/line 0 0 (q/mouse-x) (q/mouse-y))
  (q/line 200 0 (q/mouse-x) (q/mouse-y))
  (q/line 0 200 (q/mouse-x) (q/mouse-y))
  (q/line 200 200 (q/mouse-x) (q/mouse-y)))

(q/defsketch hello-lines
  :title "You can see lines"
  :size [500 500]
  :setup setup
  :draw draw )

Then there's a second part which is written in this weird third person style as a story of "Clara" visiting a ClojureBridge workshop and wanting to do something cool with Quill. This part seems pretty elaborate.

Final remark, I installed LightTable to go through the guides, as this is still what is "officially" recommended, even though I know it's been up for discussion on the mailing list. Was my first time running it. As mentioned it definitely seems to have some rough edges, but having the instant evaluation so easily available I think would be quite cool for teaching. Will have to give Cursive a spin next.

martinklepsch commented 9 years ago

Thanks @plexus for the detailed writeup. Did you form an opinion on the Quil vs. World Bank API approach?

I'll give Cursive a try later walking through the first part of the curriculum and report back then.

martinklepsch commented 9 years ago

I installed Cursive and after an initial hiccup it's been really easy to run the sketch that comes with lein new quil. Cursive provides a way to send functions to the REPL which will have the effect of live-coding the quil sketch.

All of the REPL functionality does not have keyboard shortcuts defined by default but I think we really need only two: 1. load current file 2. evaluate top-level expression. That can probably be setup on Friday.

Here's a full list of the keybind-able stuff Cursive provides: screenshot 2015-06-08 14 50 51

EDIT We will also need to install Java and point IntelliJ at the Java installations location.

plexus commented 9 years ago

I tried installing IntelliJ and it won't even boot. Gives a startup screen with a status bar, then replaces that with a slightly bigger window with nothing in it, and then hangs. Probably better on other platforms but frustrating that I won't be able to have the same editing environment. Really not sure what to recommend at this point. This is just plain vanilla freshly unpacked IntelliJ community edition on Oracle Java 1.8.

thatbettina commented 9 years ago

@plexus @martinklepsch - So was there a decision made?

plexus commented 9 years ago

Nope. I did manage to get intellij working now so still want to give it a try. I also saw on the ClojureBridge mailing list some people recommend NightCode. Don't know much about it yet but worth looking at.

So far intellij seems strongest contender just because lighttable is reported to be very unstable on Yosemite.

Malwine commented 9 years ago

Please let's write a mail to the coaches so that they can prepare for the workshop! (They already started asking me.)

Maybe @martinklepsch when you are back from euroclojure? :blush:

plexus commented 9 years ago

Also good to mention: last Monday we sat together with @nicsnet , @jellea , and @Malwine and had a look at IntelliJ and NightCode. Conclusion: NightCode is exactly what we need. Super easy to install. Minimal enough that it doesn't needlessly confuse people, and has nice repl support built in.

So maybe let coaches know to give NightCode a spin.

thatbettina commented 9 years ago

@Malwine @martinklepsch @plexus I want to write to the coaches to follow up on the lightning talks, so let's write to them in one email as part of the preparation email.

Here's what you can copy into your email:

Lightning Talks: Some of you have already submitted expert topics on which you'd like to talk. Unfortunately, expert-level talks don't really fit a beginners' workshop, so if you'd like to give a 5-10 lightning talk for beginners, please let Bettina via email know what you'd like to talk about, how long it will be, your language of presentation, and if you have the slides already, a link to your slides.

Some talk proposals we have already, just to give you an idea : -- "What can I do with Clojure?" -- Continue learning in learning groups -- Berlin tech community initiatives -- CLJ Art Collective -- learning by playing

Please let Bettina know by July 3 if you want to do something (no slides needed!).

thatbettina commented 9 years ago

@plexus -- So do you think there should be an intro presentation in the beginning or should learners just dive right in with their groups?

thatbettina commented 9 years ago

Quill curriculum with Nightcode.