Fall2014.HONS381CourseSyllabus History

Show minor edits - Show changes to markup

Changed line 67 from:
  • Bill Manaris and Andrew Brown (2014), ''Making Music with Python".
  • B. Manaris and A. Brown, Making Music with Computers: Creative Programming in Python, Chapman & Hall/CRC Textbooks in Computing, May 2014.
Changed line 23 from:

Room: 223 J.C. Long Building \\


Room: 326 Harbor Walk East \\

Added lines 1-138:
College of CharlestonAug 19, 2014

HONS 381: Computer Music on a Laptop:

Composing, Performing, Interacting

Course Syllabus

(:table border=0 width=100%:)

(:cell width=20% align=right style='padding:5px;':) Professors: (:cell width=40% style='padding:5px;':) Dr. Bill Manaris
(:cell width=40% style='padding:5px;':) Dr. Yiorgos Vassilandonakis
(:cellnr valign=top align=right style='padding:5px;':) Office: (:cell style='padding:5px;':) Room: 223 J.C. Long Building
Phone: (95)3-8159
E-mail: manarisb@cofc.edu
Web: http://www.cs.cofc.edu/~manaris/
(:cell style='padding:5px;':) 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 (:tableend:)

(:table border=0 width=100%:)

(:cell width=20% align=right style='padding:5px;':) Course Description: (:cell width=80% style='padding:5px;':) 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.

(:cellnr valign=top align=right style='padding:5px;':) Prerequisites: (:cell style='padding:5px;':)

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

(:cellnr valign=top align=right style='padding:5px;':) Requirement: (:cell style='padding:5px;':) Students need their own laptops and headphones.

(:cellnr valign=top align=right style='padding:5px;':) Course Topics: (:cell style='padding:5px;':) 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.

(:cellnr valign=top align=right style='padding:5px;':) Textbook: (:cell style='padding:5px;':)

  • Bill Manaris and Andrew Brown (2014), ''Making Music with Python".

(:cellnr valign=top align=right style='padding:5px;':) References: (:cell style='padding:5px;':)

  • Jython Music website.

Additional reading materials will provided via handouts and the class website.
(:cellnr valign=top align=right style='padding:5px;':) Learning Outcomes: (:cell style='padding:5px;':)

  • 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.

(:cellnr valign=top align=right style='padding:5px;':) Attendance Policy: (:cell style='padding:5px;':) 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.
(:cellnr valign=top align=right style='padding:5px;':) Concert Attendance Requirement: (:cell style='padding:5px;':) 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.
(:cellnr valign=top align=right style='padding:5px;':) Grading Scale: (:cell style='padding:5px;':) 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.

(:cellnr valign=top align=right style='padding:5px;':) Final Grade Computation: (:cell style='padding:5px;':) Group Projects/Quizzes: 60%, Paper(s): 20%, Class Participation: 10%, Concert Attendance: 10%

(:cellnr valign=top align=right style='padding:5px;':) Honor Code: (:cell style='padding:5px;':) 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.
(:cellnr valign=top align=right style='padding:5px;':) Health Information: (:cell style='padding:5px;':) Also see information on hearing health and hearing loss and describes precautionary measures that all of us should practice daily. (:tableend:)