iPython Integration Ideas, via Titus Brown

Dr. C. Titus Brown is a professor at MSU and one of my committee members. He recently sent me this blog post, entitled “IPython Notebook + Towtruck + Etherpad + Slide Drive = Win.” The article describes an ideal learning tool for students to interactively program with input from professors as well as other students. Greg Wilson, author of the post, claims that no perfect integrated teaching tool exists in today’s world. He instead proposes a combination of four existing tools, each of which I will give a moment of discussion.

IPython: a live notebook which supports plaintext, LaTeX, Python shell, html, and a variety of other media

Towtruck: a collaborative code-editing tool from Mozilla (which is still in the prototype stages); allows simultaneous updating from several users, like Google docs

Etherpad: a discussion-oriented real-time collaboration tool with a live chat feature

Slide Drive: a method of creating slides with voice-over, saved as svg for easy distribution

Wilson suggests that his ideal tool to teach programming would support all of the functions of the four tools listed above. Students would start with IPython interactive lessons which they could accompany with synced audio voiceover and automated code highlighting/execution where appropriate. If students wanted help, feedback, or to share ideas, they could share their notebook session with other users in the browser, which would feature note-taking sections and as well as text chat.

Wilson argues that such a resource for teaching would appeal to the generation of MMO games, noting that he didn’t learn how to play Homeworld in a classroom, but instead “a 14-year-old in Florida took pity on me after crushing me a few times and showed me how to maneuver my ships more efficiently.” Essentially, the combined mega-tool that Wilson proposes would facilitate casual online mentoring and learning.

Unfortunately, he suspects that development of such a tool would require a “one talented programmer year” would be required to create a usable prototype, despite the fact that all of the component pieces already exist.


Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s