Student studying computer science programming languages course
Articles
November 18, 2020

How the University of Amsterdam automatically grades 7 different programming languages in one course

With an ongoing digital revolution taking place since the past decade, many companies across different industries are developing or adopting various technological tools for better efficiency, quality and cost reductions. Given this context, most universities today can be seen to offer at least one programming course to equip its students with the necessary skills. 

In this digital era, learning as many languages and becoming familiar with many different paradigms helps students get access to a wider and dynamic job market and enhance problem solving skills and versatility. However, most universities usually only offer to teach two or three popular languages in their CS courses. This is primarily due to the significant effort and time required for teachers to provide formative assessment to their students' programming assignments. Having a short and quick feedback loop becomes crucial in the learning process especially when students have to switch between different languages in a short period of time. Also, many common tools do not work together with a wide variety of programming languages, forcing teachers to only use common languages like Python or Java.

CodeGrade can help you teach any programming language!

The University of Amsterdam (UvA) has effectively tackled all of these issues by implementing CodeGrade into their workflow, allowing them to offer a remarkable ‘Programming Languages’ course with 7 different languages— starting with Bash, then Prolog, Haskell, Python (learn more about autograding Python code here), Erlang, Go, and finally C++. CodeGrade is compatible with any programming language and framework. Dr. Ana Oprescu, who teaches this particular course, tells us that with CodeGrade she now has the tools and resources to improve the feedback loop for these individual assignments. She says that the automatic grading tool has been crucial in not just handling a large number of submissions but also dividing the workload among her teaching assistants efficiently. In addition to that, the analytics she gets with CodeGrade help her understand the confusion points for her students, or the typical mistakes that they make. This has helped her increase student engagement with code throughout the assignment and take corrective action effectively and instantly. What’s more, her students’ performance has visibly boosted and they’re really happy with the value that automatic feedback has added to their learning process!

Besides the autograder, CodeGrade also offers various tools to detect plagiarism, provide peer feedback, inline comments and more that make educators’ lives easier. CodeGrade achieves this successfully by optimising their workflow, supporting all programming languages and frameworks while being compatible with all LMS systems at the same time!

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.

Continue reading

Best Practices for Rubric Design in Coding Assignments

Discover best practices for rubric design in coding education. Learn to align rubrics with learning objectives, use automated tests, and explore ungrading for fairer, growth-focused assessments

Watch now! How to teach Python

Watch our 2024 webinar for updates on the Introductory Python course, including new modules, knowledge checks, and grading automation with CodeGrade.

Follow A New User!

See how CodeGrade streamlines grading and improves assignment design in programming courses.

How to configure an AI Assistant for code

CodeGrade’s AI Assistant offers a flexible way to support coding education through tailored guidance and feedback. This guide explains how to configure and customize the assistant to fit your teaching goals, from helping students debug code to providing conceptual explanations.

Sign up to our newsletter

Transform your Jupyter Notebooks course today!