Creative Coding (Online Section)

Spring 2025

DESN 249 - CUNY Queens College

Instructor: Antonius Wiriadjaja Email: antonius.wiriadjaja@qc.cuny.edu

Class Schedule

Tuesdays, 10 am - 1:50 pm

Course Description

The computer is an amazing tool that most designers really do not use to its full potential. The software applications that are used by the masses are just that, created for the masses and are not perfect for every project. In this class we will be looking at using computational algorithms as a tool to create beautifully designed visual graphics.

Over the semester we will be exploring design topics like form, color, grids, typefaces and 3 dimensional objects and combining these with computational topics like randomization, repetition, transformation, generative and data manipulated design. Each class will consist of a lecture and live coding examples as well as student project presentations and critiques. We will be using p5js as our main platform to focus on the intersection between the visual arts and code.

Course Objectives

This course focuses on introducing students to the world of code and showing that code can also be used as a means to create art and beautiful designs. By combining design and artistic principles with programming principles students are able to learn coding while also creating beautiful and interactive artistic projects. Each week will be focusing on a new topic like color, typography, patterns or animation and talking about both the design principles and how to implement them with code using p5.js. Each week students will be required to program a new sketch based on the specific topic covered. Projects include designing posters, wrapping paper, custom drawing tools, audio visualizations, etc.

Learning Outcomes

This class is both an intro to design principles as well as an intro to programming. Students will come out of the class with a solid understanding of color theory, type design, interaction design, animation, game design, generative art, etc. They will also be comfortable with programming concepts like loops, random values, functions, objects, etc. The programming framework we will be using is p5js which is the JavaScript version of Processing so students will become very familiar with this programming framework.

Course Requirements

Class participation is mandatory. You are expected to be present, to participate in a positive, constructive manner, and to produce work that is full of energy, completed and presented to the best of your ability.

It is your responsibility to turn in work on time, to make up any missed assignments, and to catch up with the class in the event of an absence. Late work is unacceptable; however, this work can be turned in for partial credit. If you know you are going to be absent, contact the professor by email in advance. For the most up-to-date information (including what is due next class) visit the class website.

This is a hands-on course and regular attendance is necessary for participation. You will be graded on in-class participation. If you know you are going to be absent, contact the professor by email in advance. Students who miss numerous classes will find it difficult to pass the course. Visual assignments and projects will be graded based on: one for technical merit, concept and your demonstrated ability to understand the code. Your final grades will be calculated by the following: 80% project, 20% participation. You are expected to spend as much time working outside the classroom as you work inside the classroom. Schedule your time accordingly.

Suggested Reading

AI Policy

Understanding how and when to use generative AI tools (such as ChatGPT, Gemini, or Claude) is quickly emerging as an important skill for future professions. In fact, it’s even built-in to some search engines and even web browsers! To that end, you are welcome to use generative AI tools in this class as long as it aligns with the learning outcomes or goals associated with assignments. You are fully responsible for the information you submit based on a generative AI query (such that it does not violate academic honesty standards, intellectual property laws, or standards of non-public research you are conducting through coursework). Your use of generative AI tools must be properly documented and cited for any work submitted in this course.

In this course, students shall give credit to AI tools whenever used, even if only to generate ideas rather than usable text or illustrations. When using AI tools on assignments, add an appendix showing (a) the entire exchange, highlighting the most relevant sections; (b) a description of precisely which AI tools were used (e.g. ChatGPT private subscription version or DALL-E free version), (c) an explanation of how the AI tools were used (e.g. to generate ideas, turns of phrase, elements of text, long stretches of text, help troubleshoot code, etc.); (d) an account of why AI tools were used (e.g. to save time, to surmount writer’s block, to make non-copyrighted imagery, to translate text, to experiment for fun, etc.). Students shall not use AI tools during in-class examinations, or assignments unless explicitly permitted and instructed. Overall, AI tools should be used wisely and reflectively with an aim to deepen understanding of subject matter.

It is a violation of university policy to misrepresent work that you submit or exchange with your instructor by characterizing it as your own, such as submitting responses to assignments that do not acknowledge the use of generative AI tools. Please feel free to reach out to me with any questions you may have about the use of generative AI tools before submitting any content that has been substantially informed by these tools.

And also - don’t forget, you are here to learn. If you rely heavily or completely on these AI tools to do your work for you, please ask yourself why you are enrolled in this course. And be aware that AI is an emerging technology. AI systems can provide helpful information or suggestions, but they are not always reliable or accurate. Students should critically evaluate the sources, methods, and outputs of AI systems. If you have any questions about this policy or if you are unsure whether a particular use of AI is acceptable, please do not hesitate to ask for clarification

The criteria for grading is as follows:

Attendance:

Two (unexcused) absences result in grade drop and four absences result in a failing grade. Late or early departure from class (15 minutes) is the equivalent of ½ absence.

Grading