CS122: Computational Design Tools

Spring 2026 • Pomona College

Mon/Weds 11:00am-12:15pm • Hive Studio 02 (Room 127)

Overview

What makes a good tool? How can we design good software tools, and how can we evaluate them to prove their “goodness”? What are the advantages and disadvantages of computational design tools, like Photoshop, compared to analog design tools, like a pen?

In this course, students will discuss, critique, and create their own computational tools that support art, creativity, and design. Students will work both individually on weekly making assignments and in a team to create an open-ended software “creativity support tool” through peer critique and testing sessions. This course teaches the foundations of UI/UX design and human-computer interaction (HCI) principles, as well as more advanced topics on making, critical design, and HCI research.

Prerequisites: As this course involves programming an interactive software system, CSCI 062 PO or CSCI 070 HM is required. Students will also complete projects that involve digital fabrication design, but no prior knowledge in those domains is assumed.


This course is divided into three rough modules:

  • Making (Weeks 1-6)

    Before you make your own tools, you should become proficient at using existing tools—both analog and digital. Topics include the background on the “maker” movement, design activism, analog and digital fabrication techniques, and creative coding. Students will work with foamcore/cardboard, Processing, laser cutters, and 3D printers.

  • Tools (Weeks 7-11)

    Informed by your reflections on your earlier tool use, you’ll now begin building your own. You’ll apply the full human centered design process for designing and developing interactive systems: brainstorming, needfinding, low fidelity prototyping, software system design, iteration, and evaluation–the “how” to make tools. You’lll also be introduced to research in human-computer interaction around making, tools, and fabrication, as well as influential theories of creativity and sociotechnical principles from other fields–the “why” to make tools. The second third culminates in an in-class “Wizard-of-Oz” evaluation of your tool, where you’ll share with fellow students an everything-but-implementation version for feedback and testing.

  • Craft (Weeks 11-15)

    As you work on implementing your tool in software, the class will look at more critical dimensions of software automation. What are the limitations of computation in the art and design domain? How can we stay sensitive to rich craft traditions in our tool design? What is the purpose of “art” in computation, anyway? The course culminates in a project showcase of the completed computational design tools.

Each class section will be a mix of 2-3 of the following styles of modules, approximately 20-30 minutes each:

  • Lecture

    Lecture

    : The instructor will lecture on various topics, such as giving an overview of a knowledge field. Usually followed by a seminar or studio.
  • Seminar

    Seminar

    : A discussion guided by two students on assigned readings.
  • Studio

    Studio

    : A guided activity, such as a making tutorial; a class critique

    Crit

    of a personal making or project assignment; project work time.

In general, students should bring their laptop and something to write with to every class.

The learning outcomes of this course are that students will:

  • develop a critical understanding of past and present making technologies and design tools, and their roles within current cultural and social contexts
  • make expressive and interactive objects and tools that critique and advance computing culture
  • establish proficiency with the fundamental concepts, methods, and practices of physical modeling, sketching, form giving, and hands-on making across a range of materials
  • be able to evaluate tools and interactive systems with quantitative and qualitative methods
  • understand and critique social, ethnographic, engineering, and design-oriented research practices
  • improve their capacity to motivate and frame HCI research questions and contributions
  • improve their presentation and feedback skills through in class studio critiques

Schedule

Schedule subject to change due to feedback and student needs.

Week Date Topic Due (11:00am)
1A Jan 19 No class 🌱 (MLK Jr. Day)
1B Jan 21 Intro: “design” and “tools”

Lecture

Course survey by Thu 11:59p
2A Jan 26 Making & hacking culture; course norms

Lecture

Seminar


Readings: Making or Making Do? Challenging the mythologies of making and hacking, AI Art and its impact on artists
Reading responses (RRs) on Canvas
2B Jan 28 Tool fundamentals

ZC

PM1 Crit

Lecture

PM1: Hacking zine
3A Feb 2 Analog fabrication techniques

ZC

Studio

3B Feb 4 Design tools for digital fabrication

ZC

Lecture

Seminar


Readings: Interactive Fabrication, Throwing Out Conventions: Reimagining Craft-Centered CNC Tool Design through the Digital Pottery Wheel
RRs
4A Feb 9 Digital fabrication techniques (laser cutting)

ZC

PM2 Crit

Studio

PM2: Analog making
4B Feb 11 HMC Makerspace visit

Studio

5A Feb 16 Digital fabrication techniques (3D printing); Design for protest

ZC

Studio

Seminar


Readings: Design Activism, Ch 1, Design Values: Hard-Coding Liberation? from Design Justice
RRs
5B Feb 18 Reflection & friction

ZC

Lecture

Seminar


Readings: Reflective Creators, Thrown from Normative Ground: Exploring the Potential of Disorientation as a Critical Methodological Strategy in HCI
RRs
6A Feb 23 Creative coding

ZC

PM3 Crit

Lecture

Studio

PM3: Press fit kit
6B Feb 25 Creativity support tools & how to evaluate them

ZC

Lecture

Seminar

Seminar


Readings: Design Principles to Support Creative Thinking, What Counts as ‘Creative’ Work? Articulating Four Epistemic Positions in Creativity-Oriented HCI Research; Evaluating Creativity Support Tools in HCI Research, Beyond Productivity: Rethinking the Impact of Creativity Support Tools. Optional: The original 2005 Creativity Support Tools "manifesto"
RRs
7A Mar 2 Final project introduction; Design methods: idea generation

ZC

PM4 Crit

Studio

PM4: 3D print for protest
7B Mar 4 Project group formation; Design methods: needfinding

ZC

Studio

Lecture

Project ideas
8A Mar 9 Design methods: Paper prototypes

ZC

Studio

8B Mar 11 Design methods: Evaluation

ZC

Studio

Needfinding interviews
9A Mar 16 No class 🌱 (Spring break)
9B Mar 18 No class 🌱 (Spring break)
10A Mar 23 Justifying design decisions; Embodiment & empathy

ZC

Lecture

Seminar


Readings: How Bodies Matter: Five themes for interaction design, The Promise of Empathy: Design, Disability, and Knowing the "Other"
RRs
10B Mar 25 Low-fi evaluation; Figma workshop

ZC

Lecture

Studio

Task analysis & video protoype
11A Mar 30 Visual & web design

ZC

Lecture

Studio

Introduction draft
11B Apr 1 Critical design

ZC

Studio

Seminar


Readings: Uncomfortable Interactions, Feminist HCI
RRs
12A Apr 6 Research through Design

ZC

Seminar

Seminar


Readings: Being the Machine: Reconfiguring Agency and Control in Hybrid Fabrication, Philosophers Living with the Tilting Bowl; TBD, TBD
RRs
12B Apr 8 Wizard-of-Oz evaluation

ZC

Studio

WoZ Figma prototype
13A Apr 13 Materiality & Craft

ZC

PM5 Crit

Seminar


Readings: The Textility of Making, Abstracting Craft Ch 3
PM5: A Webpage of One’s Own, RRs
13B Apr 15 TBD Seminars

ZC

Seminar

Seminar

RRs
14A Apr 20 Power & Creativity Support Ecosystems

ZC

PM6 Crit

Seminar


Readings: Beyond the Artifact: Power as a Lens for CSTs, Creativity Supportive Ecosystems: A Framework for Understanding Function and Disruption in Online Art Worlds
PM6: Materials, RRs
14B Apr 22 Project MVP in-class evaluation

ZC

Studio

MVP eval
15A Apr 27 Generative AI & Creativity, TBD

ZC

Seminar

Seminar


Readings: Homogenization Effects of LLMs on Human Creative Ideation, Build Word Gyms, Not Word Factories; TBD, TBD
RRs
15B Apr 29 Project work time

ZC

PM7 Crit

Studio

PM7: Seeing
16A May 4 Project final in-class evaluation

ZC

Studio

16B May 6 Final project presentations

Studio

Final project write-up (Thu 11:59pm)

Instructors

Jingyi Li • firstname.lastname@pomona.edu

Office hours: Edmunds 111 • Monday 1:30-3:00pm & Wednesday 4:00pm-5:30pm (or by appointment)

This is my third year at Pomona College, and third time teaching this class! My role in this course is to help you learn how to learn, to help facilitate learning from and teaching your peers what you already know (everyone knows something about art, even if they don’t know it), and to emotionally and academically support you through the material.

Outside of the classroom, I research (you guessed it) computational design tools in the Doodle Lab. I’ve lived in the Bay Area for the past decade (I have a BS in EECS from UC Berkeley and a PhD in CS from Stanford) and consider it my home. My pronouns are they/them, and you can call me Prof. Li (but Jingyi is also fine).

My preferred method of contact is the course Slack channel. Slack is great for asking and answering questions: your classmates may have the same questions as you, you may have the answers to your classmates’ questions, and I can upvote and expand on student responses. I will be posting course announcements through Slack as well. Feel free to DM me for individual requests; I will try my best during the weekdays to respond within 24 hours.

The TAs for this course are Miriam Brody and Tara Mukund. They are here to help you succeed! More info about potential mentor hours soon. They are also on Slack, and will host more specific sections to help with your final project. Please attend!

Grading

There are no exams in this course. There are 7 individual “personal making” assignments worth 35% of your grade (5% each) and a group final project worth 40%. Readings and participation compose the remaining 25%.

  • 40% final project
  • 35% personal making assignments
  • 20% readings & seminar
    • Reading responses (10%) - Your lowest 4 reading responses will be dropped (4 individual readings, not 4 days’ worth of readings)
    • Leading a seminar discussion (10%)
  • 5% participation
    • Zipcrit presentation (2%)
    • Attendance and participation in critiques, seminar discussions, in class activities, etc. (3%)

Assignment types

In addition to the personal making assignments and projects, other assignments for this course include:

  • Zipcrit

    ZC

    : Each student will sign up to present a "zipcrit" at the start of class. A zipcrit is a rapid critique of a tool (or a specific feature of a tool) of the student's choice. The presenting student has a maximum of 2 minutes and 3 slides to introduce the tool to the class, as well as one question they would like to center the discussion around. The question should be about some aspect of "toolfulness" (interactivity, agency, goals, extension, etc.). The class will then collectively critique the artifact. Students are encouraged to use an expansive definition of “tool.” It can be physical, digital, envisioned. Cute things from the depths of the internet or your personal passions are encouraged.
  • Seminar leader

    Seminar

    : Students will sign up in pairs to lead a ~20 minute seminar discussion for the class on 2 readings. Students should first spend roughly 5 minutes summarizing the key takeaways from the readings. The remaining time should be used to synthesize discussion questions (questions different from the reading responses) or hands-on activities for the class. Students are encouraged to incorporate any prototyping materials from the Hive in their activities.
  • Reading Response (RR): Respond to, in roughly ~100 words, the question posted about the readings. Note: in this class, you should almost never fully read every word of a reading, unless you're the seminar leader. Skimming the readings, particularly to maximize the information gained to time spent ratio, is highly encouraged. A sufficient reading response shows some thought and reflection on the topic and demonstrates that students got the key takeaway from the reading (✓, or 93). A superb reading response demonstrates a novel insight about the reading and connects it in unexpected yet meaningful ways to other course or life material (✓+, or 100).

All assignments will be submitted and graded on Canvas. Most assignments are due before class (11:00am). The basic flow of the course is that Personal Making assignments will be released in class on Monday and due the following Monday before class. Personal Making submissions should also be physically brought to class to be shared and critiqued. Reading responses are always due before the seminar style class where we discuss them.

Grading policies

Group projects will have clear rubrics with further breakdowns. Other assignments (personal making, reading responses, seminar leading, zipcrit) are graded on a scale to emphasize qualitative feedback and instructor comments:

  • ✓+ : Exceeds expectations (98+)
  • ✓ : Meets expectations (97-90)
  • ✓- : Needs work to meet expectations (89-80)
  • - : Clearly below expectations

For reading responses, a ✓+ is a 100, a ✓ is a 93, and a ✓- is an 80. For assignments scoring ✓- or below, students have the option of iterating on their work and resubmitting the assignment to gain lost points back. Resubmissions are due a week after grades and comments are released; please message the instructor if you plan on resubmitting. Points lost due to late submission cannot be regained.

I expect everyone to be an active and engaged member during our class discussions. I strive to create an inclusive classroom where every student feels comfortable and safe sharing their thoughts. If I believe you are not participating and learning to the best of your ability, I will send you a message so we can have a conversation about ways to reduce your barriers to participating.

Course Policies

  • Students may have 3 excused absences throughout the semester as long as they inform the instructor prior to their absence.
  • Students have 7 total late days for individual assignments (reading responses and personal making) to be used however they want.
  • After students have used all their late days, assignments will be docked 20% for each day past due. Please note that though late days are possible for personal making assignments, if turned in late, they cannot be critiqued in class. Reading responses must explicitly be noted as “dropped” to be dropped to avoid using late days. As group assignments are presented in class, they cannot be turned in late.
  • Students with disabilities should contact the Student Disability Resource Center (SDRC) to request accommodations. I am happy to have a conversation with you to help establish the best plan.
  • All policies are flexible. If you are facing an extenuating circumstance, I am happy to listen and help however possible.

Taking a large project based course can be intimidating, but I am here to help! If you need support, please come to office hours or post on Slack. I truly believe that everyone is a creative person and has the capability to excel in this course, even if you’ve never identified as being “creative” in the past.

AI Policy

Students may use ChatGPT/other forms of generative AI for coding assistance in this course as long as it is properly cited. (This course focuses on tool design moreso than tool engineering.) Properly cited means including comments on areas where LLM assistance was used with the prompt given.

Students may absolutely not use AI to generate their written reflections, reading responses, or anything else involving written communications in the course. It is preferred students do not use LLMs for design brainstorming; readings in this course argue it results in less diverse creative ideas.

If the course staff suspects your written work was AI generated, you will receive a 0 on the assignment. If you are unsure if generative AI is allowed or not for a specific case, please just ask the instructor. Please see the department’s academic honesty policy for more details.

Credits

Much of the first third of this course draws from Critical Making at UC Berkeley. Site theme based on Just the Class, a documentation theme for Jekyll. Thank you to the Spring and Fall 2024 cohorts of CS181DT students for their feedback in making the class better :)