Course Description and Objectives

Programming Digital Media introduces a broad array of topics related to digital media through project oriented programming of graphics, audio, and hardware applications. The motivation for this course is to provide a basic introduction to computer programming using subjects that are relevant or appealing to students who are new to technological fields of study, with little to no prior programming experience. The course is presented in five segments covering an introduction to the basic concepts of coding, three distinct areas in digital media, followed by a final integration project combining elements of these areas. There is a strong emphasis on computer programming tasks throughout, and the hands-on exercise of digital media tools in class is required.

The specific digital media topics covered in this course are:

  • Real-time graphics rendering and user interactions.
  • An introduction to the concepts and coding applications of sound design.
  • Basic electronics and physical computing.

A more detailed breakdown of this course’s core objectives, costs, a general schedule of the topics covered, and more can be found here.

Online Resources

This website serves as an online textbook covering the course material, code examples, and additional external resources to help enhance the understanding of the covered topics. On the left side of the screen you will see a navigation panel. You can utilize this panel to easily jump to the various units, or to different chapters or lessons within each unit. Each of the first four units are broken up into a collection of three chapters. Those chapters contain varying numbers of lessons covering topics within the themes of that chapter. At the end of each chapter is a summarized review of the concepts covered during the lesson, as well as an additional review assignment that can be completed for additional practice prior to moving on to that chapter’s final assignment.

In addition to the sections covering course content, you will notice two additional units in the navigation panel: Integrations Project and Additional Resources. These units contain information relevant to the final project, which combines elements from all of this course’s units, and outside resources such as tools, tutorials, videos, and more that may prove helpful for students taking this course. It is highly recommended that students taking this course add this page to their browser’s bookmarks for easy access to all of this information.

Table of Contents

Below is a table of contents for all 12 of the chapters covered in this online textbook. Specific lessons within each chapter can be found via the navigation panel on the left side of the web page


The lessons and code examples shown on this webpage were created by: (in alphabetical order)