Syllabus for Spring 2021 CIS 441/541

Expectations

This is a projects-driven class. The projects will help you learn the theory of computer graphics, but they will also help you become better programmers, and provide you with experiences, anecdotes, and images that will impress potential employers. (In terms of explicit learning outcomes, you will implement a significant software system, you will demonstrate proficiency in computer graphics theory, and you will demonstrate proficiency in practical computer graphics usage.)

The grading is designed to make sure you are keeping up with the assignments. Staying on top of the projects will be critical to succeeding in this class.

The projects in this class will be hard work. It is difficult to quote exactly how much time, since there is variation in background and programming skill. I expect those who have less developed programming skills will find this class to be a considerable effort, but also that they will have significant improvement by the end of the course.

Course Materials

Grading

Each piece of Project 1 will build on itself, so do a good job. Also, under no circumstance will I hand out solutions to the one of sub-projects to assist those who fall behind.

Note: the denominator for 441 is 100, and for 541 is 115.

Projects 1A-1F, 2A, and 2B will be submitted to Canvas and graded by the TA or myself. I would rather have correct work late than incorrect work on time. In almost all circumstances, producing the correct picture will result in full credit. Projects that do not produce the correct pictures will get less than half credit, even if the cause is a minor error.

The final projects will be demonstrated in front of the whole class on the day of the Final. I want everyone to attend (whether or not you did a custom final project), and will deduct 4 points from your grade if you skip.

Working Together

All projects are individual projects. Copying code from other students is cheating. However, I encourage you to discuss your roadblocks with each other and lean on each other to figure out solutions to your problems. I will set up a forum for having a class exchange. I encourage you all to monitor and respond to the forum, and I may award extra credit to students who are particularly helpful on the forum. The amount of extra credit will vary based on involvement, and would result in a 1/3rd grade boost (e.g., B to B+).

Evaluation Criteria

Late Policy

You have 2 "late passes." Late passes allow you to turn in your project (specifically a sub-project, i.e., project 1A) two days after the due date for full credit. You may also use two late passes on one assignment and get a four day extension. For example, you submit a project that was due on a Wednesday on Friday (i.e., two days later) and get full credit if you use one late pass.

If you run out of late passes, then you may continue to earn half credit on any project up until we take the Final. Once we get to the Final (Tuesday June 8th at 8am), I will no longer accept homeworks.

Note that projects will initially be marked as late and scored half credit. At the end of the term, you will tell me which projects you want to apply your late passes to, and the scores for those projects will be increased. There is no need to indicate your desire to use a late pass as you submit; I find it often changes as the term goes on. If you miss the Final exam period, you may present your project afterwards for half-credit. Exceptions for full credit will be granted in appropriate situations. These situations include medical emergencies, etc., and do not include oversleeping, forgetting the day of the final, etc.

Class Attendance

I expect you to attend class every day, or watch the video of class. I will announce quizzes at least one lecture early (no pop quizzes). Quizzes occur during a fixed time period in class and cannot be made up. That said, I will accommodate people in appropriate situations. These situations include medical emergencies, etc., and do not include oversleeping, forgetting the day of the quiz, etc.

Course Lectures

The lectures will be based around preparing you for the projects. We will discuss rasterization, camera transformations, and shading during the first part of the class. The middle part will focus on practical matters for Project 2. The final part of the course will present quick overviews of topics in graphics I think you should be exposed to. The breakdown of these three parts can be loosely inferred from the projects.

Academic Misconduct

Form from the first day of class.