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 examples 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. We 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. And be aware that creative projects are more work than the regular assignments. These projects are more also reflective of what working with graphics is like in the real world, and have increasingly been cited as students' favorite aspect of the course at the end of the semester. We want this to be a cool learning experience for you, but that doesn't mean it will be a terribly easy one, so let us know if we can help (earlier the better).

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 pretty 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 as well, but since C1 is working with interactive graphics, the video tends to be where students have the most 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 more 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. If you implement both of these, that should get you at least full completion. It might not be the easiest way to get full completion (again, because we reward creativity), but it is a straightforward path.

The Safety Net Approach

If you want to use the examples below as a safety net for your grade, You are welcome to build them, demo that they work very briefly in your main video or a supplemental video, then spend the majority of your main submission video showing off other more original stuff in pursuit of bonus points. Some students find that option comforting...

Procedural Kaleidoscope-y Pyramid:

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. A more complete version should 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 flame is moved. Submitting one like what you see in the video, combined with a pyramid like the video above, would qualify for at least full completion. Though, if you go that far, you might as well play around a bit more with what you have to do something new and pick up some bonus points... just sayin...


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 and look at your creative project submissions. If you have cool creative projects then I may have enough to say in a letter. If I see a low tally, I probably won't be able to write a strong letter and will suggest 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 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. Now that we allow you to submit a separate zip of extra supplemental videos, if you decide to do the baseline examples(s) in addition to something original, put your demo of the baseline examples in the extra / supplemental zip. Focus your 1 minute video on the original scene. Be sure to note clearly in your report that you included demos of the badeline scenes, though.


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 & Warnings

  • You are not allowed to use third party libraries. Note that AniGraph does include simplex noise (similar to Perlin Noise) though, which we will talk about in lecture.
  • 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 this class is a bit under-staffed and fielding requests takes time. 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, even if you haven't outright lied, we reserve the right to give you no credit for that feature. This usually happens when students hard code something and then describe it as being more general. Be honest about what you actually implemented and you may still get some credit, but if you try to pass it off as something much more sophisticated and we have to dig through your code to find out it isn't, there will be a penalty. Also be aware that an expert can infer a lot about your implementation just by looking at its output, so the chances of getting caught on this are much higher than students seem to think. In more egregious cases, this has caused students to fail the course.
  • If you do outrigh lie or use code that you did not right, then we are in academic integrity violation territory, which can lead to a referral. Let's not go there.