Skip to main content

Grading & Reference Scenes

Grading

When grading the creative assignments, we will separate your score into a "completion" score and a "bonus" score. The bonus part is essentially cumulative over the semester, and will be curved at the end. You can accumulate "bonus points" in each creative assignment, the final project, and we may award small amounts of bonus points for bug bounties.

For each of the creative projects we try to establish some guidelines or points of reference for what would approximately get full completion but no bonus points, which is kind of like getting a B/B+ on the assignment. Our grading scheme is unusual for a computer science course, which makes some students anxious. If the open-ended nature of these creative projects makes you nervous, you are welcome to start by implementing the baseline example or criteria, then add content as time permits.

Bonus Points

Bonus points are more valuable than the basic breakdown of grading percentages may indicate, because they are somewhat fungible. I allow bonus points to partially make up for things like poor performance on other assignments or a bad prelim. And bonus points on one creative assignment can also compensate for not getting full completion on another (to some extent). So bonus points can save your grade if you hit a rough patch for part of the semester. This is a big part of why, every time we have used this system so far, the creative projects have had a net positive effect on the final grades of most students.

Good performance on the regular assignments does not generally make up for poor performance on the creative assignments, so please take the creative projects seriously and start early. These projects are more reflective of what working with graphics is like in the real world. They have also increasingly been cited as students' favorite aspect of the course at the end of the semester. We want this to be a cool experience for you, so let us know if we can help.

Evaluation Criteria

Creative projects will be evaluated with three criteria in mind: how technically impressive your submission is, how creative / original it is, and overall presentation. You can get bonus points based on any of these criteria, and excellence in one of these categories can compensate for weakness in another (e.g., if you did something technically very basic but created some cool art with it that can balance out).

Overall presentation will be heavily based a video that you submit showcasing the project. In some cases, presentation points may be awarded based on contents in the report you submit, but since C1 is working with interactive graphics, the video tends to be where students have an opportunity to excel.

We tend to reward cleverness, so something does not have to be complicated to be technically impressive. We also tend to be more generous on projects that are especially original, and forgiving of groups that take a bit more of a risk. However, be warned that if you do something arbitrary or unintentional and try to pass it off as "abstract art", you will be graded for a submission that is arbitrary and unintentional. You will also get little or no credit for work that you cannot demonstrate. So scope out your ideas carefully, and if things aren't working as the deadline approaches, be prepared to pivot or demonstrate individual parts of your effort separately.

We will select a few of the top submissions to show in class and post online. Please let us know if you would prefer to keep your submission private.

At the end of the semester, bonus points from the creative assignments and final project will be the largest factor in determining who, if anyone, gets an A+.

Reference Scenes

Below are two example scenes that would fall approximately in the B / B+ range.

Procedural Kaleidoscope-y Pyramid:

note

If you want to use this example as a safety net for your grade, You are welcome to build it, demo that it works very briefly when you submit, then spend the majority of your submission video showing off other more original implementations in pursuit of bonus points. Some students find that option comforting...

The basic idea behind this example is that you have some shape defined in your model (e.g., the geometry in model.verts), then your view creates several instances of that shape and transforms each of them according to some procedure.

Implementing all the features in the demo video below would probably receive about full completion score, but maybe no bonus points.

Create interesting proceedures, create cool visuals...

Burn Baby, Burn

This example is a particle flame effect. The most basic version of it simply emits particles, controls their motion, and re-emits them at the end of their life cycle. To get full completion with a flame, you will need to make it look reasonably compelling and implement at least some of the additional bells and whistles like blowing in the wind or leaving particle trails when the plame is moved. The one in the video would qualify for full completion, but not much more.


Letters of Rec

If you plan to ask me for a letter of recommendation, try to get bonus points in the class. If you email me about a letter later in the year, the first thing I am going to do is check your bonus point tally. If you have cool creative submissions then I may have enoug to say in a letter. If I see a tally close to 0, I probably won't be able to write you a strong letter and will recommend you ask someone else.

Cool Examples from Previous Years

You will notice that the 2023 submissions at the bottom are a bit more sophisticated than most earlier submissions on average. This is partly because the starter code has evolved each year, and generally speaking, has become more substantial and better documented. Even so, all the submissions below were strong and would at least be above the baseline by current standards as well.

Bianca Tseng & Austin Wu

MarkCaputo & Aron Zhao

Mateo Guynn & Noah Rebei

C1 Examples from 2023


Gabe Fucs and James Sy

Great example of a group that did the pyramid example, but then focused on something more original. One small suggestion: if you choose to do this, maybe put the pyramid at the end of your video and show the original scene first. Not critical, but it might make the grading process slightly easier for us.


Kyra Lee & Rena Liang

Great example of a well-crafted demo video!


Ethan Goldman & Charles Asteris

This is a good example of a submission that wasn't super complex technically, but it was so well executed and polished that it still did quite well overall.


Amanda Chen & Ellyn Hu


Jason Klein & Jack Williamson


Ethan Yang & Peter Wu

Yes, this was really implemented in AniGraph for C1. We even looked at their code...



Caveats

  • You are not allowed to use third party libraries.
  • There's no late submission for C1. Because we will sort all submissions, we want to make sure everyone was give equal time.
Warnings
  • Every year, a small number of students demand full completion credit for a submission that only implements part of the functionality from reference scenes, or implements some of the functionality much more poorly than what is shown in the reference examples. If you think we made a legitimate mistake with your grade then we will consider it, but do so in good faith because we are already under-staffed and don't have time to field arbitrary requests. With this in mind, note that if we re-examine your submission and find flaws we didn't catch the first time around, we reserve the right to lower your score further. Remember that our grading scheme makes it so that you can make up for poor performance on one project by getting bonus points on another.
  • We treat academic dishonesty very seriously. This means don't turn in code that isn't yours. It also means, don't claim that you implemented features you didn't implement. If we feel you have been misleading in your description of a feature, we reserve the right to give you no credit for it. So if you hard code something, be honest about it and you may still get some credit, but if you try to pass it off as something much more sophisticated there is a serious risk you will get nothing. Also know that an expert can infer a lot about your implementation just by looking at its output, so the chances of getting caught are probably much higher than you think. In extreme cases, this has caused students to fail the course in the past.