CS 577 Algorithms and Music Composition

Prerequisite: CSIT 512 or Permission from Instructor 

This course explores the relationship between computer programming and musical composition. Students study selected elements of music, including sound sources, rhythms, melodies, and harmonies, and learn how to generate these elements with functions and algorithms. Students also develop computer programs that generate structured musical compositions. The course includes several individual hands-on assignments, participation in a "laptop ensemble," and presentation of a final project. Students learn new programming languages and tools from the area of musical computing, solve new problems, and improve their function and algorithm design skills. A background in music may be helpful but is not required. Students are expected to have completed one course in a modern, object-oriented language such as Python, C++, or Java.

Credits

3.0

Offered

Summer Semester