Grading & Progress

Grade breakdown

Your final grade for this course is composed of two parts:

Component Weight Description
Project 5 / 20 Automated evaluation of your team repository at the deadline
Exam 15 / 20 Individual written + coding exam on Moodle (Safe Exam Browser)
ImportantThe exam is what counts most

The project (5 pts) is your foundation — it teaches you how to code. The exam (15 pts) is where you prove you can do it yourself. The exam tests your ability to write C code in a sandboxed environment, without teammates, without AI tools, and without internet. The only way to prepare for that is to have personally written the project code yourself.

See Ethics & AI Policy.


Project grade — 5 / 20

The project grade is assigned automatically at the deadline from what is on your main branch.

Requirements

  • Code uniqueness: Your code must be significantly unique. Code that is identical or near-identical to another team’s will be detected and graded accordingly.
  • Individual contribution: Each student must have authored at least 10% of the team’s commits on main. Students who do not meet this threshold do not receive the project credits.
  • Attendance: Students must be present at all tutored sessions for the full duration.

How features are scored

The CI runs your program with test images and compares output against the reference implementation:

freud.exe -f images/input/test.jpg -c color_blue
Important

Output must match exactly — spacing, capitalization, and line endings matter. The CI also checks regression: new code must not break previously passing features.

Checking your progress

You can check your team’s progress at any time:

  1. Open your repository on GitHub.
  2. Go to Actions — look for evaluation workflow runs.
  3. Read the pull request report generated by the CI for a per-feature breakdown.
TipBug in our version?

If you believe the reference implementation has a bug, open a GitHub issue and describe the problem. If confirmed, your contribution will be reflected positively in your grade.

CI daily advice

  • Keep main compilable at all times — a broken build means zero test results
  • Do not add extra libraries beyond course requirements
  • Keep your source files under src/

Exam — 15 / 20

The exam takes place in a supervised session on Moodle with Safe Exam Browser (SEB). It is individual — no teammates, no AI tools, no internet.

Format

Part Description
MCQ Multiple-choice questions about the project: C concepts, Git, CMake, image data structure, feature behavior
Coding session Implement one or more functions similar to those in the project, with automated tests that check your solution

What the coding session looks like

You will be given a function specification and a test harness. You must write correct C code that passes the tests — the same workflow you have practiced all semester.

WarningThere is no way to fake your way through the exam

The coding session requires you to write and reason about C code under time pressure, without assistance. The only preparation that works is having personally written the project features yourself.

How to prepare

  • Implement every feature yourself — do not delegate to a teammate or an AI tool
  • Understand how pixel indexing works: (y * width + x) * 3
  • Practice the full dev cycle without relying on autocomplete
  • Re-read your own code and be able to explain every line
  • Review Image Data Structure and Freud CLI Reference

Ethics and academic integrity

Evaluation includes plagiarism detection across all teams. Code similarity is checked automatically.

Read Ethics & AI Policy before using external help, sharing code, or relying on AI tools.