VIS 42

VIS 42 - Intro to Creative Code - Winter 2026

Schedule | Description | Resources | Grading | Policies | References

detail of CSRSNT-CAAI-038-of-128.png, csrsnt (Casey Reas), 20 April 2021

Description

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.

Details

Teaching Team

Prerequisites: None

Tools

We will use the open source creative coding language p5.js within a jupyterlite environment. Try it out here!

Resources

Required Materials

You will need to bring a laptop or other computer. I recommend a notebook specifically for taking notes, drawing ideas, “writing” code, etc.

Format

The emphasis of this class is on regular, weekly coding practice, self-expression, reflection, and peer community/support.

Educational Objectives

At the end of the course, students will be able to:

Topics and Schedule

(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.

Assignments

Every week* you will have the following assignments:

*Towards the end of the semester, we’ll have one or two longer projects.

Grading

Grading Scale

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%

Project Grading Details

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.

Policies

Course-specific policies and rules.

ICAM Policies Reflection Peer Review Attendance Late Work Academic Integrity Other People’s Code UCSD Course Policies

Reflection

In the text box below, write a reflection (4 sentences minimum):

Peer Review

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)

ICAM Policies

File naming conventions and submissions. More [TK].

Attendance

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

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.

Academic Integrity

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

Other People’s Code

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.

Generative AI

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

  1. You must cite your use of generative AI. This means using comments in your code to indicate (a) which parts were generated, (b) how you asked the system to help, and (c) why.
    • Citing code involves adding descriptive comments just before the code:
      • // the following code was generated with ChatGPT
      • // I asked GPT how to generate an animated flower that would open and close
  2. Keep your code within the scope of topics we have covered so far in class. (So for instance, we aren’t expecting submissions using classes or OOP concepts in the early weeks of the quarter).
    • If you are using advanced techniques you know from prior experience/other courses (non-GenAI), just add a simple explanation / acknowledgement of that fact.
    • If an LLM comes up with code you don’t understand: come talk to us, or iterate until it sticks within the scope of topics covered.
  3. You should be able to explain the code you are using. If it appears you have used generative AI without citing it, or copied code from elsewhere, we will ask you to walk us through the code you submitted in an individual meeting.
    • If we determine you have used generative AI wihtout citing it, you will receive a 0 for the assignment.

Again, there is no penalty for using generative AI, but we want you to disclose where (and how) you are using it.

UCSD Course Policies

Students are responsible for knowing the university academic policies and resources found on this page:

Students with Disabilities

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/

Land Acknowledgment

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.

References