Rails is complex. Really, hideously complex. Imagine all the individual parts that make up a car. Now imagine all those parts are one small component of a larger machine. That’s how complex Rails is. So one would imagine that teaching Rails would entail teaching from the ground up. That is, introducing the principles of programming, followed by a study of each of the major parts of the stack, concluding with an examination of the way those parts interact. Traditionally, the process takes years. I’m enrolled in a program that’s supposed to compress those years of material into ten weeks.
But what if you only have one or two days to teach Rails? I’ve now TA’d at two such ultra-compressed Rails workshops: RailsBridge and Harvard’s i-lab Coding Bootcamp. The format is similar in both programs. There is an evening devoted to installation and setup of Ruby, Rails, Git, and so on. The next day consists of “Hello World”-level programming instruction, culminating with the students generating and slightly customizing a scaffold. At the end, everyone deploys via Heroku.
Of course, nobody is going to come away from these workshops with the next Facebook. The idea is to get folks interested in software development, not teach any Rails skills per se. And as you’d expect, much of my job as a TA is guiding students through installation and correcting syntax errors. That said, it is an intensely rewarding experience. Many of the participants have never even worked with a command line before, and by the end of the program they’ve deployed a dynamic site using just the CLI and a text editor.