Carnegie Mellon University

ECE-18090: Intro to Signal Processing for Creative Practice

Instructor: Professor Jesse Stiles (

Time: M/W 9:00AM -10:20AM

Location: Studio A, Hunt Library (1st Floor)

Class website:

Course Description

Course Calendar

Learning Goals



Academic Integrity

Attendance & Class Participation



Signals are the raw materials used in many forms of electronic art – video, electronic music, interactive art, kinetic sculpture, and more. In these fields, signals are used to represent information about sound, images, sensors, and movement. By transforming and manipulating these types of signals, we are able to create powerful new tools for digital art, multimedia design, music composition and performance, responsive environments, video and sound installation, mobile applications, and beyond.

In this course we will study Signal Processing from a practical point-of-view, developing tools that can be easily integrated into art-making using the graphical programming environment Max (a.k.a. Max/MSP/Jitter).  We will present a survey of Signal Processing techniques used in the sonic and visual arts, and will discuss the mathematical theories underlying these techniques.  Students will be encouraged to combine, modify, and extend working examples of software to create original digital artworks.  Course development by Richard Stern and Tom Sullivan.


The course calendar can be found online here.


  1. Present a survey of Signal Processing techniques that are used in the sonic and visual arts.
  2. Develop a working knowledge of how to implement, combine, and modify Signal Processing techniques, and to integrate these techniques into one’s art-making.
  3. Develop a familiarity with the mathematical concepts underlying Signal Processing techniques.


There are 13 Assignments that will be completed over the course of the semester.  Due dates for every assignment are listed on the course calendar.  Assignments are due before the start of the class on the date indicated.

Submission of assignments is a two step process.  

  1. The student creates a post on the course website with documentation of the work.  This will include code, video documentation, and audio documentation.  For details on the proper formatting of documentation see this page.  Documentation that is improperly formatted will be considered unacceptable.  
  2. The student turns in the assignment using Blackboard by pasting a link to your post in the “Text Submission” area.

Assignments that are delivered late will be penalized.  See the grading section of the syllabus for further details.


It is expected that all students will be working with their own laptop computer (Mac or Windows).  The course will require that students purchase a one-year license of Max for $59.  If, in the future, you opt to purchase a full license of the software in the future, this purchase will garner you a $39 discount.


When we are designing new software it is perfectly acceptable to use sections of code from examples found on the web, in help files, in tutorials, etc.  Indeed, this is not only acceptable but is totally necessary if one wants to work efficiently.

Furthermore, when we are creating new works of electronic art is perfectly acceptable to make use of found materials (video files, sound files, images, etc.) to use as raw material in creating new works of art/music/design.

When using found code/images/sounds in your own work there are two requirements:

  1. Attribution.  You must clearly identify where the code/images/sound came from.
  2. Transformation.  You must significantly transform the materials you are using.  You should extend the material, modify it into something new, offer new insight into the concepts underlying the material, etc.  Work that uses borrowed code or other materials without significantly transforming those materials will result in a low grade.

More information on CMU’s Academic Integrity policy can be found at:


Attendance:  If you are unable to attend class for any reason you must contact me in advance.  Failure to contact me before the start of class will result in an unexcused absence.  Three or more unexcused absences will result in the drop of one letter grade per absence.

Absences: You are responsible for what happens in class whether you’re here or not. Organize with your classmates to get class information and material that you have missed.

Participation: You are invited, encouraged, and expected to engage actively in discussion, reflection and activities. Our class time is precious and limited. Please refrain from texting, facebooking, tweeting, etc., during class time - this behaviour during class is distracting, disruptive, and disrespectful. Failure to follow this request will negatively affect your grade.


Grading for the course is based on 13 assignments that will be completed over the course of the semester.  Each assignment will graded on a scale from 0 to 4 points.  Of these 4 points, 2 shall be awarded to the quality and originality of the concept in the work.  Another 2 points shall be awarded to the quality of the technical execution of the work.  For both criteria, concept and execution, the determination shall be made accordingly:

0:  Incomplete.  For example: the code does not work, the work does neet address the goal of the assignment, the work was not delivered on-time.

1:  Satisfactory.  The work was delivered on time and addresses the goal of the assignment.

2:  Excellent.  The work demonstrates an outstanding concept or execution.  The work demonstrates great insight.

Your final grade will be determined from the 52 possible points that can be awarded from the 13 assignments.

Work that is delivered late will automatically have 1 point deducted from the potential 4 point score.  A further point shall be deducted for every 48 hours of lateness.  For example:  1-2 days late = maximum score of 3 points.  3-4 days late = maximum score of 2 points.  5-6 days late = maximum score of 1 point.  7+ days late = 0 points.