Assignments and Resources

Assignments

You MUST work individually in assignments 0,1,2 and 3.

For assignment 4, we strongly recommend you work in a group of 2 (both partners will receive the same score and your submission should list both partners; both need to submit for the official CSE 167 submission, but only one (same) link to feedback results on edX needs to be included). We will not require groups of two (however, the requirements will stay largely the same [thus providing strong encouragement to work in a group], but single-person groups need not implement an acceleration structure, and can receive 1-2 points of extra credit if they do so.) Note that many students have indicated that assignment 4 is the most difficult (and rewarding) of their UCSD CSE career, so we really highly recommend you work in a group of two.

In order to use our visual automatic feedback and grading systems, you will need to sign up for the course on edX edge. (edX is the leading non-profit provider and university partner for online and hybrid courses. We are using a site maintained only for the local CSE 167x; this is referred to as a SPOC or small private online course). First, sign up for an account at edX edge. Then, please register for and start the course (the URL will be posted on piazza to limit registration to course participants). The instructions for the written part of assignment 0 include providing us your edX edge username and e-mail in the README file you submit. Most assignments, with FAQs and detailed instructions, are on the edX site (the PDFs below only have a few additional details relevant to CSE 167, and the complete information for hw3 - curves, which is not on edX). Homeworks 1 and 2 are specified entirely on the edX site, with no additional instructions provided here, except for a brief discussion of the homework 2 milestone. The skeleton/framework code for assignments 0-3 is linked below. You may also be interested in the demo mytest OpenGL code used in class, available for Windows and Mac/Linux.

If you scroll past the assignments, this page also has some other useful information on raytracing resources and other miscellaneous hints. Far more material is found on the edx edge site, including detailed FAQs on each of the assignments, step by step guides by previous students, links to relevant tutorials, and example problems. I strongly encourage you to consult that site as well.

Specification FAQ Framework Code Due
Assignment 0 see edX Windows   Mac/Linux   Due Jan 16
Assignment 1
(fully on edX)
see edX Windows   Mac/Linux   Due Jan 23
Assignment 2 see edX Windows   Mac/Linux   Due Feb 15 (milestone due Mon Feb 4)
Assignment 3 None Windows   Mac/Linux   Due Feb 27
Assignment 4 see edX see edX; Simple Test Scenes Due Mar 18 Mon (milestone due Mar 8)

Assignment Submission

There are two parts to assignment submission: The edX process (for those assignments hosted on edX edge), and the official CSE 167 submission. The edX site hosts the homework instructions for most assignments, as well as automatic visual feedback systems for submitting code (where relevant in homeworks 1 and 2) and images (for the curves assignment in homework 3, we will host a separate submission site, for which details will be posted). edX also hosts a bunch of other useful optional material. For assignment 3, curves extra credit (only if you are doing extra credit), please submit on TeD by the regular homework 3 deadline, as per the assignment specification. However, please still use TeD to separately submit the regular assignment in any case.

For submitting the assignment, first submit your code and images to the relevant edX graders. You may do so as many times as you want, using the feedback from the system to improve your submission. Please be aware that an honor code applies here. You may submit only code and images that you yourself have written for the assignment. You may definitely not attempt to submit any malicious code or deliberately try to attack the graders in any way, or make any other effort to circumvent the normal functioning of the graders. We will be logging all submissions and will take action on any violations of this honor code policy. Once you submit code and images, please note down the link to the (full-resolution) grader feedback report (you need only keep the latest such feedback report). You will need this URL for the official CSE 167 submission below. Please allow ample time for this process given the time for the grader to return feedback, any grader crashes at the last minute etc. Please also note that the scores in edX are only dummy variables; we will assign scores and grades separately for CSE 167x based on our published scoring for each assignment, fairness, late penalties, inspecting your code and possibly running additional tests. If you do feel the edX score is particularly inappropriate/unfair, please note as much in your in-class submission so we make sure to take a careful look.

To complete the submission, please submit the following via TeD. Specific instructions are also posted on the TeD site. (Only) if TeD submission fails for some reason, please e-mail this information to the TAs. The relevant information is as follows:
(1) your name (and your partner's name if appropriate for homework 4 only), (2) Your edX username and e-mail used, (3) The URL to the code-grader (if code is being graded for this assignment) images at full resolution on edX (or standalone if the assignment isn't hosted on edX), (4) The URL to the image-grader URL for full-res images on edX (for assignments where these are available), (5) For homeworks 1-3, your source code files that you have modified (and tested on the code-grader), (6) A zip of your entire source code directory (please include a README with platform and any specific compilation instructions; you may include executables etc. in this directory), and (7) Any special comments, issues or points in grading or generally about the assignment you want to convey. Please make sure to include all of the above information; we may penalize you points if some parts are omitted. The specific pieces of information and components to upload are specified for each assignment on TeD. Please allow ample time for this; your timestamp on the submission (or e-mail if TeD submission does not work) may determine the late penalty if relevant. If you anticipate your entire source code directory is too large to be submitted, please work with the TAs beforehand to develop a solution, such as using a private google drive link. On no account should you post your source code publicly, including public github repos.

Course Handouts

Free OpenGL and Math Tutorials

The following is a set of online free tutorials and books compiled by former online student Sundar2000.

Ray Tracing Resources

Miscellaneous