Algorithmic
Music

 

A New Way Of Looking at Music

Music is an ideal medium for expressing patterns. Music is constructed from many different patterns: rhythmic, harmonic, and structural. We believe that music provides a domain in which students can creatively explore the basic ideas of computation. Haskore is a language of algorithmic music composition that allows students to build complex compositions using simple function definitions.

Haskore is (at present) embedded within the Haskell language. Although this makes it hard to use in a classroom setting, we have put Haskore in the classroom in a supervised setting as a way to teach basic principles of computing to high school students. We plan to create a new version of Haskore this is more appropriate to the classroom setting.

Why is music an effective vehicle for lessons in computation? We believe that algorithms expressed in musical terms have a unique ability to involve students in their design and understanding. Students create tangible artifacts that can be shared with others and reward their creativity. Patterns of computation become patterns of sound, yielding a new medium to excite student interest.

Student Compositions

These MIDI files were created by students at the Maine School for Science and Mathematics after a short introduction to Haskore. Although these compositions won't win any prizes, they spurred interest in both the process of composition (functional programming) and the aesthetics of music.

There are more examples and some powerpoint slides at the CAMPY page.

 

 

 

 

Computer Languages for Secondary Education