Ramez Nabil, Khaled Nader, Nour Eldeen, Ahmed Mahdy, Dr. Essam Eliwa, Eng. Shereen Essam
30 December 2020
Immediate and informative feedback is crucial yet difficult to achieve with manual assignment marking. EvalSeer is a gamified LMS equipped with code auto-marking. It offers instant feedback, leaderboard, badges, and score-based tasks (Code, MCQs, and peer-review) in a competitive environment. EvalSeer shall present continuous challenges to keep students motivated while utilizing automated assessment to produce current visual insights on students’ progress. The system shall award points and coins to the students depending on the performance of the students. The system shall assess different criteria as compiling code, code style, dynamic tests for the assignments. The system shall assess the C++ code by using different test cases and by using machine learning in order to be able to detect syntax error and give a better feedback to student’s in comparison with regular compiler error messages. Also, machine learning will be used to detect at-risk students.
1.1 Purpose of this document
The purpose of this document is to provide an accurate and detailed description of EvalSeer; A gamified automated programming assignment assessment system. It shall clearly present the purpose, features, and interfaces of the system. This document shall also show the constraints under which the system shall be used and how the it shall respond to external stimuli. This document is intended for both the stakeholders and the developers of the tool according to the standard defined in.
1.2 Scope of this document
This Software Requirements Specification is to create a fully working gamified web tool for uploading and auto-assessing programming assignments using machine learning. This system shall target students in programming introductory courses. The system also shall facilitate course educators’ work by providing instant feedback and auto-assessing students’ assignments alleviating the stress on the educators and making the learning process much easier and effective.
1.3 System Overview
EvalSeer is a web tool for automated assessment for programming assignments interactive gamified learning environment to motivate the students, especially those in introductory courses. First, the professor shall issue an assignment or task with certain criteria to the students on the platform. Then, the students shall reply to the assignment with the source code file. The system then shall analyze the source code first by compiling it to ensure it’s integrity and collect data about memory consumption and run-time. If the source code compiles successfully then the system shall proceed to evaluate based on the given criteria and search for any semantic errors that may be made and then calculate a score. Else, the system shall analyze the source code for possible errors may they be syntax or semantic, and then continue to analyze the rest of the source code to find out if the student fulfills the assignment requirements or not and finally evaluate the score points and provide the student with a report of his efforts along with correction of errors made in the assignment. The professor has full access to the students’ reports and can edit them if necessary.
EvalSeer shall produce a thorough, formative, and instant feedback report for a better learning outcome for both the student and the educator and improving their work quality, a competitive gamified environment with a reward system, leaderboards. EvalSeer shall use various machine learning techniques to achieve its goal. The formative feedback shall contain errors made by the student whether syntax, semantic, or logic and propose a solution to them. The environment shall contain gamified elements like challenges, leaderboards based on students’ grades in assignments, and provide rewards for those with consistent good grades that can be redeemed in form of delay of an assignment or challenge deadline or buy a hint that helps them solve the challenge or assignment.
1.4 System Scope
• EvalSeer aims to provide instant feedback for student’s on their assignments.
• The System performs grading process to many aspects of the assignment such as syntax, style, test cases, compilation, feature test, checking for plagiarism.
• Gamified Environment (Leader-Boards, Tokens, Badges).
• The expected outcome is to save the instructors the time and effort of manually correcting each assignment. The student shall receive immediate feedback on the assignment thus improving his/her programming skills.