CSE 160 -- Winter 2024 -- course overview (2024)

    CSE 160 -- Winter 2024 -- course overview (1)
    Interactive Computer Graphics:A top-down approach with WebGL, 7th edition
    Angel and Shreiner
    <! -------------------------------------------------------- >

    CSE 160L Text

    <! -------------------------------------------------------- >

    Prerequisites:

      Math 12 or 17 or 21 or 27 -- matrix manipulation, determinants,dot products, and cross products.
      CMPS/CSE 101 -- good programming practices/documentation, data structures,algorithms, java/C/C++ programming.You will also need to pick up a new programming language (javascript) on your own.

    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 canrender objects with proper lighting and shading, and allow users tomanipulate objects and camera, without the aid of higher level libraries.

    Grading Policies:

    • You will receive the same grade for CSE 160 and CSE 160L.
    • The course evaluation will be based on a combination of:quizzes, homeworks, programming assignments, and participation/attendance.Programming assignments account for half your grade.The rest makes up for the other half.Here's the breakdown:
      Programs 50%
      Quiz and Midterms 40%
      Exercises 5%
      Attend/Partipation 5%
    • It is important to note thatprograms are built on top of one another.Make sure you start early on each one so that you don'tend up playing catch-up the whole quarter.
    • Currently, I don't have a pre-determined number of exercises.These are impromptu problems presented in class as part of thelecture or lab discussions.Altogether, they will account for 5% of your grade.Think of these as practice quizzes.Bring paper and pencil to all sections.
    • Quiz and midterms are held during lecture hours.There will be 1 quiz (4%) and 2 midterms (18% each) on Fridays.There will be no final exam.Instead, we have program demo on the scheduled final exam date.
    • Attendance in the lecture and final is required.You are responsible for materials covered in the lecture and the labs.Do ask questions or contribute in class/chat, on discussion forum, contests, etc.
    • Late submissions are not accepted.Be sure to submit early and multiple times!Each time you've completed some requirement, submit.This way, you'll always have a partially working codethat can earn some credit.We only look at the most recent submission when grading.
    • THERE WILL BE NO MAKE-UP EXAMS OR PROGRAMS.
      THERE WILL BE NO INCOMPLETES GIVEN IN THE CLASS.

    Grading Scale:

    A+ = 100-97.00%A = 96.99-93%A- = 92.99-90%B+ = 89.99-87%B = 86.99-83%B- = 82.99-80%C+ = 79.99-77%C = 76.99-70%D = 69.99-60%F = 59.99-0%
    Note: If you elected for P/NP,you need to have a C or better to earn a P.

    Note also that while D is considered passing,it cannot satisfy a prerequisite for another course.

    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 inadvance that you need to come later.Send me an email to schedule something else if you can't make it duringmy 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 withother students, but this should be done without writing, looking,or sharing code.Cheating or plagiarism in any form will not be tolerated.This includes use of LLM e.g. ChatGPT, etc.You are responsible for protecting your solutions and programsfrom being copied by others.Refer to the Academic Misconduct Policy for Undergraduates.If anything is not clear, ask me.

    Protecting your work:Because WebGL runs off a browser, it is important that you developyour code "offline" by pointing the browser to a local file as opposedto 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 folderi.e. prog0, prog1, ...Each folder should contain at least 4 files:

    • features.html file -- this is the landing page for your assignment.It should contain your name, login ID,programming assignment number, date, etc.It should have a high-level description of your implementation including what wasimplemented, what was not, any special features, a user-guide if appropriate, etc.It should have at least one output image,a link to your javascript code,and a link to the driver.html file for the user (grader) to test your code.
    • driver.html file -- this "runs" your code.
    • your javascript code including the lib folder and
    • screen shot of your output.

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

    Your javascript code should have proper documentationincluding 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 progNcode/ driver.html features.html README screenshot1.jpg screenshot2.jpg$ ls -F progN/codelib/ prettyPix.js$ ls -F progN/code/libcuon-utils.jswebgl-debug.jswebgl-utils.js$ cd progN$ zip -r progN.zip * adding: code/ adding: code/prettyPix.js adding: code/lib/ 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.

    Contest:In prog5, there's room for expressing personal creativity, etc.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) ofeach programming contest.

    Exception to copying policy:Because programs are built on top of each other, running contests actuallyserves 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 yourcode 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 wouldbe considered cheating.<! -------------------------------------------------------- >

    Last modifiedThursday, 18-Jan-2024 18:11:35 PST.CSE 160 -- Winter 2024 -- course overview (3)

    CSE 160 -- Winter 2024 -- course overview (2024)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Domingo Moore

    Last Updated:

    Views: 6084

    Rating: 4.2 / 5 (53 voted)

    Reviews: 84% of readers found this page helpful

    Author information

    Name: Domingo Moore

    Birthday: 1997-05-20

    Address: 6485 Kohler Route, Antonioton, VT 77375-0299

    Phone: +3213869077934

    Job: Sales Analyst

    Hobby: Kayaking, Roller skating, Cabaret, Rugby, Homebrewing, Creative writing, amateur radio

    Introduction: My name is Domingo Moore, I am a attractive, gorgeous, funny, jolly, spotless, nice, fantastic person who loves writing and wants to share my knowledge and understanding with you.