Assignment Provided Material Due Date Points
4 Credit MP: Ray Tracing Dec. 14, 2020 @ 11:59 PM 10
MP1: Dancing Logo Sept. 16, 2020 @ 11:59 PM 10
MP2: Terrain Modeling Part 1 Oct. 21, 2020 @ 11:59 PM 9
MP2: Terrain Modeling Part 2 Oct. 30, 2020 @ 11:59 PM 6
MP3: Environment Mapping Nov. 29, 2020 @ 11:59 PM 15
MP4: A Simple Physics Engine Dec 14, 2020 @ 11:59 PM 10

Development Environment Information

We will use HTML/JavaScript/WebGL and GLSL for the programming assignments. No prior knowledge of these is required for the class. Code examples in the course use WebGL 1.0. You are encouraged to use that version as well.

You may develop using any environment you wish. You just need a editor or development environment in which to write the code and browser in which to test. Here are some useful resources:

All files, classes, methods and properties should be documented with JSDoc comments with the appropriate tags and types. Details can be found in the Google JavaScript Style Guide.

We will grade your assignments by running them using Google Chrome. Please test your code in Chrome before submitting to make sure it will run there.

Late Work

Machine problems submitted after the due date lose 10% of the total assignment value per day. In exceptional circumstances where extension may be reasonable (illness, family emergency etc.) arrangement must be made with the instructor.


You should collaborate on the MPs during the design process…you absolutely can figure out how to implement things together. If you work on MPs together, document your collaborators in the author comment in your submitted code.

You should type the code in yourself. You should not copy code verbatim from each other or the web. You can reuse code from the course website. Each MP has a creative component and we expect that your MP will look noticeably different than other submissions. The penalty for egregious plagiarism will be a 0 on the assignment and loss of 1 full letter grade from the total course grade.

Regrade Requests

To submit a regrade request:

  • Create a private Piazza post with the regrade tag.
  • Include a brief explanation of why you think your grade is incorrect.
  • You must submit regrade requests within one week after we release grades on a given assignment.

For MPs:

  • The course staff will regrade MPs.
  • Major issues (e.g. a submission issue resulted in a zero) have priority over minor issues (e.g. lost points on one small feature of the MP).
  • We may not regrade your work until after all MPs have finished.

Academic Integrity

You should be familiar with the Student Code definitions on academic integrity. We expect you to abide by them.