Fall 2014»HONS 381 Course Syllabus

HONS 381 Course Syllabus

College of CharlestonAug 19, 2014

HONS 381: Computer Music on a Laptop:

Composing, Performing, Interacting

Course Syllabus


Dr. Bill Manaris

Dr. Yiorgos Vassilandonakis


Room: 326 Harbor Walk East
Phone: (95)3-8159
E-mail: manarisb@cofc.edu
Web: http://www.cs.cofc.edu/~manaris/

Room: 204 Cato Center
Phone: (95)3-3845
E-mail: vassilandonakisy@cofc.edu
Web: http://music.cofc.edu/about/faculty-and-staff-listing/vassilandonakis-yiorgos.php

Course Description:

Principles of music composition and computer programming for developing interactive computer music environments. Team-based, project-driven exploration of Python programming, time-based structures, algorithmic processes, soundscapes, graphical user interfaces, musical language and style.


  1. Basic computer experience, including file organization and software installation.
  2. Interest in developing intelligent-listening and sound-structuring skills.


Students need their own laptops and headphones.

Course Topics:

Computer Science: Algorithm, setting up Python and the music library, data types, variables, assignment, arithmetic operators, input / output, MIDI language and protocol, selection (if statements), relational operators, iteration (loops), lists, functions, audio representations (WAVE, MP3), modularization (functions), classes (object-oriented design), events, and graphical user interfaces (GUIs).

Music: Aural awareness, musical space (line, register, field), sound elements (envelope, timbre) and properties (pitch, rhythm, timbre, spatial orientation), time structuring & time scales (rhythm and pulse complexes, event density, beat modulation, serialization, palindromes, open time fields, psycho-physical time), pitch organization systems, (horizontal and vertical), grammar and syntax of traditional and non-traditional musical languages (communications systems), gesture-form-structure, global musical structures and systems, applications of fractals in musical time and space, soundscape & texture building, interactive music models, psychoacoustics, basic principles of composition.

Synthesis Experiences: Students will follow pair-programming paradigm to develop music compositions through algorithmic design and implementation in Python.

The above outline is tentative; some topics may be added, others subtracted, as interest suggests and time permits.



Additional reading materials will provided via handouts and the class website.

Learning Outcomes:

  • Introduce music composition in the context of designing sound in time, graphic representation (musical notation), sound as a building block, basic principles of sound organization.
  • Learn basic principles for group collaboration.
  • Apply Python numeric and string data types to represent information.
  • Use variables in program development.
  • Understand arithmetic operators and use them to design expressions.
  • Understand sound as a time-based event with spatial parameters.
  • Create representations of notes, phrases, parts, and scores in Python.
  • Create divisions of space and time continua into small increments and organize them with scales.
  • Understand the concept of modular design in sound.
  • Understand the basic algorithmic building blocks: sequence, selection, iteration, and modularization (functions and objects).
  • Apply additive processes to pitch and rhythm cells.
  • Understand the concept of indeterminacy within certain levels of divisions of musical space, while maintaining determinacy in large-scale structure.
  • Understand Pythonís random operations and apply (map) them to create musical structures.
  • Analyze methods of organizing global musical structures.
  • Understand Pythonís if statement and apply it to implement algorithmic selection patterns.
  • Understand Pythonís for-loop statement and apply it to implement algorithmic iteration patterns.
  • Understand sound blocks and sound masses.
  • Apply Pythonís list data structure to represent sequences of data.
  • Understand Pythonís functions and apply them to modularize algorithmic processes.
  • Develop musical gestures and incorporate them within global formal designs.
  • Understand Pythonís classes and apply them to build computer music instruments.
  • Analyze and manipulate musical timbre.
  • Understand and apply principles of event-driven programming.
  • Learn graphical user interface (GUI) widgets and use them to create basic GUIs.
  • Understand basic principles of psychoacoustics and music perception and cognition.
  • Analyze existing idioms and generate a new one.
  • Create interactive computer music instruments.

Attendance Policy:

Attendance to all class meetings is absolutely necessary. Each unexcused absence will result in points reduced from the course grade. In the event of personal or family emergencies, students are encouraged to seek help in managing their class absences at the Dean of Students Office.

Concert Attendance Requirement:

Students are required to attend at least two CofC contemporary music concerts during the semester, and write a paragraph describing or critiquing one of the pieces performed. Eligible concerts include the Magnetic South concert series, the CofC contemporary ensemble concerts, and the Composition Seminar and Forum concerts. Details will be announced during the semester.

Grading Scale:

90-100; B: 80-89; C: 70-79; D: 60-69; F: <60. The grades of B+/Ė, C+/Ė, and D+/Ė may be given at the professor's discretion.

Final Grade Computation:

Group Projects/Quizzes: 60%, Paper(s): 20%, Class Participation: 10%, Concert Attendance: 10%

Honor Code:

Students are expected to abide by the C of C Honor Code, and follow the guidelines for academic integrity. Violators will be reported without exception. For more information, consult the Student Handbook.

Health Information:

Also see information on hearing health and hearing loss and describes precautionary measures that all of us should practice daily.