CodeGrade autograding tutorial for python and java
August 17, 2021

Webinar: Getting Started for the new Academic Year

In 30 seconds...

With our latest webinar, our goal was to get you ready for the new academic year, whether this is your first time using CodeGrade or a new iteration of your previous courses. This webinar was part of our monthly Focus Groups and was recorded on August 13th 2021, it is available on demand now.

CodeGrade Basics

The first part of the webinar was dedicated to CodeGrade basics. In our example, we discussed a very basic autograded Python Assignment in which a student has to generate the numbers of the Fibonacci sequence. We show the three CodeGrade workflows:

  • Handing in to this assignment as a student. We hand in our code as a student and get instant feedback on it. If we want, we can use this feedback to improve our code and resubmit. Want to learn more about the student workflows in CodeGrade? Click here!
  • Grading code manually. After the students have handed in, we switched to the teacher / grader view to start marking the submission. We explored inline comments, snippets, general feedback and the rubric. Furthermore, we show how the feedback can be released to the student. More information about Grading in CodeGrade can be found here.
  • Setting up the autograded Python assignment. We conclude by showing how the previously used assignment can be set up from scratch. We go over the basic configuration: hand in instructions, submission settings, rubrics and the automatic tests in AutoTest. You can find more information on setting up an assignment in our Help Center, or in our previous webinars and guides.

Copying your previous work

If you are doing a new iteration of a previous course, or if you would like to import parts of a previous assignment, you can use the various importing options we have in CodeGrade:

Start using CodeGrade now to supercharge your programming assignments!

Autograding best practices & Cheat sheet

Generally speaking, it is best to try complex AutoTest configurations out locally before. AutoTest simply runs a regular Ubuntu operating system in the background and all input fields are regular Bash commands. All software that is run under the hood (e.g. Python, Java, JUnit, Bash, ...) are all regular, meaning that all error messages are universal and can be very easily resolved with our biggest friends Google and Stack Overflow. You can always find more info under the `stdout` and `stderr` tabs in CodeGrade if something goes wrong:

There are two different places in which you can do configuration in AutoTest: Global Setup Script and Per-Student Setup Script. Both have different use cases for you:

Differences between Global and Per-Student Setup Script in CodeGrade AutoTest

Finally, we share an AutoTest Cheat Sheet with all useful folders and built in scripts in AutoTest:

  • `$FIXTURES`: Folder with your uploaded fixtures, read more here;
  • `$STUDENT`: Folder with the code submission of the current student, also the current directory;
  • `$AT_OUTPUT`: Folder to write generated output too that you want to show up in the Code Viewer as feedback for students or for your further visual grading, learn more here;
  • `from cg_at_utils import CG_INFO`: Python package (automatically installed in AutoTest environment) to access submission metadata, learn more about using this here;
  • `become_nobody`: Built in command to limit student access to $FIXTURES folder, use before your command. More info on limiting visibility to students can be found here;
  • `normalize_floats`: Built in command to normalize floating point output to a number of decimals, read usage info here.

CodeGrade Resources

Reading this blog means you have probably already found your way around CodeGrade's resources, which you can find:

Finally, with this webinar we hope to have given you a great way to kickstart your CodeGrade course in the new academic year. We are here to make your course with CodeGrade a success, so please do not hesitate to reach out to us on Discord or via with any question, request or if you would like some technical or educational consultancy. We are always more than happy to help you out!

Devin Hillenius

Devin Hillenius

Co-founder, Product Expert
Devin is co-founder and Product Expert at CodeGrade. During his studies Computer Science and work as a TA at the University of Amsterdam, he developed CodeGrade together with his co-founders to make their life easier. Devin supports instructors with their programming courses, focusing on both their pedagogical needs and innovative technical possibilities. He also hosts CodeGrade's monthly webinar.

Continue reading

Teaching Intro to Python with CodeGrade

The CodeGrade Introduction to Python course is an 8-week basic Python course. Students are not required to have any prior knowledge on programming or Python. This course will cover the basic concepts of programming up to Python specific modules and OOP design. It is available for all instructors now.

New release CodeGrade QuietStorm.1!

Find out about all the features and updates coming with our latest release, QuietStorm.1!

New release CodeGrade QuietStorm.1!

Automatically grading Haskell code assignments

Learn about autograding Haskell coding assignments for Computer Science education courses. CodeGrade can help you use tools like input and output checking, Quickcheck, Tasty and HUnit unit test autograding, HLint code quality checking and code structure autograding using semgrep.

Top tips for teaching programming

The most efficient ways to teach students how to code, by defining your target audience, designing your assignments in a meaningful way and eliminating distractions in the classroom.

Top tips for teaching programming

Learn more about CodeGrade!

Grow your coding classroom
without compromise.