Autograding is Coding Rooms’ most popular feature, and for good reason. This built-in functionality transforms a tedious and time-consuming task for instructors – writing custom grading scripts – into a fully automated and powerful tool that’s a huge time saver.
Autograding gives learners continuous feedback on their coding assignments. Rather than complete a task and wait for an instructor to review it, the feature automatically helps learners understand if they’re on the right track, gauges their proficiency, and checks if their code meets the requirements of the assignment. Instructors add hints, comments and other information ahead of time to provide learners with automated feedback at key points of the assignment, and the application grades the task as the learner completes it. So learners gain a deeper understanding of the subject matter on their own as they progress, whether working alone or in groups, or in a live or asynchronous teaching environment.
Setting up autograding in Coding Room is fast and straightforward. There are three primary ways to apply this functionality:
I/O Testing
The first approach is testing code with a simple input/output comparison. This process works best for beginner coders. A learner produces some kind of output, and Coding Rooms captures it and runs tests against it. The instructor provides the inputs to their learners’ code, and adds the expected output to Coding Rooms. The autograder compares the code the learner completed with what the output should look like, and assigns a grade. But it doesn’t stop there. The application also highlights the differences between submission and expectation, and provides pre-produced instructor feedback, to help the learner gain an understanding of the material as they’re working. And setting up input/output comparisons in autograding is very fast.
Unit Testing
The second method is unit testing. Professional software engineers write tests and run them against units of code they’re designing, to make sure they’re working properly. The Coding Rooms autograder mirrors this approach. Instructors create different tests to evaluate components of learners’ code. The application then imports the learner’s code and runs those tests against it. Fundamentally, the unit testing framework in Coding Rooms asserts whether the expected value is correct or not. Instructors add custom feedback at key points that’s automatically shared with learners, feedback that can get as granular as you want it to be, to really help learners understand their work. Once instructors get started with it, unit testing proves to be a powerful testing framework to apply to any coding assignment they create.
Bash Script Testing
And finally, there’s custom bash script testing, the most advanced autograding application in Coding Rooms. With bash script testing, instructors have full control over the Linux machine when they’re running tests, giving them the freedom to check or test anything, and automatically provide individual feedback. For example, bash script testing can evaluate whether a learner’s code is accurately reading files or calling a database correctly. Instructors provide their own script and Coding Rooms evaluates learners’ code in a secure, tamper-proof environment.
All of these Coding Rooms autograding options give instructors powerful tools to deliver truly interactive content that expands a learner’s ability to absorb class material; frees instructors from tedious and time-consuming grading chores; and allows organizations to efficiently scale coding training to a large population of learners.
TL;DR
Autograding is Coding Rooms’ most popular feature, and for good reason.
Three primary testing functionalities in the Coding Rooms autograder: