Automatic evaluation system for courses in programming

OData support
Supervisor:
Dr. Czirkos Zoltán
Department of Electron Devices

The subject of this thesis is an Automated Evaluating System for Programming subjects. The prototype was created on Linux operating system, for programming homeworks written in C code, but it can be applied to any programming language, let it be C code, or script code, like Python. The goal is to make an environment, where an uploaded homework code can be compiled and ran safely, isolatedly, and resource- managed. After compiling and running the code, we can give an evaluation for each uploaded code regarding its correctness. Thus the teacher, who manages the department webpage, can focus on how the correct homework was written, because the correctness was already checked. For the safe, isolated, resource-managed environment we need Linux’s kernel features, Control Groups (shortly: cgroups). For the correctness analysis, the CUnit Testframework is used, which is a static test library that is linked to code that is being tested. The prototype can be divided into three chapters. Configurating the Linux operating system, creating the CUnit framework for any kind of homework, and a script code for the maintainability of CUnit framework and for creating reports for each uploaded homework. Another part of this thesis is to test this prototype with correct, incorrect and with vicious program code and to compare the prototype with solutions from another departments or universities, furthermore analyzing the improvements that can be made on the prototype.

Downloads

Please sign in to download the files of this thesis.