Integrating the Media Computation API with Pythy, an Online IDE for Novice Python Programmers


TR Number



Journal Title

Journal ISSN

Volume Title


Virginia Tech


Improvements in both software and curricula have helped introductory computer science courses attract and retain more students. Pythy is one such online learning environment that aims to reduce software setup related barriers to learning Python while providing facilities like course management and grading to instructors. To further enable its goals of being beginner-centric, we want to integrate full support for media-computation-style programming activities. The media computation curriculum teaches fundamental computer science concepts through the activities of manipulating images, sounds and videos, and has been shown to be successful in retaining students and helping them gain transferable knowledge.

In this work we tackle the first two installments of the problem namely, supporting image and sound-based media computation programs in Pythy. This involves not only client-side support that enables students to run media-computation exercises in the browser, but also server-side support to leverage Pythy's auto-grading facilities. We evaluated our implementation by systematically going through all 82 programs in the textbook that deal with image and sound manipulation and verifying if they worked in Pythy as-is, while complementing this with unit-tests for full test coverage. As a result, Pythy now supports 65 out of the 66 media-computation methods required for image and sound manipulation on both the client and the server-side, and 81 out of the 82 programs in the media-computation textbook can be executed as-is in Pythy.



computer science education, python, javascript, web-based, media computation