Carnegie
Mellon University
Introducing Media Programming
OLI is proud to offer our newest open and free course, Media Programming.

The Media Programming class teaches introductory programming concepts using the Java language. It contextualizes the task of programming by focusing on media, such as images, audio, and interactive systems. By doing so, we hope to put programming in a relevant context. For example, iteration is a programming concept that is essential to creating negative and greyscale images. You will learn algorithms for blending two images together and how hierarchical relationships are used to organize elements of a user interface. Learning more about programming will help you develop the skills of systematically thinking about a task and breaking it down into manageable pieces.

This course is based on a well tested course for non CS students -- the Media Computation course taught at Georgia Tech and developed by Mark Guzdial and Barbara Ericson. Students in their course have gone from an average of 72% success rate in CS1 (but as low as 49% for majors such as management science) to an average success rate of 84%.

This class would not have come about without the generosity and effort of many individuals. Most of the content was based [with permission] on a syllabus and slides put together by Barb Ericson at Georgia Tech. Ideas for labs and assignments were drawn [with permission] from nifty mediacomp assignments, from the labs and assignments designed by Wayne Summers at Columbus State University for his version of the MediaComp class, and from the CS6630 matlab assignments created by Michael Weeks at Georgia State University. Some useful videos can be found at the Tea Party site which discusses linking media computation and Alice.

The staff at OLI, especially Bill Jerome and Ross Strader, were instrumental in teaching us about their software and providing ongoing support for issues large and small, as well is implementing custom features for some of our needs.

The faculty member who authored the content is Jennifer Mankoff. The students who helped to create the content were Zhiquan Yeo ("ZQ"), Greg Methvin, and Young Jae Park, with additional proofreading and other help from Julia Schwarz the following year. Two students volunteered to help test the material we put together as we went (John Santerre and Richard Ram). Without their invaluable feedback this class would be a lot harder to get through.