Every OST course is the result of the work of a thoughtfully chosen and dedicated team. Each member of our team takes pride in the successes of our students and in the school we continue to create. Because of that singular focus and work, the OST student experience is rich and rewarding. OST course authors are, of course, pivotal to creating the elevated student experience that is the OST standard.
Once our curriculum direction is determined, we comb the planet for a preeminent expert on that topic to draft the course for us. For our Introduction to Ruby on Rails course, we were fortunate enough to find UK-based author David Griffiths. I caught up with David to learn more about his approach and experiences working to bring OST’s Rails course to life:
Q. What drew you to the O’Reilly School and inspired you to write an OST course?
D.G. The thing that excited me about the O’Reilly School was its approach to education. A man who really inspired me was Seymour Papert—he created the computer language called Logo. Papert was a pioneer in a type of education known as “constructionism.” Put simply, constructionism means, “learning by making.” You don’t understand stuff and then do it. Instead you understand stuff by doing it. This is my favorite Papert quote:
Imagine that children were forced to spend an hour a day drawing dance steps on squared paper and had to pass tests in these ‘dance facts’ before they were allowed to dance physically. Would we not expect the world to be full of ‘dancophobes’?
— Seymour Papert, Chapter 2, Mindstorms: Children, Computers and Powerful Ideas
Scott Gray [founder of OST] told me he learned the value of this approach when teaching undergraduate math. Students would gain far more from the labs than they did in the lectures. In the end, he did away with the lectures and just did the labs. The O’Reilly School courses come straight from that experience.
For me, as an author, writing material that is so focused on getting people doing things is very exciting.
Q. What did you find most challenging about the course authoring process?
D.G. The most interesting thing is also the hardest thing: creating content as labs. Labs are active; lessons are kind of passive. In a lesson, someone pours out lists of facts for you to understand, but in labs, the student actually does stuff. They create code. That means that the teaching material doesn’t answer the question, “What should I know about X?”—instead it answers the question, “What can I do with X?”. The constructionist approach says that you learn to understand a thing, by doing that thing.
A great example of constructionist learning is LEGO. When you play with LEGO as a kid you usually go through these steps:
• Learn what the pieces are.
• Try some examples that show you how to put them together.
• Go make your own stuff.
The O’Reilly School courses are exactly like that. We teach you basic conceptual building blocks of a technology. Then we show you examples of how to put them together in the main lab material. Then in the projects, we get you to go create your own thing.
Q. How does authoring a course differ from authoring a book?
D.G. The human element. The unique thing about the O’Reilly School is that it’s not just a collection of teaching material. It’s a group of people: the tutors. The tutors are the key element in the O’Reilly School. They are the people who will take you through the material, who will mark your work and answer your questions. That came as quite a shock when I was first introduced to the O’Reilly School. That link on the front page of the web site that says “Call Georgia”? Georgia actually exists. My job as the course author is to provide the basic material for the relationship between the student and the tutor. That’s very different from writing a book. When I’m writing a book, I need to think:
• Is this accurate?
• Is it useful?
• Is it comprehensible?
But when I’m writing course material, I need to think:
• Can your tutor check to make sure that you did this?
• Can this be marked?
• How do I prevent this project being a list of ‘How to’ instructions? Am I allowing space for the student’s creativity?
That’s why books can only take you so far. To really engage with fundamental material you need a great teacher. Someone you can interact with. That’s where I think most of the current online course systems fall down. They present the basic material of a course, but they don’t have that extra step. They don’t have the human element.
Q. There are so many different ways you could’ve presented the lessons and projects for this course. What was your approach to ordering the information?
D.G. I once read that Kirsty MacColl wrote her playlists by beginning with her best song, then followed it with the second best song and so on. That’s kind of how I break the labs up. I ask myself “If I could only learn how to do one thing in Rails, what would it be?” Then I write down a summary of that thing—that skill—and that’s the first lab. Then I think “OK – I know how to do that, now what if there was only one other thing, what would that be?” That’s lab 2, and so on.
Each lab teaches a significant skill. If you don’t know how to do some valuable thing at the end of each lab—the kind of thing that someone would be willing to pay you for—then I’ve failed. I try to think about skills that you could be paid for so that I have some touchstone in reality, and I’m not just teaching stuff that I happen to think is interesting.
Q. What can the students look forward to learning in the Rails course?
D.G. Many, many things. They’ll learn how to create complete applications within minutes. How to model real world data and add security to an application. They’ll learn how to give users their own private data-sets. They’ll learn how to ask the database complex questions.
Rails is used by a lot of small Silicon Valley startups and so the thread that connects the whole course is an online application that any startup might create—the Tasks application. Students are shown step by step how to build a task management application then—and this is the key part—they’re asked to build their own project using the skills they learned in the labs.
At the end of the course each student should have created their own application from scratch that uses database modeling, HTML generation, security and Ruby code. We’ll watch them very carefully along the way, and pick them up if they fall down, but by the end of the course each student will have created their own fully fledged, and unique, Rails application.
Q. We hear that you’re planning on authoring additional OST courses. What topics will you be tackling next?
D.G. In the second Rails course I’m looking to build on the foundation of the first, to take students through more advanced programming topics such as test-driven development and RESTful design. My hope is that the first and second Rails courses will together work as a kind of foundation for web application development. Students will be able to create things in Rails, and be able to transfer those skills into any other type of web application development.
Other courses that might follow are still at the conceptual stage. Certainly more on Ruby and Rails, but perhaps stuff on data analysis or functional programming. There’s a lot of cool stuff in the functional code. It would be good to build a foundational body of work that would give coders the tools to go out and tackle some really big problems.
For registration information and more, click here. You can also contact our student services team at
(707) 827-7288 M-F 8AM-5PM PST.
“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.”
-Tim O’Reilly, Founder of O’Reilly Media