- CS 50
- MATH 22 or 24
- or instructor's permission
Students will need to be comfortable with concepts from linear algebra, algorithms and data structures.
Instructor: Wojciech Jarosz
TA: Zack Misso
MWF, 10:10 – 11:15 pm, LSC 205 (new room!)
Th, 12:15 – 1:05 pm, 205 LSC
M & Tu, 4:00 - 4:50, 156 Sudikoff
M, 2:00 - 3:30 pm, Th, 10:00 - 11:30 am, 115 Sudikoff
Lectures & Coursework
The required textbook for the class is Fundamentals of Computer Graphics, by Shirley and Marschner, 3rd edition or newer. You can buy the physical book at your favorite bookstore, or you can access the digital version (from Dartmouth IP addresses) here. There will be required reading from this book each week to supplement the material discussed in lecture. The reading you should do before coming to lecture will be listed on the corresponding lecture event in the Calendar.
The tentative grading scheme will be:
- 45%: Programming assignments
- 30%: Quizzes
- 15%: Final project
- 10%: Participation/engagement
Graduate & Extra Credit
Grads and undergrads enrolled in the class will be graded separately and we will generally grade grads more strictly. Additionally, the programming assignments will typically include extra portions that will be required for students enrolled in the graduate versiom (CS 177) and may count as extra credit for those enrolled as undergrad (CS 77). We will grade these separately and grant extra credit only if the foundation of the original assignment has been completed correctly (e.g., at least 90% of the original requirements/grade are met). Extra credit will not exceed 20% of the overall grade.
At the end of the course, extra credit will not be added directly to your score. Instead, we will consider your extra credit to potentially round your grade more favorably when discretizing to letter grades.
Submission Deadlines & Grading
You will turn in their code through Canvas, and each assignment will have a strict deadline. We will strive to post programming assignment grades on Canvas within roughly two weeks of the due date. Some assignments will build off of each other, so you do not want to fall behind!
- < 1 day late: max 75%
- < 2 days late: max 25%
- >= 2 days late: 0%
Exception to this rule might be made for special cases only if the professor is informed well (e.g. >1 week, not a couple days) before the deadline, or in the case of a medical emergency, and at the professor’s sole discretion.
It’s up to you to check that assignments have been successfully submitted to Canvas; if there are any problems, you must notify course staff by email immediately (not weeks later, claiming “Canvas ate it”).
We will be using Piazza for class discussion.
To set up Piazza, first log on to Canvas. This should take you to the Canvas page for this class, but if not, select “Rendering Algorithms (GSA17)” from the “Courses” dropdown. Then, click on “Piazza” on the left side and register using your full @dartmouth.edu email address and a unique password (don’t re-use your Dartmouth NetID password!).
If you have registered with Canvas using your full @dartmouth.edu address before, then your account should already be properly set up. If you registered using a different email, you’ll need to add your @dartmouth.edu address to your Piazza account settings for it to link properly with Canvas.
E-mail the course staff for Piazza access if you are auditing or yet to register.
Piazza is the place for you to ask questions and get help. This allows your classmates to benefit from seeing the question and subsequent instructor response. We encourage you to contribute answers to other people’s threads, or initiate open-ended discussions on topics relevant to the class.
Working together & Academic integrity
In short: You are welcome and encouraged to chat about assignments with other students in general terms, but code must be written on your own.
I assume the work you hand in is your own, and the results you hand in are generated by your program. You’re welcome to read whatever you want to learn what you need to complete the work, but I do expect you to build your own implementations of the methods we are studying.
If you’re ever in doubt, just include a citation in your code and report indicating where some idea came from, whether it be a classmate, a website, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not. The same basic principle applies to your presentations. Any material you reuse from outside sources must be properly attributed.
The example scenarios below (adapted from Tom Cormen's discussion of the honor principle) should give you a more concrete idea of what is and is not acceptable.
Accessibility Needs & Religious Observances
Students with disabilities who may need disability-related academic adjustments and services for this course are encouraged to see me privately as early in the term as possible. Students requiring disability-related academic adjustments and services must consult the Student Accessibility Services office (205 Collis Student Center, 646-9900, Student.Accessibility.Services@Dartmouth.edu). Once SAS has authorized services, students must show the originally signed SAS Services and Consent Form and/or a letter on SAS letterhead to me. As a first step, if you have questions about whether you qualify to receive academic adjustments and services, you should contact the SAS office. All inquiries and discussions will remain confidential.
Some students may wish to take part in religious observances that occur during this academic term. If you have a religious observance that conflicts with your participation in the course, please meet with me before the end of the second week of the term to discuss appropriate accommodations.