LivecodingGrades

From Toplap
Revision as of 22:27, 31 July 2005 by 84.9.37.205 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Authors: AdrianWard, AlexMcLean, NickCollins

Here is a suggested outline for skills required in a formal (graded) assessment of livecoding skills. It is my hope that these requirements eventually be adopted by http://www.abrsm.org/ and the basis of this curriculum be used by music teachers everywhere. Feel free to make suggestions and alter as necessary, adding your name to the list of authors. This document is very much provisional.

Grade 1

The student should be able to demonstrate

  • coherent logic in the choice of a suitable language/livecoding environment
  • QWERTY familiarity (or other keyboard layout where appropriate)
  • mouse agility (where relevant)
  • understanding the key principles of a text editor or graphical patcher
  • how to use variables, input and output

The student must perform one piece of music, using a choice of one of the three following techniques

  • the system beeper
  • /dev/audio
  • MIDI

Grade 2

The student should be able to demonstrate

  • logical and mathematical operations on variables, including
    • summing
    • modulus
    • boolean logic
  • modularity in implementation
  • the use of functions/procedures/patches/handlers (dependent upon livecoding environment)

The student must perform two pieces of music. The first must be entirely improvised but the student may choose to bring into the exam no more than three pre-written snippets of code totalling no more than 256 bytes (UTF-8 encoding). The second piece must demonstrate at least two concepts from the following list

  • polyrhythm
  • recursion
  • remapping without the use of lookup tables
  • data sonification

Grade 3

The student should be able to demonstrate

  • proficiency to atleast Grade 2 level in atleast two livecoding environments
  • a balanced, considered and unbiased critique of both of those environments
  • the ability to abuse the facilities of traditional non-livecoding programming languages in order to obtain creative results

The student must perform three pieces of music, all from scratch and with no prior code. The first piece must reimplement the same pragmatic scheme used in the student's Grade 1 examination, but must be modified to produce a vastly different piece of music. The remaining two pieces must demonstrate collaboration with other livecoders in realtime.

Grade 4

The student should be able to demonstrate

  • the ability to sonify any well known computing algorithm (these will be provided by the examiner at the time of the exam)
  • proficiency in adeptly (and unobtrusively) handling atleast two of the following scenarios
    • a calculation error/malfunctioning algorithm
    • unhandled exception errors/runtime errors/arbitrary garbage input (as appropriate)
    • atleast three sticky keys from a spilt beverage

The student must perform one piece of music from scratch and with no prior code. In addition, the student will be given three routines from unfamiliar languages along with the minimum knowledge necessary to trigger audio events. The student will be expected to modify the routines to generate a performance that lasts atleast 15 minutes. Routines may be overlapped and duplicated, but no additional routines may be used.

Grade 5

The student should be able to

  • keep atleast 100 clubbers dancing for atleast 30 minutes
  • smoothly recover from a major system crash/kernel panic/"Application unexpectedly quit" problem
  • do all of this whilst drunk

Grade 6

The student should be able to

  • keep atleast 100 electro-acoustic musicians dancing for atleast 30 minutes without the use of intoxicants
  • deliberately induce a major system crash/kernel panic/"Application unexpectedly quit" problem

Grade 7

The student should be able to

  • develop, deploy and use in a live performance their own livecoding environment (which may be a subset of an existing language providing sufficient additional flexibility is obtained)
  • dance convincingly to a given algorithm without it being sonified

Grade 8

The student should be able to demonstrate

  • the ability to forcefully break their own livecoding environment with the intention of producing music
  • a healthy disdain for the classical didactic techniques deployed in traditional music tutorship