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 UCSD Online 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 UCSD Online. (We are using a site maintained only for the local CSE 167; this is referred to as a SPOC or small private online course). Please register for and start the course (the URL will be posted on piazza to limit registration to course participants). You can sign in using your UCSD credentials or create a new account on UCSD Online. The instructions for the written part of assignment 0 include providing us your UCSD Online username and e-mail in the README file you submit. Most assignments, with FAQs and detailed instructions, are on the UCSD Online 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 UCSD Online). Homeworks 1 and 2 are specified entirely on the UCSD Online 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 UCSD Online 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 | Framework Code | Due |
---|---|---|
Assignment 0 | Windows   Mac/Linux   | Due Jan 12 |
Assignment 1 (UCSD Online) | Windows   Mac/Linux   | Due Jan 19 |
Assignment 2 | Windows   Mac/Linux   | Due Feb 9 (milestone due Mon Jan 31) |
Assignment 3 | Windows   Mac/Linux   | Due Feb 23 |
Assignment 4 | see UCSD Online; Simple Test Scenes | Due Mar 15 Tue (milestone due Mar 4) |
There are two parts to assignment submission: The UCSD Online process (for those assignments hosted on UCSD Online), and the official CSE 167 submission. The UCSD Online 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). UCSD Online 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 Canvas by the regular homework 3 deadline, as per the assignment specification. However, please still use Canvas to separately submit the regular assignment in any case.
For submitting the assignment, first submit your code and images to the relevant UCSD Online 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 UCSD Online are only dummy variables; we will assign scores and grades separately for CSE 167 based on our published scoring for each assignment, fairness, late penalties, inspecting your code and possibly running additional tests. If you do feel the UCSD Online 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 Canvas.
Specific instructions are also posted on the Canvas site. (Only) if
Canvas 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 UCSD Online 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 UCSD Online (or standalone if the assignment
isn't hosted on UCSD Online), (4) The URL to the image-grader URL for full-res
images on UCSD Online (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 Canvas.
Please allow ample time for this;
your timestamp on the submission (or e-mail if Canvas 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.