Loading...

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.

Role
Project Lead
Team
Aatisha Cyrill
(Solo)
Tech Stack
Angular
Spring Boot
Postgres
Timeline
Jan 2019 - Mar 2019
(3 months)

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.
Online Assessment Platform Architecture Diagram
Architecture Diagram

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

Sequence Diagram for Head of Department
Sequence Diagram: Head of Department

Faculty

Sequence Diagram for Faculty
Sequence Diagram: Faculty

Student

Sequence Diagram for Student
Sequence Diagram: 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.

Thank you for your time.

Previous:
Next: