For some time now, programming skills are tested in a practical examination at my school. It all started because, once upon a time, we found that some of our graduates leave school still without actually knowing how to write a full working program. It’s shocking and a sad truth that some computer science graduates don’t know how to program.
You see, it wasn’t practical to ask students to write a full working program in a written theory examination. At best, they could only be asked to write snippets of code. There could be programming projects as part of continual assessment, but that doesn’t test students individually either. Even for individual projects, it’s always entirely possible for students to get help from others.
So it came to pass that practical examinations became a regular part of our programming courses. I think this was a pretty much feared part of the course, particularly for those who are weak in programming. Some students might also feel stressed under those conditions even though they might otherwise be reasonably alright programmers.
We have been running practical programming examinations for some time. We have been using automated programming assessment systems too. Nowadays, we have progressed and consolidated our assessment platform to one that is completely web-based, real-time, and with the scalability to support hundreds of students in the same examination session. It’s been quite a challenge, actually, and we learned many lessons over the years.
But now, we’ve finally come around a full circle (sort of) to where we had been before at some time: a practical programming examination with live submission and real-time feedback of compile+test results.