CSE 160: Spring 2021
Course Overview

CSE 160 Text

CSE 160L Text

Prerequisites:

Learning Objectives:

Learn concepts and algorithms for transformations, lighting, shading, viewing, projection, and hidden surface elimination. At the end of the quarter, demonstrate mastery of these topics by implementing a program that can render objects with proper lighting and shading, and allow users to manipulate objects and camera, without the aid of higher level libraries.

Grading Policies:

Office Hour: A note about office hours: office hours end if/when there is no one else waiting to talk to me unless you let me know in advance that you need to come later. Send me an email to schedule something else if you can't make it during my regular office hours.

General Policies: All course work are intended as individual effort (unless explicitly mentioned otherwise) and are graded as such. It is okay to discuss general approaches and algorithms with other students, but this should be done without writing, looking, or sharing code. Cheating or plagiarism in any form will not be tolerated. You are responsible for protecting your solutions and programs from being copied by others. Refer to the Academic Misconduct Policy for Undergraduates. If anything is not clear, ask me.

Getting ready for Quizzes: We will be using gradescope for quizzes, etc. Please create a gradescope account as soon as possible -- our first quiz will be 1st Friday of the quarter. Make sure you use the same canvas info for your gradescope account to minimize problems with getting your accounts linked properly. From what I can see on my end, your canvas enrollment in the class is visible on gradescope.

Also familiarize yourself with Using Gradescope with Canvas as a Student

Protecting your work: Because WebGL is run off a browser, it is important that you develop your code "offline" by pointing the browser to a local file as opposed to a publicly accessible url.

Submitting your work: In general, you will be submitting your program on Canvas. Put all the required materials for each programming assignment into its own folder i.e. prog0, prog1, ... Each folder should contain at least 4 files:

All references in both html files should be local i.e. relative to your submit folder.

Your javascript code should have proper documentation including comment blocks for each function, and inline comments as appropriate. Code should be formatted so that it is easy for humans to read.

You can re-submit as often as you want. We will only grade the most recent submission.

Zipping your submission folder. Assume you have the following folder: progN.

$ ls -F progN
code/ driver.html features.html README screenshot1.jpg screenshot2.jpg
$ ls -F progN/code
lib/ prettyPix.js
$ ls -F progN/code/lib
cuon-matrix-cse160.js
cuon-utils.js
webgl-debug.js
webgl-utils.js
$ cd progN
$ zip -r progN.zip *
  adding: code/
  adding: code/prettyPix.js
  adding: code/lib/
  adding: code/lib/cuon-matrix-cse160.js
  adding: code/lib/cuon-utils.js
  adding: code/lib/webgl-debug.js
  adding: code/lib/webgl-utils.js
  adding: driver.html
  adding: features.html
  adding: README
  adding: screenshot1.jpg
  adding: screenshot2.jpg
$ _ 
Make sure that your driver.html file refer to the appropriate js file within the progN folder.

Contests: In assignments where there's room for expressing personal creativity, etc. i.e. prog2 onwards, we encourage everyone to participate. Participation involves: (a) letting the graders know that you would like to enter the contest, (b) giving your consent to let your peers view and vote on your submission. We encourage everyone to participate by voting to select the winner(s) of each programming contest.

Exception to copying policy: Because programs are built on top of each other, running contests actually serves two purpose: (a) make the class more fun by sharing/showing off your work to your peers, (b) learning from your peers -- if you decide that you want to switch your code base to your peer's code for the remaining programming assignments, you are allowed to do on the following conditions: (i) you acknowledge/credit your peer's work in your code and documentation, and (ii) proceed from there with your own work/effort as before. This can be done only after a programming assignment has been graded. For example, we run a contest after the prog2 due date, you can decide to use your peer's prog2 code to build your prog3. However, you cannot use your peer's prog3 code to build your prog3 as that would be considered cheating.


Last modified Monday, 24-May-2021 09:55:47 PDT.