Report
Report
Grading
submitted in partially fulfilment of the requirements for the degree of
i
DECLARATION
I hereby declare that the thesis entitled “Web-Based Automated Code Evaluation and
Grading System” submitted by me, for the award of the degree of.
I further declare that the work reported in this thesis has not been submitted and
will not be submitted, either in part or in full, for the award of any other degree or
diploma in this institute or any other institute or university.
ii
CERTIFICATE
This is to certify that the thesis entitled “Web-Based Automated Code Evaluation and
Grading System” the award of the degree of Bachelor of Technology in Electronics and
Communication Engineering, is a record of bonafide work carried out by me under my
supervision, as \
The contents of this report have not been submitted and will not be submitted
either in part or in full, for the award of any other degree or diploma in this institute or
any other institute or university. The thesis fulfils the requirements and regulations of the
University and in my opinion meets the necessary standards for submission.
Approved by
Head of the Department
iii
ABSTRACT
The portal is developed using [Link] for the frontend, providing a responsive and
user-friendly interface, and [Link] with [Link] for backend API services. A
secure execution environment processes student submissions, compares actual
outputs with expected results, and assigns scores automatically. The system includes
functionalities such as assignment creation, test case management, submission
tracking, real-time evaluation, and performance analytics. This integration of modern
web technologies with automated testing mechanisms demonstrates the potential of
scalable digital systems in transforming academic assessment workflows.
Overall, the Automated Code Grading Portal enhances transparency, accuracy, and
efficiency in programming evaluation. It enables instructors to monitor student
progress, identify common mistakes, and refine teaching strategies based on
analytical insights. For students, the system provides immediate feedback, enabling
iterative learning and improvement. The project successfully validates the feasibility
of implementing an automated, fair, and extensible grading system that can be
expanded to support multiple programming languages, plagiarism detection,
advanced analytics, and large-scale adoption in educational institutions.
iv
\ Date:
TABLE OF CONTENTS
CHAPTER CONTENTS
NO.
Title Page
Declaration
Certificate
Abstract
Acknowledgement
Table of Contents
1 Introduction
1.1 Project Overview
1.3 Objective
v
1.6 Summary
2.5 Summary
3 System Analysis
3.1 Introduction
3.5 Summary
4.1 Introduction
4.4 Summary
vi
5.4 Discussion
5.5 Summary
6 Conclusion
References
7
CHAPTER 1
INTRODUCTION
The rapid growth of computer science and engineering education has significantly
increased the reliance on programming assignments as a means to assess student
understanding and practical problem-solving skills. Traditionally, these assignments
are evaluated manually by instructors, which requires execution of each student's
code, verification of outputs, and assessment of logical correctness. As class sizes
grow, manual grading becomes increasingly time-consuming, inconsistent, and prone
to subjectivity. These limitations impact both instructors—who face increased
workload—and students, who often receive delayed feedback, hindering their
learning and progress.
8
1.1 Project Overview
9
1.2 Background and Motivation
1.3 Objective
The primary objective of the Automated Code Grading Portal is to design and
implement a robust, scalable, and user-friendly system capable of evaluating
programming assignments automatically. The portal aims to reduce faculty workload,
ensure consistency in grading, and offer instant, objective feedback to students. By
automating repetitive tasks, instructors can allocate more time to conceptual teaching
and personalized student support.
technologies.
Providing faculty members with tools to create assignments, set test cases, and
monitor performance.
10
Allowing students to submit solutions, view results, and track progress over time.
Through these objectives, the project seeks to enhance the quality of assessment while
maintaining reliability and operational efficiency.
The current manual evaluation process for programming assignments suffers from
several limitations that hinder effective learning and academic productivity.
Evaluating code manually is labor-intensive and time-consuming, especially when
dealing with large class sizes. Instructors must read, analyze, and execute each
student's submission, often repeating the same test cases multiple times. This not only
slows down the feedback loop but can also lead to inconsistency due to human error
or subjective interpretation.
Students, on the other hand, do not receive immediate feedback, which delays their
ability to identify mistakes and improve their coding skills. In fast-paced academic
environments, this delay can negatively impact learning outcomes. Additionally,
manual grading offers limited scalability and is prone to biases, making it unsuitable
for institutions that prioritize transparency and standardized evaluation practices.
These challenges highlight the need for an automated solution that can ensure
accurate, unbiased, and efficient grading.
1.6 Summary
This chapter introduced the Automated Code Grading Portal, outlining the
motivation, objectives, challenges, and scope of the project. The need for efficient and
unbiased grading mechanisms in programming education serves as the primary
driving force behind this work. By leveraging automated evaluation techniques and
modern web technologies, the portal aims to deliver a scalable and impactful solution
for academic institutions.
The subsequent chapters of this report will delve deeper into the literature review,
system analysis, architectural design, implementation details, testing methodologies,
results, and conclusions. Through this structured approach, the report presents a
comprehensive understanding of how automated code grading can transform the
educational assessment landscape.
12
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
The rapid growth of computer science education has led to increased reliance on
programming assignments as a core method of assessing student understanding and
problem-solving skills. As institutions shift toward outcome-based education,
continuous and accurate evaluation of programming tasks becomes essential.
Literature highlights the importance of timely feedback, objective scoring, and
scalable assessment methods to support large classrooms and diverse learning
environments. This need has encouraged researchers to explore automated grading as
a viable solution to modern academic challenges.
13
2.2 Traditional Methods of Programming Assignment Evaluation
Another major limitation identified in the literature is the delay in providing feedback.
Students often wait days or weeks to receive evaluation results, which interrupts the
learning cycle. Research shows that timely feedback is critical for skill development
in programming courses, as students rely on error identification to progress. Thus,
traditional manual grading proves insufficient for meeting the demands of modern
computer science education and highlights the need for automated, efficient
alternatives.
15
2.4 Comparative Study of Online Coding Platforms
Online coding platforms have popularized automated code evaluation by offering interactive
programming environments, extensive problem libraries, and immediate feedback systems.
Platforms such as HackerRank and LeetCode utilize robust automated judging engines that
compare user outputs with expected results under strict runtime and memory constraints.
Literature acknowledges their contribution to enhancing programming proficiency, yet their
primary focus remains competitive programming rather than academic evaluation.
A comparative review reveals that while commercial platforms excel in scalability,
efficiency, and multi-language support, they lack essential academic features such as
assignment scheduling, student progress tracking, custom test-case creation, and instructor
dashboards. Researchers argue that academic institutions require more control over
assignment structure, grading schemes, and evaluation parameters—features typically
unavailable in competitive coding environments. This differentiation highlights the gap
between industry platforms and academic systems.
Additionally, several studies indicate that commercial platforms do not provide insights into
students' thought processes or partial correctness evaluations. Academic grading often
considers code structure, logic clarity, documentation, and coding style—dimensions not
captured solely through output matching. Therefore, while online coding platforms provide
strong foundations for automated evaluation, they do not fully address the academic
requirements that systems like the Automated Code Grading Portal are designed to fulfill.
2.5 Summary
The literature clearly establishes the need for automated evaluation systems in
programming education due to the limitations of manual grading and the growing
demand for scalable assessment tools. Research consistently highlights the benefits of
automation, including reduced evaluator workload, instant feedback, and standardized
grading mechanisms. Academic and commercial systems provide valuable insights
into automated assessment strategies, yet each exhibits limitations in terms of
flexibility, cost, or academic suitability.
Existing tools demonstrate strong capabilities but often lack customizable assignment
management, institution-specific grading policies, and classroom-level analytics.
16
These shortcomings reveal an opportunity for developing a tailored solution that
bridges the gap between academic needs and technological capabilities. The literature
therefore validates the motivation for creating an Automated Code Grading Portal that
offers reliability, scalability, and academic alignment.
17
CHAPTER 3
SYSTEM ANALYSIS AND
DESIGN
3.1 Introduction
System analysis is a critical phase in software development where the problem
domain is studied in depth to understand the operational challenges, user needs, and
technical constraints. For the Automated Code Grading Portal, system analysis
enables a structured breakdown of existing academic workflows related to assignment
submission and evaluation. This process helps identify inefficiencies in traditional
manual grading practices and highlights opportunities where automation can bring
significant improvements. By thoroughly analyzing the problem space, it becomes
possible to define system objectives clearly and build a solution that addresses real
institutional needs.
In this project, system analysis also plays an important role in ensuring that the
architecture and functionalities align with scalability, usability, and security
requirements. A code grading system must handle multiple concurrent submissions,
execute potentially unsafe code securely, and provide deterministic evaluation results.
These characteristics make the analysis phase especially important, as it establishes
the technical groundwork needed to support such functionality. The success of the
proposed system depends on identifying precise specifications and constraints early in
the development process.
18
The existing system for evaluating programming assignments in most academic
institutions relies heavily on manual grading. Instructors typically download student
submissions, execute them individually, verify outputs, and assign marks based on
correctness and coding style. This process is repetitive and time-consuming,
especially in courses with large student enrollments. Manual evaluation also makes it
difficult to maintain consistent grading standards across multiple batches or
instructors, leading to inconsistencies that affect fairness and student satisfaction.
Another major limitation of the existing system is the delay in providing feedback.
Students usually receive grading results days or even weeks after submission, which
affects their ability to learn from mistakes and make improvements. Programming
education relies strongly on iterative learning, and delayed feedback disrupts this
cycle. Research has shown that timely feedback significantly improves learning
outcomes, making the lack of instant evaluation a serious drawback of manual
grading.
Moreover, manual systems offer very limited analytics or insights. Instructors cannot
easily identify common errors, track student performance trends, or analyze class-
wide understanding of specific concepts. There is also no centralized system for
managing submissions, test cases, or academic records. As a result, the current
approach not only increases instructor workload but also restricts opportunities for
data-driven decision-making. These limitations highlight the need for a system that
automates evaluation and enhances efficiency.
19
3.3 Proposed System
The Proposed Automated Code Grading Portal is designed to address the shortcomings of
manual grading methods by introducing a structured, automated, and efficient evaluation
workflow. The system allows instructors to create assignments and upload test cases, while
students can submit their code directly through a user-friendly interface. Once submitted, the
system automatically executes the code in a controlled environment, compares the output
with predefined expected outputs, and generates scores instantly. This automation ensures
fairness, consistency, and significant time savings for faculty members.
The system introduces a secure sandboxed execution environment to safely run untrusted
student code without risking damage to the server or interfering with other processes. This
ensures that even large numbers of submissions can be evaluated concurrently without
compromising security or performance. The system also logs each submission along with its
execution results, allowing instructors to review attempts, identify errors, and provide
additional feedback where needed. This structured approach supports both academic integrity
and pedagogical effectiveness.
Additionally, the proposed system enhances student learning by offering instant feedback and
enabling multiple attempts before deadlines. The interface provides a code editor, submission
previews, and result histories, empowering students to understand their mistakes and refine
their skills. Faculty members benefit from analytics dashboards that provide insights into
class performance, common mistakes, and assignment difficulty levels. Overall, the proposed
system is a scalable, user-friendly, and pedagogically sound solution for modern
programming education.
System requirements define the capabilities, constraints, and expectations of the Automated
Code Grading Portal. Functional requirements include features such as user authentication,
assignment creation, test case configuration, code submission, automated execution, and
score generation. These requirements outline what the system must do to meet user needs.
For example, students must be able to upload code in supported languages, and the system
must execute that code using predetermined input sets. The system should also maintain
submission histories and allow faculty to view detailed reports.
20
Non-functional requirements focus on quality attributes such as performance, reliability,
usability, and security. Performance requirements dictate that the system must evaluate
submissions within an acceptable time frame, even under heavy load. Reliability ensures that
grading outcomes must be consistent and reproducible. Usability requirements guarantee an
intuitive interface for both students and instructors, ensuring minimal training. Security
requirements involve sandboxing execution, validating inputs, and protecting data integrity.
In addition to these, scalability and maintainability are key considerations. The system should
support increasing numbers of students and assignments without compromising performance.
The codebase should be modular and extensible to allow future enhancements like multi-
language support, plagiarism detection, and automated feedback generation. Clearly defining
these requirements at the analysis stage ensures that the final system aligns with institutional
expectations and long-term academic use.
21
3.5 Summary
System analysis provides the foundation for designing an effective, scalable, and
secure code grading platform. By studying the challenges of the existing manual
grading process, this chapter identified the major inefficiencies that hinder both
student learning and instructor productivity. The limitations of traditional evaluation
methods make a strong case for adopting automated systems that offer objective,
fast, and reliable grading. The proposed system overcomes these barriers by
introducing structured workflows and automation mechanisms tailored to academic
settings.
Through a thorough analysis of system requirements, both functional and non-
functional needs have been clearly defined. These requirements ensure that the
Automated Code Grading Portal provides essential features like assignment creation,
automated execution, secure sandboxing, and instant feedback while also
maintaining quality attributes such as performance, reliability, and usability. The
system is designed to scale over time, supporting new features and technologies that
may be introduced in future versions.
This chapter establishes a comprehensive understanding of the system’s purpose,
strengths, and expectations. The insights gained from system analysis guide the
architectural and design decisions presented in the next chapter, ensuring a structured
and effective development process.
22
CHAPTER 4
SYSTEM DESIGN & ARCHITECTURE
4.1 Introduction
23
phase provides a solid technical foundation for the successful
implementation of the Automated Code Grading Portal.
The backend, developed using [Link] and [Link], acts as the core
processing unit of the system. It handles user authentication,
assignment management, test case storage, and integration with the
execution engine. When a student submits code, the backend triggers
the evaluation workflow, passing the uploaded code and input test
cases to a secure sandbox environment. Once the code executes, the
backend compares the output with expected results and generates a
score accordingly. This architecture ensures consistency, accuracy,
and repeatability in evaluation.
The execution engine forms the most critical part of the architecture. It
runs student code in an isolated, controlled environment, preventing
harmful operations that could compromise server security. The system
can utilize technologies such as Docker-based sandboxes or [Link]
child processes for safe execution. This isolation ensures that each
submission is processed independently without interfering with other
system components. Altogether, the layered architecture provides
security, scalability, and efficiency—making it suitable for handling
24
large volumes of academic submissions.
25
languages, analytics dashboards, or plagiarism detection tools.
4.4 Summary
Finally, the modular design of the system ensures that new features
can be integrated seamlessly as the platform evolves. Whether
expanding language support, improving analytics, or enhancing user
experience, the established architecture supports continuous growth.
This chapter sets the stage for the implementation details discussed in
the next section, where the designed architecture is translated into
functional system components.
26
CHAPTER 5
RESULT AND DISCUSSION
5.1 Introduction
This chapter also discusses user experiences and insights gained from
interacting with the portal. Observations from these evaluations help
identify areas of excellence as well as opportunities for future
enhancements. The goal is to present a clear, evidence-based
assessment of the system and discuss its practical impact on academic
workflows.
27
5.2 System Results
The Automated Code Grading Portal successfully met its primary objective of
automating programming assignment evaluation. Students were able to submit
their code through the intuitive web interface, and the system correctly
executed the submissions within the secure sandbox environment.
Assignments with multiple test cases were evaluated against each input-output
pair, and the system consistently produced accurate scoring results. These
outcomes confirm that the functional modules, including code execution,
output comparison, and scoring logic, operated as intended.
Faculty members were able to create assignments, define test cases, and view
submissions through the dedicated dashboard. The result logs generated for
each student allowed instructors to review submission history, observe errors,
and validate correctness. System testing revealed that the platform handled
consecutive submissions efficiently and maintained consistent behavior
regardless of the complexity of inputs. The correctness of evaluation results
was verified by comparing manually graded outputs with those produced by
the portal, showing high reliability.
28
5.3 Performance Analysis
29
5.4 Limitations Observed
The results of the system evaluation highlight several key strengths of the
Automated Code Grading Portal. First, the platform significantly reduces the
time required for grading programming assignments by automating execution
and evaluation. This automation not only improves efficiency but also
enhances fairness, since test case-based evaluation eliminates human bias. The
system’s ability to provide instant feedback allows students to correct errors
quickly and promotes iterative learning, which is highly beneficial in
programming education.
Second, the modular architecture of the system ensures maintainability and
future scalability. The separation of frontend, backend, and execution engine
components enables developers to extend system functionality without
disrupting core operations. Features such as dashboard analytics, multi-
language support, or plagiarism detection can be added in later iterations.
These findings align with the goal of creating a flexible and extensible
academic tool that adapts to institutional needs.
However, the discussion also reveals certain limitations. The current version
primarily supports Python-based submissions and limited test case formats.
Additionally, resource-heavy programs or infinite loops may require more
advanced sandbox strategies to prevent overuse of system resources. Despite
these limitations, the system demonstrates strong potential and provides a
solid foundation for future enhancements that will further strengthen its
academic value.
5.5 Summary
30
feedback. Tests confirmed that the platform performed reliably under
concurrent submission scenarios and maintained high responsiveness
across different modules.
Performance analysis showed that the system is efficient, scalable,
and suitable for academic environments where multiple students may
interact with the portal simultaneously. The integration of secure
sandbox execution ensures safe processing of untrusted code, while
the well-structured backend supports smooth communication across
all components. These results validate the effectiveness of the system
design and implementation strategies used.
In conclusion, the Automated Code Grading Portal has demonstrated
strong capability as an academic tool, offering significant
improvements in evaluation efficiency, accuracy, and student
engagement. The findings reinforce the importance of adopting
automated grading technologies in modern educational settings and
provide a clear pathway for future enhancements that can expand the
system’s scope and functionality.
31
CHAPTER 6
CONCLUSION
The Automated Code Grading Portal successfully demonstrates how
automation can transform the evaluation of programming assignments
in academic environments. By implementing an efficient workflow
that includes assignment creation, secure code execution, automated
output comparison, and instant scoring, the system addresses the key
shortcomings of traditional manual grading methods. The project
shows that automated evaluation not only reduces instructor workload
but also enhances fairness, consistency, and transparency in the
assessment process. Through its modular design and modern web-
based interface, the portal provides an accessible and intuitive platform
for both students and faculty members.
The testing and analysis conducted throughout the project reveal that
the system performs reliably under various test conditions, including
multiple submissions, complex test cases, and concurrent user
interactions. The automated execution engine consistently produced
accurate and reproducible results, validating its effectiveness as an
academic evaluation tool. Students benefit from immediate feedback,
which supports iterative learning and improves problem-solving skills.
Faculty members gain access to structured submission logs and
performance data, enabling better monitoring of student progress and
identification of common errors.
32
analytics dashboards, and deeper integration with institutional learning
management systems. The project contributes meaningfully to the
digital transformation of academic assessment and lays a strong
foundation for further innovation in automated learning technologies.
33
REFERENCES
34