Course Information for CS194-028/CS294-119:
Computational Design and Fabrication

Fall 2015

Catalog Description: Computational Design and Fabrication

This class introduces computational techniques useful for design and fabrication and explores software compilation of high level 3D designs into simple and inexpensive parts ready for rapid manufacturing. Topics include: fabrication processes, material systems, and modern computational techniques for domain specific design, geometric transformations, and algorithmic preparation for fabrication.

Many new computer controlled machines exist theoretically speeding up fabrication, but yet 3D design remains difficult and fabrication remains manually intensive. Breaking with tradition, this course explores the idea of a shape compiler as well as the application of the declarative design method to the design and fabrication of articulated forms to make design and fabrication dramatically more productive. Shape compilers are software applications which transform a high level design into simple and inexpensive parts ready for rapid manufacturing.


4 units. Three hours of lecture + One hour of section + Three hours of lab homework per week.


CS61AB, CS164, CS169, CS184 + Linear Algebra Recommended.

Class Schedule/Rooms:

Lectures: Tuesday and Thursday, 3:30-5:00PM, 220 Jacobs Institute

Section Schedule/Rooms:

Section: Monday, 1-2p 210 Jacobs Institute

Lab Space:

Invention Lab in Basement Sutardja Dai Sign up for safety training on web.


Jonathan Bachrach, Adjunct Assistant Professor, CS Division, EECS Department
Email: jrb at eecs
Office Hours: TBD, 579 Soda Hall

Teaching Assistants:

Austin Buchan
Duncan Haldane


The course has a Piazza site that we will use for online class discussions and to answer questions.

Course Grading

5%Class Discussion

See also Departmental Grading Guidelines for Graduate Courses and Departmental Grading Guidelines for Undergraduate Courses.


Companion readings will be assigned weekly and students will be expected to read them, write a question about them, and upload to box account before thursday class.


The labs will provide hands-on experience with the Computational Design and Fabrication. They will be assigned at end of class on thursdays and will be due before class on following thursday.

Late Labs Policy

Each student gets a total of five late days they can spend to extend the lab deadlines for any reason. No other extensions will be given, unless for serious documented emergencies.

Collaboration Policy

Students must complete lab zero themselves and team up with a partner on the remaining labs. Students are encouraged to discuss solutions to the lab assignments with other students.


A single 8 week project will guide student's contributions to the course. In this project, students will study available fabrication processes and material systems in order to develop an "thing compiler", understood as an automated pipeline that rationalizes a personal sized physical form and produces the data required for analysis and fabrication. The project overall will be developed in collaboration with technicians at Jacob's design workshop facilities. Students will work on projects in groups of two or three. Projects should include a formal specification and design rationale as well as a demonstration that the design optimizes a specification.