15-294 Rapid Prototyping Technologies

Tuesday / Thursday 6:30 ‐ 7:50 in Hunt A10

Fall 2018

Units: 5.0, Section: A1

Course web page: https://www.cs.cmu.edu/afs/cs/academic/class/15294g-f18


Instructor: Professor David S. Touretzky (just "Dave" is fine)
  • email: dst@cs.cmu.edu; office phone 412-268-7561
  • Office location: Gates-Hillman Center, room 9013
  • Office hours: drop by any evening, or email for an appointment
Teaching Assistants:

Amy Coronado
Office hours: Thursdays 8-9pm, in Hunt A-level

Fan Yan
Office hours: Thursdays 5:30-6:30pm, in Hunt A-level


Ted Kern
Office hours: Tuesdays 8-9pm, in Hunt A-level

Course Description

This course introduces rapid prototyping to students with no prior experience in the subject. It is designed to give you three things:
  1. The skills to design and fabricate artifacts using CAD (Computer Aided Design) software, laser cutting, and 3D printing.

  2. An understanding of some of the computer representations and algorithms that underlie these technologies.

  3. An understanding of the current state of the art in 3D printing, and the many ways 3D printing is impacting society, from aeronautical design to medical technology.
After completing the course you will have access to the IDeATe laser cutting and 3D printing facilities for the rest of your time here at CMU. You are welcome to use these facilities for future class projects, research, or personal projects.

The only prerequisite for the course is moderate facility in Python programming, equivalent to having taken 15-104 or 15-112 (but not 15-110). There will be two Python assignments.

Learning Objectives

After taking this course, you will be able to:
  1. Design complex two and three dimensional artifacts in SolidWorks.

  2. Safely operate a laser cutter and 3D printer.

  3. Combine fabricated parts with appropriate off-the-shelf hardware such as standoffs and threaded fasteners to produce functional objects.

  4. Write Python code to procedurally generate DXF files for laser cutting or STL files for 3D printing, to go beyond what CAD software alone can do.

Learning Resources

  • There is no textbook for the course.

  • All software required for this course has been installed on the IDeATe laptops which can be checked out from the IDeATe lending booth. You also have the option of installing the software on your personal laptop. See the Software Setup page for instructions on how to do that.

  • Two recommended books for those who want to go deeper into the 3D printing are:

  • The IDeATe Resources site has information about IDeATe equipment, courses, policies, and more.

  • SolidWorks 2017 Essential Training at Lynda.com may be useful to you; log in here.


There are no exams in this class. The final course grade will be calculated using the following categories:

Attendance10 points
Assignment #1: Spirograph    5 points
Assignment #2: Trees10 points
Assignment #3: Pascaline20 points
Assignment #4: Molecule10 points
Assignment #5: Duck15 points
Final Project30 points
Total  100 points

  • In Assignment 1 you will make spirograph gears. It teaches you basic SolidWorks skills and gives you experience with the laser cutter.

  • In Assignment 2 you will recursively generate random binary trees and do some geometrical calculations in Python to turn your trees into DXF files that you can take to the laser cutter. Now you'll be able to make more complex things than is possible with CAD alone.

  • In Assignment 3 you will work in pairs to create a cusomized replica of the Pascaline, the first mechanical calculator. Assembling the Pascaline will give you some basic mechanical skills and teach you how to incorporate off the shelf components such as screws, springs, and threaded standoffs into your creations.

  • In Assignment 4 you will create a 3D model of an ethanol molecule and 3D print it. This will give you practice working with 3D shapes in SolidWorks, and teach you how to use the 3D printers available in IDeATe.

  • In Assignment 5 you will write Python code to generate a custom version of a model rubber duck, which you will write out as an STL file. This will give you experience working with triangular meshes, which is a popular technique for digitally representing 3D surfaces.

  • For the final project, which is 30% of your grade, you will design, fabricate, and document something meaningful to you, drawing on the various techniques you learned in the course. Your project will be displayed in the class gallery.

The following letter grades will be assigned based on calculations coming from the course assessment section.
Grade   Percentage Interval
A 90% - 100%
B 80% - 89%
C 70% - 79%
D 65 - 69%
R (F) below 65%

Grading Policies

  • Late-work policy: Assignments are due at 11:59 pm on the date shown in the class schedule. They can be submitted up to two days late at a cost of 1 point per day. Assignments more than 2 days late will not be accepted.

  • Make-up work policy: Students can make up work if they miss a deadline due to illness (with a doctor's note).

  • Re-grade policy: If you believe your assignment was graded incorrectly, please contact the TA who graded it. We will be happy to take another look.

  • Attendance policy: Attendance is worth 10% of your grade. A sign-in sheet will be circulated at the beginning of each class. You will be allowed 3 unexcused absences without penalty. Additional absences incur a 10 point penalty. Excused absences include illness (with a doctor's note), and participation in certain university-sponsored activities such as a tean sporting event. Job interviews and other personal activities do not qualify as excused absences.

Course Policies

  • Academic Integrity and Collaboration: The work you submit in this course must be your own, with the exception of the Pascaline assignment which is done in pairs. You are welcome to help or receive help from your fellow students on general matters such as how to fix a SolidWorks error, but you may not share your SolidWorks files with other students, collaborate on writing Python code, or in any other way submit or take credit for work that is not purely your own.

    For final projects, it is common to take inspiration from and build upon the work of others. This is permissible provided that you cite your sources and explain how you went beyond their work to make the project your own.

  • Class Communication: We will use Piazza as our primary means of online communication. Please ask questions via Piazza rather than emailing the instructor or TAs directly, so that your fellow students can benefit from the discussion. Sometimes a classmate may be able to answer your question more quickly than the instructor or TAs.

  • Use of the IDeATe Facility: Please read and become familiar with the IDeATe lending and purchasing policies, which can be accessed at resources.ideate.cmu.edu. Please note that fines may be imposed for late return of equipment.

    The IDeATe facilities are shared student resources and spaces. As such, all members of the IDeATe community are expected to be respectful of the equipment, the spaces, and fellow students and their projects. Always clean up after completing your work, put things back in their correct place, and leave the lab in better condition than you found it.

  • Reporting Problems to IDeATe: if you encounter problems with the laser cutters or 3D printers, please talk to the staff in the IDeATe lending booth, or email help@ideate.cmu.edu. That account is monitored by multiple staff persons and is the quickest way to get help.

  • Purchase of Materials: While we will provide you with some materials, you may need to purchase additional materials to complete class projects. For convenience, some materials are available for purchase at IDeATe Lending (Hunt A29). Additional materials, such as wood, can be purchased at the CMU Art Store in the Cohon University Center. Scrap materials, located in the bins opposite the laser cutters, are free for anyone to use.

  • Accomodations for Students with Disabilities: If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

  • Statement of Support for Students' Health and Well-Being: Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep, and taking some time to relax. This will help you achieve your goals and cope with stress.

    All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is almost always helpful.

    If you or anyone you know experiences any academic stress, difficult life events, or feelings of anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

Course Schedule

Please see the course schedule page for a list of lectures, assignment issue dates, assignment due dates, and office hours sessions.

Back to 15-294 course home page