Learning Objectives
Upon successful completion of this course, students will be able to:
- Create basic computer programs that generate two-dimensional images,
- Construct programs that respond graphically to user interaction,
- Use variables, assignment, conditionals, loops, functions, arrays, and objects in the construction of programs,
- Use graphical transformations, including scaling, rotation and translation,
- Devise formulas to transform interactive input or random values into colors, coordinates, and other “output” parameters,
- Interpret programming system reference materials in order to select and apply built-in functions,
- Implement a computer program according to a set of functional requirements,
- Analyze computer execution time in terms of the number of operations as it relates to the problem size,
- Explain how computation is used by contemporary artists,
- Apply computation in one’s personal artistic practice.
IDeATe Common Learning Goals
As with all IDeATe courses, this course has the following additional learning goals:
- Demonstrate an appreciation for and ability to participate in critique of one’s own work and the work of others
- Demonstrate an understanding of the role of reflection in learning and designing (begin to become a reflective practitioner)
- Demonstrate an ability to articulate the story (visually, orally, verbally, aurally …) of one’s own work and one’s own learning
- Demonstrate an understanding of the history, cultural context and social implications of computation in the arts.
- Demonstrate the ability to work in a multidisciplinary environment
- Demonstrate technical and creative skills in computing.
Required Course 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.
- Lauren McCarthy, Getting Started with p5.js
- Dan Shiffman, Learning Processing
- Dan has created many instructional videos on YouTube
(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.
Deliverables
This course expects students to produce weekly Deliverables, which consist of:
- Assignments, which are submitted through Autolab, and
- Projects and Looking Outwards reports, which are posted on this site.
The last of the Projects is a Capstone project with a proposal, check-in, and final presentation phase. More details are on the Deliverables page.
Rubrics (evaluation and grading criteria) for deliverables can be found here.
Communication Tools
This course uses four software systems:
- Canvas, for announcements and grades;
- Autolab, through which students submit Deliverables;
- This WordPress blog, through which students publish Projects and Looking Onward reports;
- A Piazza forum, for public and private discussions among the class members and course staff.
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.
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 http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.