Bachelor of Engineering (Computer Engineering)
Bachelor of Engineering (Computer Engineering)
SUBMITTED BY
2018-19
SAVITRIBAI PHULE PUNE UNIVERSITY
2018-19
CERTIFICATE
This is to certify that the Project Entitled
Submitted by
is a bonafide work carried out by Students under the supervision of Prof. R.H.Jadhav
and it is approved for the partial fulfilment of the requirement of Savitribai Phule
Pune University, for the award of Bachelor of Engineering (Computer Engineering).
Place: Nashik
Date:
ACKNOWLEDGEMENT
We would like to take this opportunity to thank our internal guide Prof. R.H.Jadhav
for giving us all the help and guidance we needed. We are really grateful to them for
their kind support. Their valuable suggestions were very helpful.
In the end our special thanks to Prof. R.H.Jadhav for providing various resources
such as laboratory with all needed software platforms, continuous Internet connec-
tion, for our Project.
Prajkta Patil
Arzoo Barmate
Apurva Bhadage
Ankita Morankar
(B.E. Computer Engg.)
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Problem Definition And Objectives . . . . . . . . . . . . . . . . . . 2
1.3 Project Scope and Limitation . . . . . . . . . . . . . . . . . . . . . 2
1.4 Methodologies of Problem Solving . . . . . . . . . . . . . . . . . . 2
2 Literature Survey 3
4 System Design 10
4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Entity Relationship Diagram . . . . . . . . . . . . . . . . . . . . . 14
4.5 UML Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Project Plan 18
5.1 Risk Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.1 Risk Identification . . . . . . . . . . . . . . . . . . . . . . 19
5.1.2 Risk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.3 Overview of Risk Mitigation, Monitoring, Management . . 19
5.2 Project Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.1 Project Task Set . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.2 Task Network . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.3 Timeline Chart . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 Team Organization . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3.1 Team Structure . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3.2 Management Reporting and Communication . . . . . . . . 20
6 Project Implementation 21
6.1 Overview of Project Modules . . . . . . . . . . . . . . . . . . . . . 22
6.2 Tools and Technology used . . . . . . . . . . . . . . . . . . . . . . 22
7 Software Testing 23
7.1 Testing Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 Results 25
8.1 Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
9 Conclusions 27
9.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
9.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Annexure A 29
Annexure B 32
Annexure D References 37
INTRODUCTION
1.1 MOTIVATION
Contest in which new problems and tasks are given to participants often in-
clude a practical component so that participants can show there knowledge and skills.
Usually, this practical part often involves creating a program in order to solve a given
problem. The programs made by each participant (or group of participants) have to
be evaluated by the Examiners of the course. These programs can be evaluated ac-
cordingly to two parameters:
i) whether the program executes as required and
ii) whether participants have implemented the program applying the concepts and
constructs which gives optimized.
System is designed to write, compile and submit c program from participants side
for Contest.
From perspective of Examiners this system allow to submit problem statements and
test cases and grades which will be useful for evaluating prograsms and giving grades
automatically
LITERATURE SURVEY
• Review of the papers, Description , Mathematical Terms
This chapter presents an overview of the some existing automatic program evalua-
tion systems. Automatic Evaluation Systems are systems able to receive the source
code of programs created as solution for given problem, compile and execute them
with a set of test cases and assert the amount of cases passed by the users solution.
This kind of systems are used to support the realization of programming contests and
in several programming contests throughout the world. Some contest systems and
an academic evaluation system are Mooshak UVa Judge,PC 2 and PO Eval. A good
way to better compare the capabilities of the automatic evaluation systems mentioned
above . There are some capabilities of the systems that are not publicly available or
hard to classify in the non-functional requirements field. Being the PC 2 system
composed of a group of desktop application intended to run on a small network with
very few clients, it may not comply by design with many of the requirements. All
the applications mentioned on this section are at their core client-server applications.
All except PC 2 offer a web interface. By going through above systems we can con-
clude there does not exist any system that satisfies all the requirements, though some
comply with several of them. As noted in their respective sections, Some complies
with great part of the management requirements and PCT does a good job concern-
ing the automated evaluation of test cases theoretically.
System Description:
Input: All possible Test cases for given problem and Problem Statement.
Output: Evaluated result of all students with their score.
Functions : Authentication,Security,Editor,Compilation,Submission,Grading.
SOFTWARE REQUIREMENT
SPECIFICATION
This section describes in detail the requirements that programming Contest system
should meet. First,This present the Project Scope,functional requirements and then
the non-functional requirements. The desired system should have a set of function-
alities that goes from authentication to the ability of automatically grading a pro-
grams.s
Participants should be able to upload his source code solution remotely to the sys-
tem.Each submission must be timestamped. the system should allow a Examiners to
submit a participants program after the deadline has reached as some problem arises.
Each system has a deadline. The deadline can be static (a specific date and hour) or
variable.
The system must be aware of the concept of grades. The Examiners of the Contest
must be able to specify how are the programs criteria and should give Test Cases and
Apart from the features previously introduced which already impose some user in-
terface requirements, there are some other UI requirements that do not fit any of the
requirements previously listed. Examiners should be able to view and sort partici-
pants submissions and Examiners must also be allowed to download the programs
of the participants in order to be able to do the manual evaluation of the code.
GUI
LAN
Browser
In order to support the functionalities described in Section 3.2, the following non-
functional requirements are desirable:
Under normal load the system should be able to run participant programs without
any performance hit and give grades properly
The system must have secure authentication. The system cannot allow a participant
to see another participant source code.
Accessibility: The system should be accessible from a wide variety of locations, be-
ing desirable to have a web interface for both participant and Examiners interaction.
Adaptability: The system must be adaptable. It should be easy to integrate the sys-
tem with other systems.
Auditability: The system, being used in official contests, must be auditable. For
that end the system must log all user interactions with it like for example: date and
time of the submission along with what files were submitted and by whom it was
submitted.
Availability: The system must be able to accept program submissions even if under
heavy load.This may lead to a variation of the Quality of Service taking into account
the load of the system.
Extensibility: The system must be easily extended for new functionalities. It should
be easy to add a new evaluation strategy for when the system is under heavy load or
New language.
Scalability: It is desirable that the system can scale to support a situation where the
number of submissions grows more than it was intended in the first place.
Oracle Database
Tomcat,Java IDE,Browsesr
8 Gb ram
SYSTEM DESIGN
4.1 SYSTEM ARCHITECTURE
The requirement of the system to have high availability in order for the students to
be able to submit their projects, made us choose to decentralize the two main func-
tions of the system evaluation,submission.This way even if the evaluation subsystem
has some issue or is under load, the submission subsystem is unaffected and vice
versa, allowing participants to submit their solutions without problems which from
the point of view of both participants and judges is the crucial activity. If partici-
pants are not able to submit their programs they will not be evaluated. If the files
have been submitted in due time to the Submission Subsystem, they will eventually
be evaluated.
The main component of evaluation subsystem is represented by the evaluation Man-
ager Component. It is responsible for managing all activities and data con- cerning
evaluation of programs and managing the results of those evaluations. Basically it
implements the domain logic of this project and coordinates access to other compo-
nents of the system.
This Manager subsystem presents a layered architecture which will have three
layers: the presentation, the business logic and the domain. Layered Architecture
The system takes input from the set IN and gives output as assessment of programs
and grading result to user for ranking or check correct programs, provides a good
way to reduce the required time and human error factor with improving the effi-
ciency. It can efficiently deal with large-scale contest. The proposed system S is
defined as follows:
S= {I, F, O}
In above diagram flow of the system is there.It is very simplified as user will give
some input via browser then it will be send to the servers where it will get processed.
and stored or retrived according to user control and results will be shown on front.
It is a 3-tier web-application with the middle tier being the application server and
PROJECT PLAN
5.1 RISK MANAGEMENT
PROJECT IMPLEMENTATION
6.1 OVERVIEW OF PROJECT MODULES
1.Netbeans IDE
2.Apache Tomcat
3.Oracle DB,JSP and Java
4.Browser
5.Gcc Compiler
SOFTWARE TESTING
Table 7.1: Test Cases
• The methods used during the software testing phase directly affect the products
final quality.
• To create mechanisms that exploit software requirements with the least possi-
ble computational effort represents a major challenge, and in this scenario the
tools for test case selection are vital to determine the test strategies.
RESULTS
8.1 OUTCOMES
CONCLUSIONS
9.1 CONCLUSION
For the near future envisage further system development, specially concern-
ing the following issues: 1.Evaluation and Classification of different program-
ming languages(C++,Java).and import export problem statements and solu-
tions. 2.Notifications will be sent using Email and SMS to Participants .
9.3 APPLICATIONS
Mathematical model: The system takes input from the set IN and gives out-
put as assessment of programs and grading result to user for ranking or check
correct programs, provides a good way to reduce the required time and human
error factor with improving the efficiency. It can efficiently deal with large-
scale contest. The proposed system S is defined as follows:
S= {I, F, O}
I= {I1, I2...In}
PLAGIARISM REPORT
PLAGIARISM SCAN REPORT
100 0
0% 45
Plagiarism % Plagiarized
Sentences
Unique Sentences
Unique
REFERENCES
1. Design of Online Runtime and Testing Environment for Instant Pro-
gramming Assessment1
2. Online Judging System for Programming Contest using UM Frame-
work
3. An Analysis Tool for a Programming Contest for High-school Students
4. Programming Contest and Training Platform Based On STM
5. Structural Analysis of Source Code Collected from Programming Con-
tests
6. Online Interactive Educational System for Submission and Evaluation
of Programming Assignments
7. Programming contests in academic environments