Automatic grading innovation with a teacher robot in a computer science classroom
Articles
April 7, 2022

Why autograding will not replace teachers

In 30 seconds...

Robot teachers? Grading machines? There’s lots of discussion about the role of technology in learning, but how will an innovation like autograding actually affect the future of education? Find out our take here!

Technology has become a huge part of the classroom and there is no sign of stopping it. The potential use of AI and robots in the classroom have prompted many debates on the consequences of combining technology and education. One technological innovation that has gained attention in recent years is the introduction of automatic grading. Autograding refers to systems that can automatically assess student answers and assign a grade to them. In this article, we look into the wider role of technology in education and zoom in on autograding and its implications.  

The role of technology in education

Technology has become a huge part of the classroom and there is no sign of stopping it. The potential use of AI and robots in the classroom have prompted many debates on the consequences of combining technology and education. One technological innovation that has gained attention in recent years is the introduction of automatic grading. Autograding refers to systems that can automatically assess student answers and assign a grade to them. In this article, we look into the wider role of technology in education and zoom in on autograding and its implications.  

Learn how autograding can enhance your coding classroom!

The role of autograding

The demand for autograding has taken place across various educational fields. Let’s look at computing, an educational sector expanding at a rapid speed. In North America, the number of Computer Science and Computer Engineering bachelor diplomas given increased from less than 9,000 to more than 16,000 from 2009 to 2014 [1]. With no signs of slowing down, class sizes are increasing and so is teachers’ workload.  Unfortunately, this increased popularity is not often met with increased funding and resources for educators. With a backlog of student submissions to unzip, run, assess and re-upload, educators end up working extra hours and have less time to focus on more important aspects, such as meaningful teacher-student interactions! This is where an autograder saves the day. The high volume of grading is tackled by autograding software, giving educators time for personalized feedback.

Autograding is especially useful for coding education. Students learning how to code benefit hugely from an iterative workflow. Waiting more than a few days for feedback on your code (besides the dreaded error messages) is just not conducive to learning. Allowing students to code iteratively and make multiple submissions is a great approach, however, you also increase the amount of time grading. Teachers shouldn’t be put in a position to decide between giving their students quality feedback and getting grades out on time. A sophisticated autograder can provide checks on code quality, structure, and functionality. Educators can then use this information to inform their final grade.

Another benefit of autograding is the elimination of bias. Traditionally, a teacher would read student submissions and assign them a grade - at the mercy of a biased approach. Nowadays, it is common that work is graded and then checked by a different teacher, to resolve this issue. The drawback of this approach is, once again, the amount of time it takes! Automatically grading submissions with clear rubrics ensures that work is marked fairly and consistently, making it a great way to eliminate grading bias. 

The benefits of autograding are both quantitative and qualitative. Wilcox (2015) investigated whether automation contributes to learning in undergraduate computer science courses at Colorado State University. Over the course of two years, Wilcox gathered data from an introductory programming course with various methods of automation. Overall, they found that automation boosted both academic performance (seen in higher exam grades) and student interest in the course itself (revealed in exit surveys and instructor evaluations). Additionally, automatic grading was found to be ‘overwhelmingly popular among students’, too. 

The bottom line is that teachers cannot and should not be replaced, but they should be supported. What educators stand for and what they aim to achieve remain the same - giving quality education to future generations. Technological innovations such as autograders can help teachers do precisely this. With less staff, longer hours, and larger classes, teachers need all the help they can get!  

Bibliography

[1] Wilcox, C. (2015, February). The role of automation in undergraduate computer science education. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 90-95).

Evie Christopher

Evie Christopher

Growth Hacker
Evie manages and creates content, and helps operations run smoothly here at CodeGrade. Trained in Linguistics, she is enjoying delving deeper into the world of Computer Science. In her free time you can find her drinking tea or practising yoga.

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.