Automatic grading tool for programming assignments
Articles
November 3, 2020

Creating an award nominated Java programming course at the University of Edinburgh

In 30 seconds...

In this age of rapid digitization and automation, the popularity of ICT education at most universities has evidently skyrocketed. With an increasing number of students studying CS courses, the workload for educators has also increased significantly. Because of this, we often observe a pattern across universities wherein educators only conduct a final examination at the end of the course rather than have assignments periodically throughout the course duration. Teachers rightly point out that they do so primarily because they simply lack resources and time to  examine a large number of student submissions and provide feedback individually. 

Students note that the lack of formative assessment with feedback does not help much with the learning process and is often discouraging for newcomers. For instance, at the University of Edinburgh, Dr Volker Seeker has been teaching ‘Introduction to Object Oriented Programming’ for a couple years and he mentions that they traditionally only had a final exam for this course because of the difficulty involved in providing feedback to everyone and the lack of efficient tools to check for plagiarism on the Java code. This final exam created a strong sense of dissatisfaction among students, especially for beginners, since they only had a limited time of 2 hours to solve the programming exercises. This was clearly discouraging particularly for students who were keen on learning programming skills and would have preferred to receive feedback regularly.

Boost student satisfaction and academic performance too with CodeGrade!

CodeGrade helps teachers save their time with grading by providing a robust autograding tool, so that they have the resources to provide regular formative assignments throughout the course. The configuration required for these tools does not require a lot of extra work, is easy to understand and implement for teachers, and is compatible with all of their tools, programming languages and systems like Blackboard or Canvas.

After the University of Edinburgh integrated CodeGrade into their CS course workflow, the satisfaction rate among teachers and, especially, students shot up significantly. The major change that CodeGrade helped bring was enabling the addition of multiple coding assignments with continuous feedback to the already existing final examination. With the continuous feedback and autograding features of CodeGrade in place, students could submit their code and immediately see what worked and what didn’t. This not only helped students identify their strengths, weaknesses and target areas of improvement but also created an easy way to interact with teachers through inline feedback on specific parts of the code. As a result of implementing CodeGrade, the failure rate among students has dropped a remarkable 20 times, from 15-20% down to a mere 1%. The excellent performance of students and their increased satisfaction rate encouraged students to even nominate their teacher for Best Course in Student Awards at the University of Edinburgh.

CodeGrade has helped many teachers upgrade their courses from only a final exam to having multiple summative assignments. CodeGrade helps them increase their grading efficiency by improving and optimising their workflow, with automatic testing and intuitive grading, while also enhancing the students’ overall learning experience. Furthermore, CodeGrade supports all programming languages (even Jupyter Notebooks) and integrates with all tools and libraries, making it available for all programming courses! 


To learn more about CodeGrade and its features, check out our tour page, or our YouTube channel with videos explaining how to use CodeGrade. Please feel free to book a demo if you are interested in getting CodeGrade at your institution, or in case you have any further questions.

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.