Auto Marking and Student Performance Analyser System for Continuous Assessments


Table of Contents

  1. Introduction
  2. Problem Statement
  3. Solution
  4. Phase I
  5. Phase II
  6. Solution Architecture
  7. REST API
  8. Additional Features
  9. Project Plan
  10. Team
  11. Links

Introduction

The Department of Computer Engineering uses many coding based assignments for continuous assessment of student learning. The instructors have to spend a lot of time manually marking these assignments which is not the ideal use of the instructors’ time.

Therefore, we build a system for auto marking coding assignments : GRADINGENIUS

This system supports automated recording and analysis of student performance. It shows how that particular student progressed with their assignments and what are the strengths and weaknesses of that student.

Problem Statement

Have your ever in your life works as an instructor ?

Specially for a course like java or C or any programming related course For a instructor definetly will give many assignments to students. And need to mark them. How to mark those programs?

Run those one by one and do all these by manually?

For our department there are 60 students for a batch and fututre it will increase. So what happen if wish to run those code one by one and need to check some test cases by run each test case. In that case, they will be definitely tired and the system would be inefficient.

Actually it is very time consuming and tough work. If there is an easier way to spend that time for teach students or for any other task, it would be great.

Solution

Our solution is automated testing which leads to GRADINGENIUS platform. Below phases add functionalities for the system

FUNCTIONALITIES

Phase I - Auto Marking System for Coding Assessments

Appication Content

Implementation of Design

Use Case Diagram

Phase II - Student Performance Analyser

Appication Content

Implementation of Design

Student Profile Page

For each students profiles were created.

~ Specially, whether assignments were late submitted / Deadline Passed displayed
~ Whether assignments were done / onGoing displayed

~ Can see easily student’s progress through assignments: setbacks, rise ups

~ Student’s strengths & weeknesses listed according to gained marks for a relevant topics.

Authorization

Authorization handled using many parts.
| SuperUser - Can handle lecturers
| Lecturer - Can create a course & assignments - Can add instructors to his course
| Instructor - Can see only enrolled courses - Can create assignments

~ If sign up as a lecturer, verification of them can done anytime by the super user.
~ Superuser can disallow the access of lecturers to the system , also can give access.

~ Used google , firebase authobicatiosm
~ User can also use Google sign in if like; should obey for a given mail only.


~ SuperAdmin can verify a lecturer by checking whether he should belong or not using provided email


~ At the begining you are not verified. After super ADMIN verified you as lecturer , can use the system further.


~ If super user marked lecturer as an unorthorized user, he cannot used the system.

~ By using this feature, relevant course access was granted to that instructor also.

Uploader

~ Can add bunch of students rather than adding one by one, at one time by using the given template.

Downloader & Refresher

~ User (Instructor / lecturer) can download a file for each assignment’s whole details.
~ User can do refresher option only for updating marks by new ones’, otherwise it will print previous stored marks in database.

Solution Architecture

  1. User ; instructor interact by using web inetrfaces
  2. Extract data from web; Assignment details
  3. Forward wanted to GITHUB Classroom; Auto-Grading tool
  4. Generate to do assignemnt repo link, share with students
  5. Students interact with instructor through GitHub platform
  6. Get the marks and remarks
  7. Used the automated process by Selenium for that
  8. Generate results and Visualization through web application

REST API

Web interface can be connected with the backend firebase database directly. But it is better to use an API to connect them together. So, we implemented a REST API to connect with database, not only for backend but also it gives many advantages to the system. It is more efficient to use an API. So, our implemeted API can connect with Firebase, communicate with GitHub classroom and have many more features.

Additional Features

Project Plan

Timeline

Team

Developers:

Project Owner:

Scrum Master: