Online Assessment and Evaluation Platform
A web app with an online compiler, chatbot, and forum to help students improve their coding skills and aid the faculty in the performance analysis.
Problem Statement
In the present educational institutions for programming labs, teachers provide problem statements to students, and students submit their solutions per the problem statement provided. Grading of these solutions is done manually. It is a time-consuming task. To determine the solution's correctness, they are required to run multiple test cases. Also, the faculty has to ensure that each computer in the lab has an editor and compiler to run the code.
Overview
The proposed web application provides guidelines through a system interface for teachers to create new programming assignments and assign them to a particular class. Also, it helps teachers with the grading of programming assignments. It provides detailed reports of the class performance for each programming assignment. It also reduces the overhead of installing the software required to edit and run the code. The system provides an easy interface for students to edit and compile programs and gives a detailed analysis of the evaluated assignments. An additional feature of the chatbot is also available.
Features
The features of the application can be broadly categorized into the following
Centralized Learning
One-stop learning solution to all coding assignments.
Progress Tracker
Track students' assignment progress and performance.
User Centric
Minimalistic, intuitive and user-friendly interface.
Chatbot
Interactive chatbot for all technical doubts.
Reduce manual effort
Reduces the work and time invested in manual assessment.
Configurable
Easily customisable as per need.
The Process
How did I reach here?
It started with understanding the problem and designing the system implementation.
System Implementation and Architecture
The system is implemented by delegating roles at three different levels:
- HOD: The head of the department has the privilege to add other labs and assign teachers to them.
- Faculty: The teacher's job is to create new tasks for the lab assigned. They can specify the programming language in which the assignment has to be done. They can monitor the performance of students and their status.
- Students: They are supposed to solve the assigned questions and can compile, run and debug their codes based on the results.

The proposed system is developed using an Angular framework for the front-end and Spring boot for back-end Rest API. Decoupling the code provides high scalability, modularity, and ease of development and deployment.
The code compilation and execution are powered by the JDoodle third-party open-source API.
UI/UX
The application's User Interface is designed to be very simple, easy to understand, and illustrative. The attractive and responsive UI is built with Angular.
Segments of the UI
The application has various segments, each focusing on the specific task. They are as follows:
Dashboard
The place where everything is segregated based on the programming languages. Details like the teacher, which teacher is assigned to which programming language lab can be easily seen.
Working Space
It consists of the text editor space to write the code. The input is taken, and the output is displayed on the right side of the screen.
List of Questions
All the questions are saved and displayed. There is an option for creating, editing, and viewing questions.
Assignment Creation
It is done by filling out a form where the following details are needed: question heading, question, programming language, sample cases, and test cases.
Output
The output can be seen by first compiling the code and then executing it through the run button.
Chatbot
It is done by filling out a form where the following details are needed: question heading, question, programming language, sample cases, and test cases.
Sequence diagrams
The sequence diagrams show the interaction logic between the objects of the the system.
Head of Department

Faculty

Student

Conclusion
How did it go?
The grading of programming assignments was done in a more efficient manner through the platform. Additional features of including a forum for discussions and incorporating strict security measures were among the areas of enhancements.





