Interactive eBook from Runestone Interactive: A Python eBook with IDE and visualization built-in

June 4, 2012 at 8:12 am 14 comments

Brad Miller and David Ranum have opened up their eBook for general use at their new site.  This is the book whose use we have been studying for the last year as part of our CSLearning4U effort.  It’s a great alternative to the Udacity/Coursera model of distance education, to make a book more like a course, rather than capture the course in video.  Our paper on this analysis just got rejected, so I’m not sure when and where we can tell the story of what happened, but I’m hoping that we can talk about it soon*.

Its fun to see my sabbatical project getting loose the wild.  It is always a bit scary to work on something creative and new and then let other people play with it and respond to it.  Such is the case with the new eBook I worked on during my sabbatical.  Unlike other eBooks that you may be aware of,  this book — in the words of Emeril — “kicks it up a notch”.  Using some cool open source javascript code that I’ve had to modify and bend a bit for my own use this book allows the reader to try their hand at Python right in the book.  Examples are fully runnable in two different ways.  Each section has an accompanying video.  My co-author, David Ranum and I are using this book in class this Fall and its fun to see how the students interact with the book.  We’ve had none of the usual Fall frustration at getting Python installed on students machines.  You can have a look at the book here.

via Reputable Journal, How to Think Like a Computer Scientist – Interactive Edition.

*I try to be careful when talking about new, not-yet-published work here, because it annoys reviewers when they can easily discern the authorship of a “blind review” paper.  In CS Ed, the identity of *any* work can be easily determined within five minutes of Googling/Binging — there are just too few people in the field.  Still, reviewers downgrade our scores because I “broke faith” by talking about the work in my blog. Sigh.

On a more positive note, we got three papers accepted to ICER 2012, so I do plan to talk about that work here soon.

Entry filed under: Uncategorized. Tags: , .

Barbara quoted in USNews on Summer Camps Instructional Design Principles Improve Learning about Computing: Making Measurable Progress

14 Comments Add your own

  • […] and explore text, code, graphs, and the like. Another, which I’ve just come across through this post on Mark Guzdial’s ever-informative blog, is an interactive version of “How to Think […]

  • 2. alanone1  |  June 4, 2012 at 10:32 am

    “creative and new”?

    Well, Hypercard was a good idea in the late 80s. Too bad the folks who did the web and the browser didn’t understand it, or we would have had “interactive books” for more than 20 years now.

    (And I seem to recall much earlier work … )

    I miss why “this is a triumph for open source” …

    I worry also about this: “The single most important skill for a computer scientist is problem solving.”


    I don’t think this is even close to what the important skills might be.

    The title is “Thinking Like A Computer Scientist” — I hope this is not true.

    Mark, why not just put your analysis of this online and #$%^ the reviewers?



    • 3. Mark Guzdial  |  June 4, 2012 at 10:58 am

      Hi Alan,

      This Python eBook is interesting for a couple of reasons that ay not be evident on the surface. First, the Python interpreter is executing entirely within the browser: No AJAX, nothing on the server. Second, Brad and David have been spending a lot of time on the authoring interface (and still developing it). Thus, it’s relatively easy to build new books, and the books can run on anything, including tablets and smart phones, even when not connected to the network.

      I won’t defend the content. Brad and David wanted to focus on the infrastructure, so they used a public domain textbook for the content ( We balked at exactly the same line you’re pointing out. Brad and David are now porting their Python data structure book to their platform. Barb is extending it this summer, and I’m hoping to write new content in this form next academic year.

      I can ignore the reviewers (“full professor” == “deadwood” :-), but my students and collaborators can’t. I have had one student get a negative review because the reviewer got angry with me because I blogged about the work. I’m working with my students and collaborators to figure out what works best for them.


      • 4. alanone1  |  June 4, 2012 at 11:16 am

        Hi Mark

        I realize it is executing in the browser, but that would be where Hypercard would have been if if if ….

        And Hypercard was WYSIWYG etc.

        Both “better” and “perfect” are the enemy of “what is needed”



  • 5. Laurissa  |  June 4, 2012 at 2:04 pm

    I love the idea of being able to try things out within the book itself. Glad to see people are working to make e-texts a better experience for students.

    Several months ago, I helped organize a focus group of first year students that discussed their experiences with educational technology. They all loved the *idea* of e-texts but felt the ones they used were too much of a hassle. A common complaint was having to toggle back and forth between screens while reading and working on assignments. Many of them even admitted to buying a hard copy book (in addition to the e-text) just out of convenience.

    Are you familiar with Kathleen Fitzpatrick’s work at all? She has a lot of interesting ideas about the academic publication process and expresses some rather strong opinions about peer review in her book Planned Obsolesce:

    The book itself (published by New York University Press), actually went through a completely open review process on Media Commons:

    • 6. Mark Guzdial  |  June 4, 2012 at 7:39 pm

      I’m not familiar with Kathleen’s book, but will definitely take a look — thanks! There were a couple of papers at ICER last year that spoke to the problems of low self-efficacy, and one mentioned how the challenges of installing IDE’s can be an early failure that influences that perception. An IDE in the book helps to alleviate that problem, in the same way as it addresses the problem that your students are mentioning. It’s all one educational system, book plus IDE.

  • 7. nickfalkner  |  June 4, 2012 at 10:18 pm

    I’ll be seeing you at ICER, definitely. Congratulations on the three that did get up!

  • 8. Jack Toole  |  June 5, 2012 at 1:19 am

    This is really exciting!

    I think one of the biggest problems in education is that we present most information one-way, from us to students, interspersed with small amounts of interaction, even though students learn much more from interactive elements than non-interactive parts (great teachers or discussion-oriented classes often avoid this, of course, but most of the courses I took did not). Ideally, I think course content will be presented primarily interactively, interspersed with small amounts of one-way presentation where necessary.

    While others have addressed the benefits of embedding the interpreter in the book, I’m more excited about the visualization portion. Coming up with an accurate mental model of computation is difficult, and I think there is a lot of potential for visualizations to bridge that gap, allowing educators to better communicate their mental models to students (since a lot of our mental models are more visual than verbal).

    I’ve been working on addressing this problem for the University of Illinois’ CS2, though from a different angle, focusing on interactive content rather than interspersed programming activities. I’m going to be launching the beta version next week, although I still have a long way to go until I have the level of content coverage I’d like.

  • 9. guy  |  June 5, 2012 at 2:34 pm

    Great to see; even better to hear that they are working on the infrastructure side. I started experimenting with a small Logo interpreter (Java applet) embedded in BFOIT’s intro to programming lessons about ten years ago. It has really been a struggle to keep a Java applet working properly in all the different browser’s.

    The issue that Laurissa brings up – the importance of keeping the interactive program close to the text explaining what the reader should try – is so important… I’ve found this impossible to do with a Java applet. The browsers (or maybe it’s the JVM embedded in the browsers) gets confused if you try to place a Java applet in multiple spots on a single web page. And there is the problem that one can’t paste into a Java applet…

    Thanks for the pointer Mark…

  • […] worthwhile.  (I’ve downloaded it for review on my way home Sunday, when I saw that it has a whole section on ebooks.)  I recommend diving into this material through Seb Schmoller’s blog, linked below, because […]

  • […] games” was better, but I think that name has its own baggage with our in-service teachers. What could we call these new media, such that students would interact with them differently than tr…? The report is based on a survey conducted this spring of students and faculty at five universities […]

  • […] Education, and Christine Alvarado will present a lightning talk on our ebook evaluation of the Runestone Interactive Python book.  I will likely miss some blog posts between now and when I return 13 September.  (It will be […]

  • […] Books work. Let’s make books better. Why build off lectures? Why try to “take over” courses? For good reasons, a MOOC is […]

  • […] technical report on evaluation of Luther College students’ use of the first generation Runestone Interactive Python ebook is finally available: This was a paper that we wrote for ICER […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other followers


Recent Posts

Blog Stats

  • 2,039,504 hits
June 2012

CS Teaching Tips

%d bloggers like this: