Computational Design
Fall Semester 2020



Class Time: TBA

Place: Online

Instructor: Craig Yu (Email:

Discussion Forum

There's a discussion forum on the GMU's Blackboard page of the course. You can ask questions/share information about the course there.


This course will cover the fundamentals of computational design. Topics to discuss include 3D modeling, 3D representation, procedural modeling, simulation, and computational interaction. Students will also learn about evaluating designs by user studies and hypothesis testing. Advanced topics on using optimization and artificial intelligence techniques for generating designs will also be discussed.


  • Geometry and Algebra
  • Programming Languages and Algorithms
  • Engineering Mechanics
  • (No prior knowledge of graphics is assumed.)
The prerequisites stated above are not strict requirements. Students may learn the above topics by self-study. Students are welcome to talk to the instructor if they are uncertain whether their background is good enough for taking the course.


Students should be able to understand the course content just by following the lecture notes. However, the following textbooks serve as good references.

Recommended text
  • Foley, van Dam, Feiner, Hughes. Computer Graphics Principles and Practice, Second Edition in C. Addison Wesley, 1996.
  • Sean Luke, Essentials of Metaheuristics Second Edition, 2013. (FREE version available online, very useful for understanding optimization techniques)
  • Scott MacKenzie, Human-Computer Interaction: An Empirical Research Perspective, 2013. (useful for understanding HCI user study & statistics)
  • Jonathan Lazar et al., Research Methods in Human-Computer Interaction, 2010. (useful for understanding HCI user study & statistics)

Score and Letter Grade

The total score is 100 points. The breakdown is subject to change as a whole. This is the general breakdown we'll be using:

Projects: 52 pts
Presentation: 18 pts
Final Exam: 27 pts
Participation: 3 pts

Homework and projects are to be completed individually. Though you may discuss the problems with others, your answers must be your own.

The exam is a closed-book-closed-notes exam. The format of the exam will be announced later.

The final letter grade will be obtained using the following absolute scale:

Total score (pts)Letter Grade

Extra Credits (Masons)

You are highly encouraged to implement the extra credits in each project. Extra credits will be converted to points using a scale to be determined (e.g. 1 extra credit will be converted to 0.5 point). An actual implementation of an extra credit item may be worth somewhat more or less than its nominal value, depending on how well it was implemented.


1) You need to describe the extra credits you have implemented in your readme file.
2) No extra credit will be awarded for any late submission.
3) No extra credit will be earned until ALL of the required parts of the project are complete.
You may still get the maximum score in this course (i.e. 100 pts, an A+) even if you don't try any extra credit. But it is absolutely worth trying some of them, to make up some points you missed just in case, and also for fun.


There will be mandatory projects to be completed independently. Please check the due dates of the projects in the project webpages. Beyond required extensions to the base project, you are strongly encouraged attempt the extra credits, which translate into (a certain number of) points. 

The grader reserves the right to question any part of your submission, even it looks correct. You are supposed to have clear knowledge of what you implemented. If you do not understand what you have implemented, points will not be counted.

If you discuss your projects with others, you should submit their names along with the assignment material. Reverse engineering the sample executable and using code from previous offerings of the course or from any other source constitute plagiarism and are strictly prohibited. We will use automated tools to check for plagiarism.

Submission and Makeup Policy

(1) Unless a solid reason and its supporting evidence are given, e.g., due to illness, emergency, NO makeup is acceptable for students missing an exam;

(2) Homeworks and projects are due at 11:59pm on the due date. They may be submitted late by no more than 24 hours, weekend and holiday counted. The penalty for late submission within 24 hours is 20% of the score. If the submission is late for more than 24 hours, zero score will be given.

(3) That said, you are given a one-day chance for late project submission without penalty, to accomodate for important events such as participating in a sports competition (needs supporting evidence). However, this is the only chance. You must email the instructor with supporting reasons when you want to use this chance to compensate for a late submission, so that your score will be counted accordingly. After this chance is used up, there is no more.

(4) We will use the Blackboard system to collect your homework files. PLEASE DO NOT EMAIL the TA or the INSTRUCTOR your homework files; we cannot keep track of that because there are many students.

Note again: No extra credit will be awarded for any late submission (even you used your one-day chance to compensate for the lateness).

Honor Code:

GMU is an Honor Code university; please see the Office for Academic Integrity for a full description of the code and the honor committee process, and the Computer Science Department's Honor Code Policies regarding programming assignments. The principle of academic integrity is taken very seriously and violations are treated gravely.

What does academic integrity mean in this course? Essentially this: when you are responsible for a task, you will perform that task. When you rely on someone else's work in an aspect of the performance of that task, you will give full credit in the proper, accepted form. Another aspect of academic integrity is the free play of ideas. Vigorous discussion and debate are encouraged in this course, with the firm expectation that all aspects of the class will be conducted with civility and respect for differing ideas, perspectives, and traditions. When in doubt (of any kind) please ask for guidance and clarification.

[Important] Also note that posting projects or solutions on public websites requesting or offering to pay for outside assistance is strictly prohibited . It is also not allowed to publicly post your solutions, even this is for free, as it allows other students to copy them and hence results in plagiarism. These are all serious academic dishonesty. Students (whether past or current students) involved in these activities will be identified and sanctioned.

Accommodations for Disabilities:

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with Disability Services (SUB I Suite 2500; 703-993-2474; to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.


Students must use their MasonLIVE email account to receive important University information, including messages related to this class. See for more information.

Other useful campus resources:

Welcome to the Course Website
CS 795 Computational Design
Fall Semester 2020