So Many Curricula
Suggestotron is the flagship RailsBridge curriculum. Although somewhat difficult to say aloud, it is the springboard for all RailsBridge intro to Rails classes, whether the students are total “Ruby Nubys” or professional Java developers wanting to learn more about this Rails thing. For the uninitiated, Suggestotron walks you step-by-step through building (and deploying to Heroku) a little topic-voting app: anyone can submit topics with descriptions, see them listed on a page, and vote them up. Kind of like a very, very lightweight Digg, as my first teacher said, back in the days when people talked about Digg like it was a thing.
Three years later, Suggestotron is still being used heavily and has been tweaked and given love and attention by a lot of different people. Since all the RailsBridge curricula are open source, you can fork it and submit a pull request if you see something that could be improved.
(Although not a curriculum, we also pour our hearts and souls into our step-by-step Installfest instructions, which cover all major operating systems and include contingency instructions for when things don’t go perfectly. Technologies installed or set up include: Ruby, Rails, Git, a bunch of gems, Heroku SSL keys, a text editor, and other OS-specific things, like RVM and Windows terminal config stuff. The Installfest instructions are quite the labor of love.)
In February 2012, for logistical reasons, there wasn’t a workshop planned. According to legend, a core member of the RailsBridge team, Steven! Ragnarök, thought it was high time to teach people a little bit more about front-end development and all the HTML-writing that Rails was saving them from. A friend of a friend of RailsBridge (and fantastic frontend dev), Ryan Richards, whipped up a curriculum and lead the first front end workshop. For the next front end workshop a scant two months later, another amazing frontend dev, Emily Nakashima, powered by caffeine and a looming workshop date, morphed Ryan’s original presentations into a web-based curriculum that could be used by students at every level. People were so excited. This was something they’d been wanting to learn, and now we were RailsBridge-i-fying frontend development. Success!
At this point in the story, we have two RailsBridge curricula (in addition to the slide decks we’d had covering Ruby for Beginners and Ruby for Programmers). Even more curricula were discussed in depth on the workshop organizer’s mailing list, and Carina Zona decided to make a full-day Ruby-only workshop a reality. We held that workshop on August 24 & 25, 2012 and had an awesome time digging into Ruby.
The most recent addition to the stable is what is currently being called the Intermediate Rails curriculum, and was written by Travis Grathwell and me. It’s a decidedly *not* step-by-step walk through building a Rails app: it presents features that need to be completed, then gives the student online resources, hints, and discussion topics that the teacher should consider covering. In it, you build a message board — something of a souped-up Suggestotron, with comments on the posts pages. One of the authors of that curriculum (me) made a writeup of the curriculum-writing process and how the first workshop went — you can check it out here.
With all these things, and more on the horizon, it was high time that an index with all the different curricula existed. Thankfully, one was born on Tuesday, November 19, 2012. Check it out, and feel very encouraged to make pull requests, start your own workshops, write your own curriculum, and share your accomplishments with us (by commenting here, joining and posting to the workshop mailing list, or any other way you think would be fun).
Oh, you do want to write a curriculum? Here are just a few ideas for things we’d love to teach and learn:
- Test-Driven Development
- Terminal / Shell Superpowers
- How Computers Work (Physically)
- Networking And Its Joys
- All About Browsers
- Git: In Depth!
- How To Be All Agile ’n Stuff
Want to talk about this on Twitter? Hit me up — I’m @lilliealbert.