“We have a homework assignment: Take 10 or 12 thousand lines of existing code, add this feature, and deploy it when you’re done. Then you have to document the change,” said Fox.
Instead of teaching just the language or giving in to the temptation to teach mobile application development, Fox’s class is about the tooling. Students write requirements descriptions with Cucumber, build their applications with Ruby on Rails, construct unit tests with Rspec, and even learn how to ask a proper question on Stack Overflow.
The success of the requirements-gathering language, Cucumber, has been the biggest surprise for Fox. “Cucumber has been awesome,” he said. “We were afraid it would be difficult to get students to buy in. They’ve never seen things like Cucumber before, but to our surprise the students embraced it almost immediately.
“The way Berkeley’s curriculum is set up, students have learned some Python and C and some Java when they get to me. We realized this is another language (Ruby). The reason we chose Rails is because we wanted to teach students how to do good agile software engineering. The best tools for supporting that are in the Rails ecosystem, though Python is starting to catch up.”
Fox said that he considered mobile development as a way to teach agility, but he found that teaching Android or iOS development ended up being too focused on learning the frameworks and quirks of the OSes, rather than building the application outright.
The benefits of Fox’s classes are not limited to Berkeley students, however. There’s a free version online: a massively open online course that covers the class’ topics and utilizes the same tools as the in-class version.
Has the class been a success? When Fox first offered it in 2012 he had around 50 students. This past spring he had 250, with a waiting list of an additional 140. And the online courses are even larger. He said his techniques have been duplicated in other computer science programs, and the success seems to be replicated as well.
“Demand for the course is high,” said Fox. “A number of other instructors who’ve adapted our materials…have students busting the doors down to take the course.”