iGetIt! Music

Online music education courseware for non-musicians who want to learn how to write their own rock songs.

My Photo
Name:
Location: Austin, Texas, United States

This blog documents the development of JIMS iGetIt! Music System (JIMS). JIMS' goal is to help you Understand Music in 24 Hours™, if you are (a) a non-musician (b) who wants to learn how to write your own rock songs. Requiring no instrument other than your own computer, and without using traditional notation, JIMS is being designed to deliver a deep understanding of tonal structure...in just 24 hours.

Saturday, October 17, 2009

Separation of concerns in music education

Computer science has an important concept called separation of concerns, first described by Dijkstra in his 1974 paper On the role of scientific thought as follows:

Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one's subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. [...]

It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by "focusing one's attention upon some aspect": it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant.

JIMS is "concerned" with one thing, and one thing only: the efficiency with which the concepts of tonal music can be learned.

This does not mean that I consider other musical "concerns" (such as performance skills, music history, ehtnomusicology, etc.) to be unimportant.  Quite the contrary! Rather, it is only by studying each concern in isolation that its unique characteristics can be understood with sufficient clarity to enable the concern to be re-integrated with other related concerns.

In this video, starting about 8:50m in, Dijkstra compares writing software to writing music, and discusses the impact of higher-level programming languages—that is, languages that express programming concepts at a higher level of abstraction. This discussion is apt because one could consider JIMS to be a "higher level language" for music, compared to traditional notational and gestural languages.

In the above video at 17:25m, there's a quote about elegance from EWD 1284 which reads,

In some ways programs are among the most complicated artefacts mankind ever trued to design, and personally I find it fascinating to see that reasoning about them is so much aided by simple, elegant devices such as predicate calculus and lattice theory. After more than 45 years in the field, I am still convinced that in computing, elegance is not a dispensable luxury but a quality that decides between success and failure; in this connection I gratefully quote from The Concise Oxford Dictionary a definition of "elegant", viz. "ingeniously simple and effective". Amen.

The use of "simple and effective devices" (such as isomorphic note-layouts, solfege, and the tonnetz) is precisely how JIMS intends to help students "reason about music."

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home