Media Computation today: Runestone, Snap!, Python 3, and a Teaspoon Language
September 6, 2021 at 7:00 am 5 comments
I don’t get to teach Media Computation1 since I moved to the University of Michigan, so I haven’t done as much development on the curriculum and infrastructure as I might like if I were teaching it today. I did get a new version of JES (Jython Environment for Students) released in March 2020 (blog post here), but have rarely even started JES since then.
But using Jython for Media Computation is so 2002. Where is Media Computation going today?
I’ve written a couple of blog posts about where Media Computation is showing up outside of JES and undergraduate CS. Jens Moenig has been doing amazing things with doing Media Computation in Snap! — see this blog post from last year on his Snap!Con keynote talk. SAP is now offering a course From Media Computation to Data Science using Snap! (see link here). Barbara Ericson’s work with Runestone ebooks (see an example blog post here) includes image manipulation in Python inside the browser at an AP CS Principles level (see example here). The amazing CS Awesome ebook that Beryl Hoffman and Jen Rosato have been doing with Barb for AP CS A includes in-browser coding of Java for the Picture Lab (see example here).
I was contacted this last January by Russ Tuck and Jonathan Senning. They’re at Gordon College where they teach Media Computation, but they wanted to do it in Python 3 instead of Jython. You can find it here. It works SO well! I miss having the image and sound explorers, but my basic demos with both images and sounds work exactly as-is, with no code changes. Bravo to the Gordon College team!

Most of my research these days is grounded in Task-Specific Programming languages, which I’ve blogged about here (here’s a thread of examples here and here’s an announcement of funding for the work in social studies). We now refer to the project as Teaspoon Computing or Teaspoon Languages — task-specific programming => TSP => Teaspoon. We’re adding a teaspoon of computing into other subjects. Tammy Shreiner and I have contributed a chapter on Teaspoon computing to a new book by Aman Yadav and Ulf Dalvad Berthelsen (see announcement of the book here).
We have a new Teaspoon language, Pixel Equations, that uses Media Computation to support an Engineering course in a Detroit Public School. Here, students choose a picture as input, then (1) enter the boolean equations for what pixels to select and (2) enter equations for new red, green, and blue values for those pixels. The conditionals and pixel loops are now implicit.
In several of our tools, we’re now exploring bilingual or multilingual interfaces, inspired by Sara Vogel’s work on translanguaging (see paper here) and Manuel Pérez-Quiñones’s recent work on providing interfaces for bilingual users (see his TED talk here and his ACM Interactions paper here). You can see in the screenshot below that colors can be referenced in either English or Spanish names. We’re now running participatory design sessions with teachers using Pixel Equations.

I’m planning a series of blog posts on all our Teaspoon languages work, but it’ll take a while until I get there.
- For new readers, Media Computation is a way of introducing computing by focusing on data abstractions used in digital media. Students write programs to manipulate pixels of a picture (to create photo filters), samples of a sound (e.g., to reverse sounds), characters of a text, and frames of a video (for video special effects). More at http://mediacomputation.org ↩
Entry filed under: Uncategorized. Tags: bilingual, computing education, computing education research, Jython, Media Computation, Python, task-specific programming, Teaspoon.
1.
Ranjidha | September 6, 2021 at 12:22 pm
Hello Dr. Guzdial,
I am a follower of your blogs and have always been interested in media computing and digital pedagogy. My pet peeve is how accessibility for media computing is done so that students who need accommodation can also be included in such classes. Every year I have at least one student who requires accommodation based on color blindness.
Thanks, Ranjidha
2.
Mark Guzdial | September 6, 2021 at 7:34 pm
Hi Ranjidha,
Agreed that students with color blindness can’t always see all image effects. However, many effects (like grayscale, negation, posterizing, or manipulating blue) should work for most students, even with color blindness, and effects like striping, blending, or chromakey work even for students with color blindness. When Ben Shafer teaches Media Comp, he has students figure out the analogues between image effects and sound effects, so that blind and deaf students can explore the same algorithms in different modalities.
3.
ranjidha | September 6, 2021 at 9:59 pm
Thank you, and it’s great to have sound effects too.
4.
Computer Science was always supposed to be taught to everyone, and it wasn’t about getting a job: A historical perspective | Computing Education Research Blog | November 26, 2021 at 10:00 am
[…] Participatory design of Teaspoon languages (mentioned most recently in this blog post). […]
5.
Updates: NSF Funding to Study Learning with Teaspoon Languages for Discrete Mathematics | Computing Education Research Blog | February 23, 2022 at 7:00 am
[…] This is one of the tools that we’ve been building in support for both Spanish and English keywords (like Pixel Equations, that I talked about last September): […]