CS181DT: Computational Design Tools

Fall 2024 • Pomona College

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

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 Aug 26 Intro: “design” and “tools”

Lecture

Course survey (EOD)
1B Aug 28 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
2A Sep 2 No class ⚒️ (Labor Day)
2B Sep 4 Tool fundamentals

ZC

PM1 Crit

Lecture


PM1: Hacking zine
3A Sep 9 Analog fabrication techniques

Studio

3B Sep 11 Research: Physical computing

ZC

Lecture

Seminar

Seminar



Readings: How Bodies Matter, Tangible Bits; Being the Machine, Zooids. Optional (but highly recommended): A Brief Rant on the Future of Interaction Design
RRs
4A Sep 16 Digital fabrication techniques (laser cutting)

ZC

ZC

PM2 Crit

Studio

PM2: Analog making
4B Sep 18 HMC Makerspace visit

Studio

5A Sep 23 Digital fabrication techniques (3D printing); Design for protest

ZC

Studio

Seminar



Readings: Watch: What is Design Fiction? Read: Design Values: Hard-Coding Liberation? from Design Justice
RRs
5B Sep 25 Research: Design tools for digital fabrication

ZC

ZC

Lecture

Seminar



Readings: Throwing Out Conventions: Reimagining Craft-Centered CNC Tool Design through the Digital Pottery Wheel, Personal Fabrication, Chapter 1 (Intro). Also see list of personal fabrication research projects.
RRs
6A Sep 30 Creative coding

ZC

PM3 Crit

Lecture

Studio

PM3: Press fit kit
6B Oct 2 Research: Creativity support tools

ZC

Lecture

Seminar

Seminar



Readings: Design Principles to Support Creative Thinking, What Counts as Creative Work?; Watch/understand: Draco (PDF), I/O Brush (PDF). Optional: The original Creativity Support Tools "manifesto"
RRs
7A Oct 7 Final project introduction; Design methods: idea generation

ZC

PM4 Crit

Studio

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

Studio

Lecture

Project ideas
Midsemester feedback
8A Oct 14 No class 🍁 (Fall break)
8B Oct 16 Design methods: Paper prototypes

ZC

Lecture

Studio

9A Oct 21 Theories of creativity (Zoom)

ZC

Seminar



Readings: The Design of Everyday Things Ch 2, Abstracting Craft Ch 3
Needfinding Interviews, RRs
9B Oct 23 Motivating research projects; project work time
10A Oct 28 Design methods: Evaluating tools

ZC

Lecture

Studio

Task analysis & video prototype
10B Oct 30 Interactive software systems design & visual design

ZC

Lecture

Studio

Introduction draft (Fri)
11A Nov 4 Forms of critical design (design noir, feminist design, post-human design)

ZC

Seminar

Seminar



Readings: Uncomfortable interactions, What is "Critical" about Critical Design?; Hackathons as Participatory Design: Iterating Feminist Utopias, Things We Could Design for More than Human-Centered Worlds (Ch 1)
RRs
11B Nov 6 Wizard-of-Oz evaluation

ZC

Studio

WoZ Prototype
12A Nov 11 Accessibility & Materiality

ZC

PM5 Crit

Seminar

Seminar



Readings: The Promise of Empathy, GenAssist: Making Image Generation Accessible; The Textility of Making, Spyn: augmenting the creative and communicative potential of craft
PM5: Design Noir, RRs
12B Nov 13 Guest lecture: CSTs and Artmaking (Eric Rawn) (announcements)

Lecture

System diagram (Fri)
13A Nov 18 Power, art, and politics

ZC

PM6 Crit

Seminar



Readings: Beyond the Artifact: Power as a Lens for CSTs, The Sadness of Post-Workerism, sections "about the concept of immaterial labor" & "the art world as a form of politics"
PM6: Materials, RRs
13B Nov 20 Project MVP in class evaluation

ZC

ZC

Studio

Code MVP
14A Nov 25 Project work time

ZC

ZC

PM7 Crit

Studio

PM7: Seeing
14B Nov 27 No class 🦃 (Thanksgiving)
15A Dec 2 Project final in class evaluation

ZC

ZC

Studio

15B Dec 4 Final project presentations

Studio

Finals Dec 9 Proj 2 (EOD)

Instructors

Jingyi Li • firstname.lastname@pomona.edu

Office hours: Edmunds 111 • Monday 4:00-5:30pm & Tuesday 10:30am-12:00pm

This is my second semester at Pomona College! 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 Abrar Yaser and Ariel Heimanson. They are here to help you succeed! Abrar hosts weekly mentor hours Friday 1:15-3:15pm in the Hive and Ariel will host project work parties on Sundays (to be announced in lecture per assignment). 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 final project. Readings and participation compose the remaining 25%.

  • 40% final project
  • 35% personal making assignments
  • 17% readings
    • Reading responses (12%) - Your lowest 4 reading responses will be dropped (4 individual readings, not 4 days’ worth of readings)
    • Leading a seminar discussion (5%)
  • 8% participation
    • Zipcrit presentation (3%)
    • Attendance and participation in critiques, seminar discussions, in class activities, etc. (5%, self-assessed at the end of the semester)

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 (maybe 3) 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 Tuesday and due the following Tuesday before class (2:30pm). Personal Making submissions should also be physically brought to Tuesday’s class to be shared and critiqued. Reading responses are always due 2:30pm 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 (readings 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. (This course focuses on tool design moreso than tool engineering. Plus, you’ll soon be disappointed that ChatGPT won’t actually help that much over learning the documentation.) That being said, students may absolutely not use AI to generate their written reflections, reading responses, or anything else involving written communications in the course. 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.

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 2024 first cohort of CS181DT students for their feedback in making the class better :)