Better automatic feedback for csed
July 5, 2021

Webinar: Better Automatic Feedback for Computer Science Education

In 30 seconds...

  • CodeGrade can help you improve your manual and automatic feedback.
  • Feedback top tips! Should be educative in nature (focusing on what is correct and incorrect), provide examples in feedback (code snippets), use first person, link to rubrics, give feedback in a timely manner;
  • Rubric design top tips! Use an even number of levels, limit criteria per category, avoid negative or competitive level names;
  • Creating clear tests in Autotest! Split up tests as much as possible, make tests flexible and use custom configurations where possible;
  • Finally, we go over ways to customize the output of JUnit, PyTest, PMD and Checkstyle!

In our latest webinar, we have discussed ways to improve your manual and automatic feedback using CodeGrade. This webinar was part of our monthly Focus Groups and was recorded on July 1st 2021, it is available on demand now.

Meaningful Feedback Principles

  1. Educative in Nature. Focus on what the student is doing correctly and incorrectly, use the famous feedback sandwich (Compliment, Correction, Compliment).
  2. Answers Dinham’s 4 Questions. Learners want to know where they stand in regards to their work, answering these questions regularly will help your students and improve your feedback.
    - What can the student do?
    - What can't the student do?
    - How does the student's work compare to that of others?
    - How can the student do better?
  3. Provide a Model or Example in your feedback. Demonstrate how the student can improve. E.g. using Markdown in CodeGrade for example code snippets.
  4. Use comments to teach, instead of justifying the grade. Activate your students to make improvements in future work by making links to rubric (by default in AutoTest) and course material.
  5. Use the “I-message” in your feedback. Avoid using “you” in feedback (this can be interpreted as a personal attack), instead use generic term like “people” or use the “I-message” to communicate what you observe and think about it.
    - Avoid: “You didn’t spent much time into creating a user friendly UI.”
    - Use: “I notice you did not make your UI very user friendly.”
  6. Give feedback in a timely manner. Numerous studies indicate that with feedback it really is the sooner the better. For instance, use AutoTest to provide your students with instant automated feedback.

Good rubric design principles

  1. Choose the amount of levels wisely. Encourage students with a high number of levels, show progress. Use even number of levels (so there is no bias towards middle level). For large classes, 4 is often recommended (e.g. Walvoord et al. 2011).
  2. Choose your criteria wisely. Limit the number of criteria per category (consider adding a new category) and use clear “teachable” criteria (e.g. “code quality is good” VS “camelCase naming convention was followed”).Easy to understand by students: rubric is for students and teachers, not just teachers.
  3. Review the following questions to get started (Van Leusen (2013)).
    - What knowledge and skills is the assignment designed to assess?
    - What observable criteria represent those knowledge and skills?
    - How can you best divide those criteria to represent distinct and meaningful levels of student performance?
  4. Try to avoid negative or competitive level headers (Stevens & Levi (2005)). This can discourage students, but be clear about expectations, failures and successes.
    Examples:
    Beginning, Developing, Accomplished, Exemplary
    Needs Improvement, Satisfactory, Good, Accomplished
    Emerging, Progressing, Partial Mastery, Mastery
  5. Accentuate growth mindset over fixed mindset by using activating and encouraging names and descriptions.
An example "Code Structure and Documentation" Rubric Category in CodeGrade


Supercharge your feedback by using CodeGrade's manual and automatic grading tools especially made for computer science education!

Continue reading

Best Paid Autograders for University Programming Courses (2026)

A side-by-side comparison of the best paid autograders for university programming courses in 2026 — CodeGrade, Gradescope, Codio, and Vocareum — covering pricing, features, and LMS integration.

Best Autograders for University Programming Courses You Can Start Using for Free (2026)

A practical comparison of six free autograders for university programming courses in 2026 — including CodeGrade, GitHub Classroom, Gradescope, Autograder.io, Otter Grader, and nbgrader.

How to Grade Code Quality, Not Just Correctness

Learn how to automate code quality checks in CodeGrade using Flake8, Checkstyle, Semgrep, and clang-tidy — no manual review or custom YAML required.

Sign up to our newsletter