Table of Contents


Programming is hard. This statement remains commonplace in today’s classrooms, workplaces, academia, and the media. Rather than debating the difficulty of programming, I investigated ways to demystify programming and promote creativity, engagement, and accessibility.

This project challenges preconceived notions surrounding programming by shedding light on the emerging world of creating coding. Many live coding environments remain free and open-source, exposing the underlying architectures and allowing for robust independent developer contributions. The design process facilities creative workflows and retains engagement with the immediacy of feedback. The design centers on creativity and expressivity.

While the live coding community champions creativity and engagement, even free and open-source software sometimes foregoes accessibility. Practically speaking, many live coding environments have steep learning curves, requiring technical proficiency and musical background as prerequisites. These prerequisites represent issues with accessibility, especially for newcomers unfamiliar with programming and musical practice.

A live coding language and performance environment, Sonic Pi presents an alternative, approachable way of engaging with programming. To engage youth in learning fundamental computer science concepts, Sonic Pi draws metaphorical associations with music. For example, arpeggiation involves iterating through a sequence of notes in any particular fashion. Using music as the medium teaches programming while exercising their creative minds.

This project tackles accessibility issues by contributing to the steadily growing resources for learning about live-coding performance practices. The result of the project is a repository of artifacts produced during this semester consisting of compositions, experiments, commentary, documentation, media, and online resource compilation.

In conclusion, programming can be creative, engaging, and accessible. While creativity and engagement are core aspects of the live coding landscape today, humanistic resources such as experiential, behavioral, testimonial documentation can make starting fresh with live coding less daunting and live coding performance more approachable.


An overview of the contents of this project.


A compilation of code, audio, and video produced over the semester.



A final report discussing the project and the original proposal embedded as PDFs.