Tom Pepels is a lecturer in the Computer Science programs at Maastricht University. In his work, he focuses on course design and innovating first year programming teaching and learning practices. Tom also teaches multiple CS courses and has been teaching the course Data Structures and Algorithms for 6 years now and has started using CodeGrade for this. This advanced course teaches students about different data structures, algorithms, their complexities and space- and runtime. Students are taught to not just look at the functionality of code, but also the performance and effectiveness of it. Tom teaches about 180 students and uses Java for this course.
Growing student numbers at Maastricht University required CodeGrade
Maastricht University is one of the world’s highest ranked “young universities”, which, together with its international approach, makes it a very popular choice for (future) students from Europe and all over the world. This increase in student numbers is seen most notably in the Artificial Intelligence department. Tom explains: “We are again expecting an increase in our students next year, with this time about an 80% increase for the first year of Artificial Intelligence.”
A tool to assist with grading these student numbers was needed, Tom says: “CodeGrade is very important to handle these numbers of students, without it it would be impossible. For the first three introductory programming courses we will use CodeGrade.”
Changing educational practices with CodeGrade
“The biggest reason to look for a system to help us with giving feedback was the huge increase of student numbers. That was the original reason. Of course, once we started to use CodeGrade, we also started to see many other benefits that improved our feedback.”
Tom explains how grading was done before CodeGrade: “Before we used CodeGrade, we simply manually checked the exercises. Students had to be present during the practical sessions so that one of the teaching assistants or I could visually inspect the code for its correctness. This had a lot of downsides: it required physical presence, we had to grade and review live and would often miss things and we had no way to check for plagiarism. Furthermore, the little testing that we could do was very error prone, as it was all conducted on the student’s laptop.”
He then talks about the changes he introduced with CodeGrade: “With CodeGrade we can now actually test whether the students actually wrote functional algorithms automatically, with multiple inputs and outputs.” Tom also introduced gamification to his course: “I also wanted to include more of a game element to the course to make it more interesting to the students. We used CodeGrade to actually have a programming competition and have the students compete against each other to have the fastest algorithm. Using CodeGrade’s autograder, I generated random graphs to give as input to student’s algorithms, timed the runtime of their programs to finally send these results to a chat application used by the students from Maastricht University to publish their results in real time. This could all be done automatically in CodeGrade and the students enjoyed it a lot!!”