Introduction to Computing for Creative Practice - Fall 2023

This course is an introduction to fundamental computing principles and programming techniques for creative cultural practitioners, with special consideration to applications in the visual arts, music, and design. Accessible to students with little to no prior programming experience, the course develops skills and understanding of text-based programming in a procedural style, and the application of such skills to interactive art and design, information visualization, and generative media. The course uses the p5.js variant of Processing for its programming language and toolkit. This is a “studio art course in computer science,” in which the objective is art and design, but the medium is student-written software. Rigorous programming exercises will develop the basic vocabulary of constructs that govern static, dynamic, and interactive form. Topics include the computational manipulation of: point, line and shape; texture, value and color; time, change and motion; reactivity, connectivity and feedback. Students will become familiar with basic software algorithms, including idioms of sequencing, selection, iteration, and recursion; elementary data structures (arrays, files, trees), object-oriented interfaces and functional abstraction, and other computational principles (randomness, concurrency, complexity). 15-104 satisfies the software skills portal requirement for IDeATe minors and concentrations. Students in both course numbers will develop an understanding of the contexts, tools, and idioms of software programming in the arts.

Times, Locations & People

15-104 uses a Piazza forum, where you can ask and answer questions. Find our page at: We will add you to this page using your andrew login if you are registered at the start of the semester; contact your professor if you add this class late.

Mondays, Wednesdays and Fridays, 9:00-9:50AM Eastern
All sections: GHC 4307
Notes for Fall 2023
Lectures will be IN PERSON unless otherwise announced by the university. If you cannot attend during the official lecture time slot due to illness, contact the instructor and you may be able to watch the video of the lecture online afterwards. Students must attend live, in person, if at all possible. There will be course mini-quizzes to check for attendance.
Recitations (Lab)
Section A: 8:00AM-9:20AM Eastern, GHC 5210
Section B: 9:30AM-10:50AM Eastern, GHC 5210
Section C: 11:00AM-12:20PM Eastern, GHC 5210
Section D: 12:30PM-1:50PM Eastern, GHC 5210
Section E: 7:00PM-8:20PM Eastern, GHC 5210
Notes for Fall 2023
Recitations will be in-person only, unless otherwise announced by the university.
Tom Cortina, tcortina at andrew dot cmu dot edu
Teaching Assistants
Chuong (Chad) Truong, head TA
Anabelle Lee
Yon Maor
Midori Monosoff
Juhyun (Johanna) Park
Ilia Urgen
Office Hours
See pinned message on Piazza.

Learning Objectives

Upon successful completion of this course, students will be able to:

IDeATe Common Learning Goals

As with all IDeATe courses, this course has the following additional learning goals:

Required Coures Materials

Laptop. It is strongly recommended that students have access to a personal laptop. Mac OSX, Windows and Linux are all acceptable. However, although all of the toolkits with which we work are free and cross-platform, example projects may only be tested on OSX. Sketchbook. It is wise to plan your projects on paper before writing any code. We recommend the 5″x8.25″ (LARGE) Moleskine dotted notebook, but any sketchbook will do.

Optional Course Materials

This semester we will be making occasional reference to the following two textbooks, and their associated online materials (YouTube videos, Github code repositories, etc.). You may purchase them if you wish.

Why aren’t they required? Well, our syllabus diverges from McCarthy’s book, and Shiffman’s book uses examples written in Java instead of JavaScript.)

Credits & Prerequisites

15-104 provides 10 units of academic credit, and satisfies the software skills portal requirement for CFA (arts), Dietrich (humanities) college and other students pursuing IDeATe minors and concentrations. There are no prerequisites for this course. This may satisfy a general education requirement with your college/school; consult with your academic advisor.

Communication Tools

This course uses three software systems:

15-104 uses the Piazza forum, where you can ask and answer questions, and discuss course topics. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and the professor. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. You should already be “enrolled” on Piazza and Autolab (use your Andrew ID). Please contact your professor if you need to be added.

Class Participation

You should plan to attend every single lecture (since you’re paying for it). In order to motivate this, there will be at least 15 mini-quizzes that will be posted on Canvas immediately after lecture and will be open until the start of the next lecture. These will be announced in lecture. These quizzes will be based on the course material given in that lecture. It is important to attend lectures, ask questions and participate, in order to learn effectively and perform well. You will only need 20 of these for participation points for the course. Extra quizzes can be used as bonus or to fill in for quizzes you missed.

Please be present and engaged. You can exist for an hour or so without tweeting, facebooking, chatting, texting, instagramming, emailing, etc.

For in-person recitations, bring the supplies you need to be productive. In recitation, you will work on some programming exercises and work together to solve some problems. There are Linux machines in the classroom, although you can use your own laptop if you wish. Bring your notes and sketchbook so you can reference what we have covered in class.


All Deliverables (Assignments, Projects, and Concept Questions) must be handed in on time, unless you are given instructions otherwise. Generally, unless otherwise indicated, Deliverables will be due at 11:59pm Eastern on Saturdays. Look at the schedules for exceptions.

Deliverables are due at a specified date and time. If you miss the deadline (by even one minute, according to Autolab’s clock), deliverables may be submitted up to 24 hours late with a 2 point penalty. No deliverables will be accepted after the 24-hour late period, except in the case of medical or family emergencies or other pre-arranged university-required absences that are approved by the instructor.

Autolab Grace Days: As an exception to the previous rule, students will be provided with 5 “grace days,” which are basically free extensions to be used at your discretion for submissions using Autolab. Students may use up to 5 total grace days over the semester, though no more than 1 grace day on any particular deliverable. Note that you may not combine grace days with late days so, even with grace days, no deliverables will be accepted after the 24-hour late period. Thus: deliverables submitted more than 24 hours late will receive a grade of 0.

In rare cases, students legitimately need more time. In these cases, you will almost certainly need to make up work in multiple courses. You should ask your advisor to contact your professors and help you devise a reasonable plan to catch up. We will be very cooperative with you and your advisor, and you might be surprised how much support you will get. –it happens. On the other hand, if all your other courses are fine and you just happened to blow off deadlines in 15-104, and your advisor is not supporting you, we will not be pleased.


There are 2 midterm exams, 2 lab (programming) exams and 1 final exam scheduled for the course. See the course Calendar for examination dates, and the Rubric and Grading policies (below) to understand the percentages by which Exams contribute to your grade.

Extended-Time Policy: We gladly accommodate students with university-approved extended time (as approved by the Office of Disability Resources). Please be sure to discuss this with the course instructor, ideally 1 week before the exam.

Late Policy: No late / make-up examinations will be administered, except in the case of medical or family emergencies or other university-required absences. For qualifying missed examinations, students should obtain instructor approval before missing the examination.

AN IMPORTANT NOTE ABOUT FINAL EXAMS: Do NOT make travel plans until you have the official final exam schedule, and you know definitively when your last final is. No early exams will be given, and students with conflicts or more than 3 exams in 25 hours might need to take a final on the official makeup day (Mon., Dec 18). Travel cost or a parent booking a trip for you is NOT a valid excuse for an alternate final. NO EXCEPTIONS.

Masks and Food/Drink/Smoking/Vaping

In order to attend class meetings in person, all students are expected to abide by all guidelines published by the University, including any timely updates on virus transmission based on the current conditions.

In terms of specific classroom expectations, you are not required to wear a mask, but you are welcome to do so if you wish to, for your own protection or to protect others if you're not feeling well. If you don't feel well and exhibit COVID symptoms, test yourself and wear an N95 mask correctly if you come to class. If you test positive, do NOT come to class. Email your instructor and call UHS for information and treatment. Please respect those who choose to wear a mask in class.

Please refrain from eating and drinking in class. If you need to eat or drink something quickly, please go to an outside area briefly and return back to class when you’re done.

Smoking/vaping is strictly prohibited in class. This may seem obvious, but you’d be surprised.

Take Care of Yourself

Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

Disability Accommodations

If you have a disability for which you seek an accommodation, please contact CMU’s Office of Disability Resources (ODR). Staff there will review your disability documentation and work with you to determine appropriate accommodations. The ODR will then provide you with a letter outlining approved accommodations, if any. This letter must be presented to your faculty before any accommodations will be implemented; accommodations are not retroactive. You should contact the ODR as early in the semester as possible.

Diversity, Equity and Inclusion

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We, at CMU, will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:

All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.