June 5, 2012

runestone interactive

What a week its been!   So much has happened in the last week that I just have to take some time out to organize my thoughts and get some of this information out there where others can read it.

What is Runestone Interactive?

Runestone Interactive is primarily a home for both the content and the technologies that go into publishing interactive textbooks.  At the moment interactive textbooks for Computer Science, but who knows how far this could go.  Probably the best way to see this is to actually visit our site and play around.  But in the meantime here is a short video to give you an introduction.


  1. Home to our open source publishing tools.  My goal as that these tools become the LaTeX of interactive publishing. There is lots of work to do before we can claim success here, but I think we have a good vision and a decent start.
  2. A model for a new online only publishing house. At some point, I think it is important for content to go through an editorial process, not just for copy editing quality, but for coherence, and quality of approach. Right now the number of content creators using our system is pretty small, but I can already see that starting to grow. We have lots of thinking to do about this.
  3. A home for hosting online courses or textbooks.

Who is your audience?

At the moment, I think we serve three distinct groups of people.

  1. The  teacher out there who wants a good quality textbook, but is not interested in forcing their students to pay $100+ and is interesting in trying an interactive book, all for free.   So to serve this audience we have You can select one of our pre-defined books and set up a course where you are the instructor and have access to grading etc. Or you can use the drag-and-drop interface to put together a book by selecting from the library of modules. Maybe some of these teachers have an exercise or two they would like to contribute, but mostly they are just looking for good materials to help them with their course.
  2. Authors who would like to contribute significant chunks of content – chapters or section sized – or videos. For example I’m working with an entrepreneur who wants to add content and a graphics package that looks more like Nodebox. He’s very interested in putting together materials for middle school kids.  Others, including other Computer Science researchers, are more interested in algorithm visualization and working together on building in more visualization tools to the tool box.  Others have their own CS course materials that they would like to get into an interactive form and make available to the world.
  3. People who are interested in learning CS on their own.  We get a ton of people coming to the site just to learn on their own. I had the most heartfelt letter from a guy the other day who found our site as he is trying to retool after being laid off for a couple of years. He said this is the first thing he’s come across that really worked for him and helped him learn a bit of CS.  How does this compare with Udacity and Coursera?  Both of those companies are primarily video oriented, and both of those companies are running courses that are in some sense synchronous.  You have to move through the course on their schedule to get the full benefit.  Our books/courses can be done at your own pace, on your own time.

I would like to use this for my own class how do I get started?

Its easy, just follow these steps:

  1. Go to and register yourself as a user.
  2. Click on Create a Custom Course link in the right sidebar.
  3. Select a short name for your course that uniquely identifies it among all the other courses.
  4. Type in a short description for your course
  5. Now you get to choose.  Do you want to use one of our standard configurations, either How to Think Like a Computer Scientist: Interactive Edition, or Problem Solving with Algorithms and Data Structures using Python  or do you want to build a custom book by choosing modules from both of the above?
  6. Click on the build button.  Wait a few minutes and you will have a page with a link to your new course.
Now you can send your students to and simply tell them to register for your course.  


Why would you choose to build your own course when you could just use one of the open books?  When you create your own course you become the instructor and admin for that course.  You can grade your students assignments right online, and even access their homework in progress if they have questions.  You can also get a sense for the different activities they are choosing to use in the textbook.

How can I get involved?

There are lots of ways you can get involved:

  • We need readers who are willing to be critical and report bugs on everything from typos to activecode blocks that don't work exactly right.
  • We need web developers who are willing to work on the back end, developing reports for instructors and making sure our infrastructure is sound.
  • We need web developers who are interested in developing user facing features, everything from algorithm visualizations to interactive assessment tools like the multiple choice and fill in the blank questions you see already.
  • We need compiler geeks who can help fix bugs in our Javascript implementation of Python.
  • We need authors who want to add new and interesting content, either entire courses, or new modules that could be combined with the modules already there.