About
Course description
This course introduces programming techniques necessary to generate interactive visual art on a computer. Although it briefly covers computer-generated media art, the course focuses on the programming skills required for creating interactive works. Rather than using commercial software, students write their own programs to create compositions with which users can interact. The course introduces fundamental concepts of how to represent and manipulate color, two-dimensional shapes, images, motion, and video. Coursework includes short programming assignments to practice the concepts introduced during lectures and projects to explore visual compositions. The course assumes no prior knowledge of programming, and is not open to students who have already had a programming course like CS 1 or CS 10.
We'll be using a language called p5.js, which does a lot of the "dirty work" to let us focus on creating fun interactive works, and still provides all the power of a full programming language.
Administrative Info
- Lectures
- MWF 2:10-3:15 | X-hour Th 1:20-2:10 | ECSC B01
- Instructor
- Michael Casey
ECSC Room 211 - Teaching assistants: Yenkai Huang (Kyle), Ziang Ren (Lex)
- Office Hours
- Kyle (Yenkai) Huang: ECSC 133 Fri 3:30p-5:30p, Sun 2p-4p
- Lex (Ziang) Ren: ECSC 205 Tue 6p-8p, Thu 6p-8p
- Prof. Michael Casey: ECSC 211 Wed 1p-2p , Thu 12p-1p
- Announcements and discussion board
- Canvas
- p5js resources
- Getting Started with p5.js
- p5.js Learn (tutorials)
- p5.js Reference
Coursework and grading
While this class doesn't satisfy the language requirement, you are learning a new language and a new way of thinking. Most of us can't wait a week and cram material from a language class just in time for a paper or oral presentation. Likewise, most of us can't wait until the night before a performance and learn new things about a musical instrument and perfect the piece we are going to perform. In both of those cases, as well as in this class, it is best to stay on top of the material and practice often.
In that same vein, the best way to learn the material is by doing. After lecture try the examples on your own, modify them, come up with variations, etc. The lectures are constructed to help you do that. There aren't many core concepts, so most of each lecture is spent illustrating how to put a new concept to use in a number of different ways. The same is true of the textbook, and it even has short exercises to help you. It's like learning new words or grammatical constructs by using them in a conversation. Practice talking to yourself in this new language (don't worry about the looks people give you), and show off the results to your friends.
The lectures will largely parallel the textbook, where possible. While we will cover the same concepts, I will mostly illustrate them with different examples, trusting that you can read the text on your own later (or earlier), and that additional examples can only help you see how to put the concepts to use. I will clarify anything from the examples in the text that I think is particularly tricky, and if something from the text bothers you, by all means bring it up in class. For some chapters I won't cover all the material in the text, and for some material that I cover in class there isn't anything in the text. Lecture notes, including the examples from class, will be available on the schedule page for each day.
To tie together both the larger goal of creating fun interactive works, as well as the reality that practice makes perfect, the coursework will include a combination of assignments at various granularities.
- Short assignments (25% total)
- To help you keep on top of the material (think language lab or rehearsal). Accompanying a lecture (due by the next one); done individually.
- Homeworks (4 x 12.5% = 50% total)
- To help you put the basic techniques into practice in creating new works. Week-long; done individually.
- Final project (25% total)
- To allow you to synthesize the material to do something bigger of your own design. Done individually.
Assignments are to be turned in via Canvas before class on the due date. Ample time is provided for each assignment, so in general, late submissions will not be accepted. Under extenuating circumstances (prolonged illness, death in the family, etc.), arrangements must be made with the instructor before the due date.
Grades will be assessed according to correctness and quality of both the product (does it look and act like it should?) and the code (is it well-organized and easy to follow, does it effectively use the proper programming constructs?). For exceptionally creative and interesting work, it is possible to receive extra credit points. Extra credit is tabulated separately from the regular grades on homework and exams, and is used to adjust final grades after the final average is computed. Thus extra credit is always optional, and not doing any extra credit work will never reduce your final grade, even if everyone else in the class does a lot of extra credit.
Honor code
Dartmouth's honor code applies to this course, and academic misconduct policies will be strictly enforced. If you have questions, ask!
You may discuss the assignments with other current CS2 students, but your submitted work must be entirely your own. That is, your code and any other solutions you submit must be created, written/typed, and documented by you alone. You may not copy anything directly from another student's work. For example, memorizing or copying onto paper a portion of someone else's solution would violate the honor code, even if you eventually turn in a different answer. Similarly, e-mailing a portion of your code to another student, or posting it on-line for them to see would violate the honor code. We do encourage discussion of assignments between students, subject to these rules.
If you make use of any code taken from outside references, i.e. a Web page (like stackoverflow.com or p5js.org), a Web service (like ChatGPT), or a book, you must clearly attribute the source of the code with clear comments in the code that you submit. Failure to do so will result in disciplinary action, as per college rules. Proper respect for copyright laws as applied to printed materials and software products is subsumed by Dartmouth College's Community Standards and Accountability that explains the Academic Honor Principle.
On quizzes, you may not collaborate with, copy from, or otherwise share information with anyone. (You may of course ask questions of the course staff.)
Accessibility
Please see the website for Dartmouth’s Student Accessibility Services (SAS)Students requesting disability-related accommodations and services for this course are encouraged to schedule a phone/Zoom meeting with me as early in the term as possible. This conversation will help to establish what supports are built into my course. In order for accommodations to be authorized, students are required to consult with Student Accessibility Services (SAS; Getting Started with SAS webpage; student.accessibility.services@dartmouth.edu; 603-646-9900) and to request an accommodation email be sent to me. We will then work together with SAS if accommodations need to be modified based on the learning environment. If students have questions about whether they are eligible for accommodations, they should contact the SAS office. All inquiries and discussions will remain confidential.
Religious Observances
Some students may wish to take part in religious observances that occur during this academic term. If you have a religious observance that conflicts with your participation in the course, please meet with me before the end of the second week of the term to discuss appropriate accommodations. To assist with calendar planning and awareness of our diverse religious and spiritual community, the list of holy days for 2020/2021 can be found at https://students.dartmouth.edu/tucker/spiritual-life/about-spiritual-life/holy-day-calendar. The list represents major holy days which may impact accommodation of campus events in general, as well as student course attendance, exams, Commencement and participation in activities 2020-2021. Thank you for your consideration. If you have any questions about these dates or other concerns, please contact Rabbi Daveen Litwin, Dean and Chaplain of the Tucker Center for Spiritual and Ethical Life.
Mental Health and Wellness
The academic environment is challenging, our terms are intensive, and classes are not the only demanding part of your life. There are a number of resources available to you on campus to support your wellness, including: the Counseling Center which allows you to book triage appointments online, the Student Wellness Center which offers wellness check-ins, and your undergraduate dean. The student-led Dartmouth Student Mental Health Union and their peer support program may be helpful if you would like to speak to a trained fellow student support listener. If you need immediate assistance, please contact the counselor on-call at (603) 646-9442 at any time. Please make me aware of anything that will hinder your success in this course.
Title IX
At Dartmouth, we value integrity, responsibility, and respect for the rights and interests of others, all central to our Principles of Community. We are dedicated to establishing and maintaining a safe and inclusive campus where all community members have equal access to Dartmouth's educational and employment opportunities. We strive to promote an environment of sexual respect, safety, and well-being. Through the Sexual and Gender-Based Misconduct Policy (SMP), Dartmouth demonstrates that sex and gender-based discrimination, sex and gender-based harassment, sexual assault, dating violence, domestic violence, stalking, etc., are not tolerated in our community. For more information regarding Title IX and to access helpful resources, visit Title IX's website (sexual-respect.dartmouth.edu). As a faculty member, I am required to share disclosures of sexual or gender-based misconduct with the Title IX office. If you have any questions or want to explore support and assistance, please contact the Title IX office at 603-646-0922 or TitleIX@dartmouth.edu. Speaking to Title IX does not automatically initiate a college resolution. Instead, much of their work is around providing supportive measures to ensure you can continue to engage in Dartmouth's programs and activities.Socioeconomic Differences and Financial Difficulty
Our community is composed of students from a variety of financial backgrounds. Socioeconomic diversity can be invisible, and you may be experiencing financial difficulties related to the cost of textbooks, materials, or other necessities for our class of which I am not aware. If you encounter financial challenges related to this class, there may be sources of support for you. If you feel comfortable sharing your experience with me, you may. You may also consider meeting with a financial aid officer to discuss options, reaching out to the First-Generation Office if you are a first-generation student, browsing the Funding Resources page, or, for unexpected expenses, applying to the Barrier Removal Fund through the Financial Aid tile in DartHub. Consent to Record
Consent to Recording
Recording of course meetings and office hours that are open to multiple students. By enrolling in this course,
a) I affirm my understanding that the instructor may record meetings of this course and any associated meetings open to multiple students and the instructor, including but not limited to scheduled and ad hoc office hours and other consultations, within any digital platform, including those used to offer remote instruction for this course.
b) I further affirm that the instructor owns the copyright to their instructional materials, of which these recordings constitute a part, and my distribution of any of these recordings in whole or in part to any person or entity other than other members of the class without prior written consent of the instructor may be subject to discipline by Dartmouth up to and including separation from Dartmouth.
(2) Requirement of consent to one-on-one recordings By enrolling in this course, I hereby affirm that I will not make a recording in any medium of any one-on-one meeting with the instructor or another member of the class or group of members of the class without obtaining the prior written consent of all those participating, and I understand that if I violate this prohibition, I will be subject to discipline by Dartmouth up to and including separation from Dartmouth, as well as any other civil or criminal penalties under applicable law. I understand that an exception to this consent applies to accommodations approved by SAS for a student's disability, and that one or more students in a class may record class lectures, discussions, lab sessions, and review sessions and take pictures of essential information, and/or be provided class notes for personal study use only.
COVID 19 Resources
If you are sick or have been exposed to COVID-19, please follow CDC guidance.
If you feel sick or have COVID-19 symptoms, test immediately and wear a mask until you feel better.
If you test positive for COVID-19, isolate for at least five days and wear a mask for at least 10 days. Wear a mask for longer if you continue to test positive or have new or worsening symptoms. Notify your close contacts.
If you were exposed to COVID-19, wear a mask for at least 10 days and test on or after Day 6. Test sooner if you develop symptoms.
If you test positive for COVID-19, be sure to keep your health care provider updated. Students who test positive should contact the Dartmouth College Health Service. People without an established health care provider can find care through local resources.
Free COVID-19 antigen tests and face masks are available. Take-home antigen tests and face masks are available at a number of locations on campus. See information on tests and masks.