Schedule | Description | Resources | Grading | Policies | References
detail of CSRSNT-CAAI-038-of-128.png, csrsnt (Casey Reas), 20 April 2021
This course provides students with a foundation in programming and computational thinking, and their application in creative projects. Topics covered may include generative graphics and sound, interactive media, and others. Students will gain practical skills through hands-on experience and experimentation, learning to integrate computing into artistic practices. No prior programming experience is required.
Prerequisites: None
We will use the open source creative coding language p5.js within a jupyterlite environment. Try it out here!
You will need to bring a laptop or other computer. I recommend a notebook specifically for taking notes, drawing ideas, “writing” code, etc.
The emphasis of this class is on regular, weekly coding practice, self-expression, reflection, and peer community/support.
At the end of the course, students will be able to:
(this schedule will be refined as we go)
| Week | Day | Topics |
|---|---|---|
| Week 1 | Jan 6 | What is creative code?; Why p5? jupyter lite // p5 web editor; submitting homework |
| Jan 8 | 2D coordinate plane; using p5 drawing functions; shapes; colors; custom shapes; | |
| Week 2 | Jan 13 | variables; operators; conditional statements (if); built-in variables ((mouseX, mouseY, width, height) |
| Jan 15 | arc() and map(); additional built-in variables (mouseIsPressed, keyIsPressed); if else; if/else if; | |
| Week 3 | Jan 20 | complex conditionals (&&, ||, etc.); more map(); basic images (loadImage(), image()); |
| Jan 22 | GIFs and tint(); random(); mousePressed(); | |
| Week 4 | Jan 27 | intro to loops; for loops; iteration |
| Jan 29 | nested loops; complex visual patterning; patterning images; | |
| Week 5 | Feb 3 | Arrays; iterating over arrays; random() selection |
| Feb 5 | Images as arrays of pixels; Transforms; | |
| Week 6 | Feb 10 | Transformations: translate, rotate, scale; push() and pop() |
| Feb 12 | Midterm critique/laptop presentations; Introduction to 3D; primitive shapes, coordinate plane | |
| Week 7 | Feb 17 | 3D: advanced (lights, materials, loading models) |
| Feb 19 | Video (finding, adding, and using video methods); 3D advanced and video | |
| Week 8 | Feb 24 | P5 sound library; amplitude; |
| Feb 26 | DOM and html5 | |
| Week 9 | Mar 3 | deep dive on ml5 |
| Mar 5 | p5live and spatialp5 | |
| Week 10 | Mar 10 | Presenting work through web; p5-notebook (jupyterlite) to html and web IDE; |
| Mar 12 | Final Projects - In Class Showing | |
| Finals Week | Mar 15 | All late work due end of day (11:59pm) Sunday for partial credit. EMAIL TA to request regrades. |
Every week* you will have the following assignments:
*Towards the end of the semester, we’ll have one or two longer projects.
A+ = 97-100 | A = 94-97 | A- = 90-94
B+ = 87-90 | B = 84-87 | B- = 80-84
C+ = 77-80 | C = 74-77 | C- = 70-74
F = below 70%
Work will be evaluated on the quality of concept, the degree of experimentation (aesthetic and technical), and the final realization (again, aesthetic and technical).
A – Excellent Excellent projects present clear, original, and compelling concepts. They demonstrate strong experimentation—pushing both aesthetic and technical boundaries—and result in a highly resolved, polished final work. The project reflects a deep engagement with the assignment prompt and an ambitious creative vision. You’ve thoughtfully integrated feedback and shown critical awareness of your process and outcome.
B – Good Good projects present well-developed and thoughtful concepts. They show solid experimentation with some risks taken, and result in a well-executed and coherent final work. The project meets all requirements and demonstrates care and understanding in both craft and presentation. Feedback has been applied effectively, though not always extensively.
C – Satisfactory Satisfactory projects present clear but limited concepts. Experimentation is present but conventional or uneven, and the final realization may feel incomplete or underdeveloped. The work meets basic requirements but lacks depth, polish, or full engagement with the creative potential of the assignment. Feedback may not have been fully addressed.
F – Failing Failing projects show minimal concept development, little to no experimentation, and poor or incomplete realization. The work may not meet assignment requirements, demonstrate technical competence, or communicate a clear idea. It reflects a lack of engagement with the project’s creative and developmental process.
Course-specific policies and rules.
| ICAM Policies | Reflection | Peer Review | Attendance | Late Work | Academic Integrity | Other People’s Code | UCSD Course Policies |
In the text box below, write a reflection (4 sentences minimum):
Subjective - How did today (coding this project) feel? Did you accomplish your creative goalsObjective - describe your process. How did you go about completing the project?Actions - What did you learn from today’s experience that you can take moving forward?Reflection - any overall reflection - how are things progressing, generally? how does this work fit into your broader creative vision?Answer at least two of the Peer Review questions below, in response to your peer’s project. Take care to not just Evaluate. (4 sentences)
Describe - What do you see?Analyze - How is it made? How does it make you feel or think about?Interpret - What is it about? What’s the main idea being explored?Evaluate - Is it successful? Does it explore the prompt in a compelling, interesting, or unique way?File naming conventions and submissions. More [TK].
On-time attendance is required as well as work inside and outside of section. Please notify your instructor in advance if you must be absent for illness or family emergency. Any absences must be cleared with the instructor, or justified with written documentation (e.g. letter from team, etc.). We do not differentiate between mental and physical health and in either case please be in communication for when you need to take a day off. After a student misses a week’s worth of classes each subsequent missed class will result in the reduction of the final grade by a full letter grade (i.e., A to B, B- to C-). Excessive tardiness or leaving early will also impact your grade and will follow the same rubric.
On-time attendance is required. Lateness or leaving early, when not cleared with the instructor, will also impact your participation grade. Lateness will be counted as 80% for your participation grade for the day.
Late Work Grading Policy. Late work submissions will be docked 5% for each day they are late (if an assignment is two days late, the grade will be docked 10%). An assignment submitted after the due date time on the due date will still be docked 5%.
Details about submission format and due dates are given in our Canvas assignments.
You will need to come to office hours with your TA to request a regrade of any late work submitted after the original deadline.
Excused Late Work. Requests to submit late work for special circumstances must be approved by your instructor at least 24 hours before the due date and time. Any late requests made less than 24 hours before the assignment is due may still be subject to a lateness penalty. We do not distinguish between mental and physical health. Email your instructor, 24 hours in advance, explaining generally the reason you are missing class and your plans for making up any missed lecture, activity, and assignment.
An assignment may receive an F if a student does not participate in every phase of the development of the project and meet all deadlines for preliminary materials (proposals, drafts, etc.). Failure to submit any of the graded course assignments is grounds for failure in the course.
Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind. http://senate.ucsd.edu/Operating-Procedures/Senate-Manual/Appendices/2
If you use a piece of code from the p5 reference or another piece of publicly available code, you must cite your use of it at the top of your code file as a comment. Include a link to the original code file, the author, and the date.
This includes generated code.
You are allowed to use LLMs, TritonGPT, ChatGPT, Claude, Cursor, Antigravity, or other Generative AI tools as part of your coding process for this course, however you must disclose this usage. My goal is for you to learn to read, write, and understand code for creative work. To give us insight into your learning, understanding, and creative strategy, you must add comments in your code indicating your use of generative AI:
Guidlines for use of Generative AI
// the following code was generated with ChatGPT// I asked GPT how to generate an animated flower that would open and closeAgain, there is no penalty for using generative AI, but we want you to disclose where (and how) you are using it.
Students are responsible for knowing the university academic policies and resources found on this page:
Students registered with the Office for Students with Disabilities are to provide copies of their AFA letters to both the course instructor and the OSD Liaison of the Visual Arts Department . If you have any questions about utilizing your OSD accommodation, please contact Dept. OSD Liaison at vis-ug@ucsd.edu or 858-534-2860. You may also contact the Office of Students with Disabilities directly at osd@ucsd.edu or 858-534-4382. http://disabilities.ucsd.edu/
This public acknowledgment serves to honor and respect Indigenous peoples and their land on which our campus resides. UC San Diego was built upon the territory of the Kumeyaay Nation. From time immemorial, the Kumeyaay people have been a part of this land. Today, the Kumeyaay people continue to maintain their political sovereignty and cultural traditions as vital members of the San Diego community.