E-Assessment System for C/C++ Programming Assignments
Project Summary
Full time Application Developers Required
Introduction and Background:
In any educational system, no one can deny the importance of assessments. Assessments help in evaluating the knowledge gained by a learner at any specific point, in continuous improvement of the curriculum design and the whole learning process. However, with the increase in students’ enrollment at University level in either conventional or distance education environment, traditional ways of assessing students’ work are becoming insufficient in terms of both time and effort. In distance education environment, such assessments become additionally more challenging in terms of hefty remuneration for hiring large number of tutors. The availability of automated tools to assist the evaluation of students’ work and providing students with appropriate and timely feedback can really help in overcoming these problems. Although, building such tools for assessing students’ work for all kind of courses is not yet possible. However, courses that involve some formal language of expression can be automated, such as, programming courses in Computer Science discipline.
Learning how to program is the core of Computer Science discipline. It is also becoming an important part even in various other academic disciplines. Programming skills can only be learned through practice. Instructors provide various practical exercises to students as assignments to build these skills. Usually, instructors manually grade and provide feedbacks on these assignments. Although in literature, various tools have been reported to automate this process, but most of these tools are proprietary and have been developed by the host institutions for their own use. Currently available open source assessment systems have been primarily built for Java language. They require good amount of customizing efforts to be used for C and C++ languages. Moreover, they lack certain functionalities that are being proposed to be developed in this project. We through this project plan to conduct a pioneer effort in Pakistan to automate the marking of assignments for introductory programming courses that involve C and C++ programming languages with the capability of associating appropriate feedbacks for students. In this project, we plan to develop different components that are necessary in building an effective automated assessment system in the context of introductory programming courses that involve C or C++ languages. All these components will be developed as web services joined together using service oriented architecture (SOA) to provide a single integrated assessment system. These services can also be reused by external applications such as, learning management systems, assignments submission systems, learning content management systems, etc.