requirements in a single approach/
system. Guzdial and Tew15 argue
that it is more important students
perceive a learning experience to be
authentic than that they learn in a
manner that is completely consistent with real-world practices.
Students perceive EarSketch to be
authentic across computing and music domains (related research findings
are discussed later). Learning with
EarSketch is personally meaningful to
students who can create music in styles
and genres that they like. EarSketch’s
use of popular programming languages, its reliance on multi-track audio editing paradigms in its interface and API
design, and its library of sounds created
by well-known musicians (as we will explore next) emphasize the relationships
between the learning environment and
real-world practices in both the computing and music industries. The EarSketch curriculum builds upon these
connections by incorporating appropriate computing and music skills and
by assessing students through projects
that further emphasize the real-world
relevance of students’ learning.
Unlike systems such as McCartney, 28
Puckette, 32 and Aaron, 1 EarSketch is
not intended for use by algorithmic
music practitioners and researchers.
EarSketch’s focus on immediate opportunity to act, a high level of abstraction, and a connection to multitrack
audio editing paradigms leads to a feature set that fully supports an introductory computer science curriculum. The
design resulting from these priorities,
however, precludes support for lower-level audio synthesis, signal processing, and symbolic music manipulation features that are common across
programming environments designed
specifically for musicians creating
algorithmic music. Ariza3 provides a
thorough overview of algorithmic computing environments designed for that
distinct use context.
Here, we further describe the EarSketch learning environment and curriculum in the contexts of immediate
opportunity to act and of perceived authenticity.
The EarSketch learning environment
is a browser-based application that
uses modern Web standards and the
In the EarSketch code editor, stu-
dents write code in Python or Java-
Script, using either a text editor or a
blocks-based visual code editor. 5 Re-
gardless of language or editor cho-
sen, they use the same application-
programming interface (API) to create
music. The use of programming lan-
Figure 1. The EarSketch learning environment includes a sound browser (left), code editor
(center bottom), digital audio workstation (center top), and curriculum browser (right).
Figure 2. Audio engineer Young Guru, who created many of the sounds in the EarSketch loop
library, reviews an EarSketch student’s project.