Syllabus .   Assignments .   Schedule .  Resources .


905 S. Raymond Avenue, Room 510

Amanda Stojanov / 

By Appointment


Thursday 2pm-6:50pm

This course is an introduction to the concepts and principles of computer programming while developing the skills required for creating generative work. Computers and computer code are everywhere around us. They run a large part of our life, organize our schedules, play our music, help us communicate, etc. In art and design software is used in a variety of stages in the production of new work. In your own practice, you probably make use of software on a daily basis. Most software that we use is a tool that was written for us by someone else, therefore you are limited in the way you use it by what the author of the software deemed necessary to include in it. Many artists and designers have started writing their own software to not be limited by the constrains that proprietary software may impose. The goal of this course is to get you started with using code to create your own custom software applications and to learn how express your ideas in code.

Students in Generative Design will be able to: (CLO1) Create code based imagery, (CLO2) Develop for non-traditional contexts, (CLO3) Create non-traditional interactive experiences, (CLO4) Foundational understanding of programming, (CLO5) Present their work and give a meaningful explanation of it to their peers as well as critique the work of their peers.

Each class is divided into three parts; critique, lecture, and demonstration/workshop. We will work on 4 medium size projects to practice implementing what you’ve learned in each module. Each project is a mix of design and technical challenges. The projects will start off simple but will become more challenging as your knowledge of programming grows. Halfway through the course you will create a website for your midterm where you can upload your sketches. At the end of the course you’re expected to create a final project that incorporates what you've learned including emotion, narrative, and sound. The project is open-ended and requires you to create a unique code-based work.

All sketches and other homework files must be uploaded to the class dropbox folder. In the class dropbox folder you will find a folder with your name. In this folder you will find a folder for each project that you will be doing in class. When handing in a project, copy your sketch and any other related files into the corresponding project’s folder.


The class website will be your main source for the most recent information about the course schedule, homework, midterm, and the final project. Links to in-class examples, additional readings, and other relevant information will also be posted to the website.

Getting Started with p5.js, Lauren McCarthy, Casey Reas, and Ben Fry. Maker Media. 2015.

The Coding Train: p5.js tutorials
FORM+CODE in Design, Art, and Architecture by Casey Reas and Chandler McWilliams. Princeton Architectural Press, 2010.

Grading will be based on the eight projects, the midterm, the final, and class participation. Each project will be evaluated on its originality, aesthetic qualities, and technical implementation. To successfully complete a project you should show that you have an understanding of the technical aspect of what you’ve learned and are able to apply this knowledge in a meaningful way. Since this will be a new medium for most of you, personal growth, engagement with the material, and showing ambition will also be factored into the equation. Class participation means punctuality, focus, articulation of your concepts, and contribution to the class critiques and discussions.

Projects 1 – 8    40%
Midterm           20%
Final                  30%
Participation   10%


To complete a course successfully, students must attend all class sessions (unless they are engaged in research or location assignments that have been authorized in advance by the class instructor of the missed class). The instructor takes attendance at the beginning of each class.  At the discretion of the instructor, three or more absences may result in a grade of F. Students who miss a class due to illness should discuss the absence with the instructor at the next class meeting. Students who are ill for a week or longer should inform their Department Chair’s office of their absence. Please see the full Attendance Policy in the Student Handbook for more information.


Academic and creative integrity is essential to personal and educational growth of students, which all members of the ArtCenter community are expected to uphold. This value maintains the standards of excellence of the College and creates a meaningful learning environment. A violation of the Academic and Creative Integrity Policy is defined as misconduct including but not limited to plagiarism, creative dishonesty, multiple submission of the same work, cheating, unauthorized collaboration, misrepresentation of ability, sabotage, falsification of records, and complicity in any of the above. The full Academic Integrity Policy can be found in the Student Handbook.


We understand the classroom as a space for practicing freedom; where one may challenge psychic, social, and cultural borders and create meaningful artistic expressions. To do so we must acknowledge and embrace the different identities and backgrounds we inhabit. This means that we will use preferred pronouns, respect self-identifications, and be mindful of special needs. Disagreement is encouraged and supported, however our differences affect our conceptualization and experience of reality, and it is extremely important to remember that certain gender, race, sex, and class identities are more privileged while others are undermined and marginalized. Consequently, this makes some people feel more protected or vulnerable during debates and discussions. A collaborative effort between the students, TA, and instructor is needed to create a supportive learning environment. While everyone should feel free to experiment creatively and conceptually, if a class member points out that something you have said or shared with the group is offensive, avoid being defensive; instead approach the discussion as a valuable opportunity for us to grow and learn from one another. Alternatively if you feel that something said in discussion or included in a piece of work is harmful, you are encouraged to speak with the instructor or TA. Statement of diversity written by voidLab

If needed, this syllabus may be revised to better suit the class. Students are responsible for keeping up with any changes distributed during e-mail or in class.


  1. Help out your classmates, make comments, ask me lots of questions!
  2. This is a hard course, you must learn to think like a computer.
  3. Come to grips with this process of iterating on an idea. Make a thing, then make it a better thing.
  4. Learning to program is failure followed by success.
  5. Don’t take error messages and crashed programs personally.
  6. Celebrate the small victories!
  7. This class is a collaboration between all of us. If you are feeling left behind, stuck, or frustrated in any way, please let me know immediately.

©, all rights reserved.