Professional Documents
Culture Documents
Student Performance Analyzer and Predictor
Student Performance Analyzer and Predictor
Student Performance Analyzer and Predictor
Under Guidance
of
Prof. Sajay K R
Masters
Of
Computer Applications
(Note: All entries of the proforma of suggestions should be filled in with appropriate and
complete information. Incomplete proforma of suggestions in any respect will be
summarily rejected.)
1.Name and Address of the student : Tessy Francis , Chembukavu House, Chittilapilly p.o ,
Thrissur, 680551 2.Title of the Project : Student Performance Analyzer and Predictor
4.Educational Qualification □ □ □ □□
of the Counsellor (*in Computer Science / IT only)
(Attach bio-data also)
5. Working / Teaching experience of the Counsellor**................................................................
(Note: All entries of the proforma of suggestions should be filled in with appropriate and
complete information. Incomplete proforma of suggestions in any respect will be
summarily rejected.)
1.Name and Address of the student : Nancy Davis, chittilappilly house, P O Tholur, Thrissur,
Pin 680552 2.Title of the Project : Student Performance Analyzer and Predictor
4.Educational Qualification □ □ □ □□
of the Counsellor (*in Computer Science / IT only)
(Note: All entries of the proforma of suggestions should be filled in with appropriate and
complete information. Incomplete proforma of suggestions in any respect will be
summarily rejected.)
1.Name and Address of the student: Arya k r ,Kainoor House, Kizhakkumpattukara, Thrissur ,
4.Educational Qualification □ □ □ □□
of the Counsellor (*in Computer Science / IT only)
Name of the Project: Student Performance Analyzer and Predictor Date: 13/11/2021
Responsibilities:
Coding
Testing
Documentation
Responsibilities:
Coding
Testing
Documentation
Responsibilities:
Coding
Testing
Documentation
Name Signature
1.Tessy Francis ……………………………
2.Arya KR ……………………………
3.Nancy Davis ……………………………
Signature of the counsellor Date………………………
ABSTRACT
Student Performance Analysis System is an emerging field and is very crucial to schools and
universities in helping their students and professors. Most of the pre-existing methods are based
only on past academic performance of students. This system aims to develop models which can
predict the student’s performance and grades while keeping in mind other equally essential
personality factors like interests, attributes and opinions (IAO variables) which affect their
lifestyle. It uses various machine learning and deep learning techniques to predict the
performance of students, and basic exploratory data analysis to derive various correlations of
student’s performance with psychographic attributes.
The project aims to predict a student’s performance by analysing behavioural patterns and
existing grades. It helps us to identify the success factors and success blockers. It also helps us to
figure out what changes can be made by the student in his daily routine to improve his/her grades
and additional practices that can be implemented by the teacher to help him/her achieve their
educational goals. The project contains an Algorithm which analyses attributes like: existing
grades, absences, number of hours studied, TV time, siblings, etc. The Algorithm then predicts
an expected performance based on the attributes.
The project is based on Machine Learning and the algorithm used is Linear Regression. Linear
Regression Algorithm helps us to identify correlation between variables or attributes. The system
thus intends to provide a most efficient combination of attributes that help in the performance of
a student.
ACKNOWLEDGEMENT
We express our sincere gratitude to LORD ALMIGHTY for showing his choicest blessings
needed for our project.
We hereby express our deep sense of gratitude to our project Counsellor project guide Mr.Sanjay
KR for the effective guidance, timely suggestion ,support and encouragement in developing our
project.
Lastly, we also express our heartfelt gratitude and support of our family and friends who have
stood by us since the start of the project. The good wishes also given by all our well wishes have
contributed positively in not only this project but our overall development as better learned
students.
Team Members,
Miss.Tessy Francis
Miss.Arya KR
Miss.Nancy Davis
TABLE OF CONTENTS
1. INTRODUCTION ....…………………..……………………… 12
1.1 Background ..…………………….……………………... 13
1.2 Objectives ..……………………………………………... 13
1.3 Purpose, Scope and Applicability…………………..……. 13
1.3.1 Purpose and Scope……………………………….. 13
1.3.2 Applicability……………………………………… 14
1.4 Achievements ...…………………..……………………… 14
1.5 Organisation of Report...…………………..…………… 14
2. SURVEY OF TECHNOLOGIES………………………………. 15
3. REQUIREMENTS AND ANALYSIS………………………….. 17
3.1 Problem definition …………………………….………… 18
3.2 Requirement Specification ……………………………… 18
3.2.1 Functional Requirements ………………………... 18
3.2.2 Nonfunctional Requirements…………………….. 19
3.3 Planning and Scheduling………………………………… 19
3.4 Software and Hardware Requirements……………...…… 20
3.5 Preliminary Product Description………………………… 21
3.6 Conceptual models……………………………………….. 21
4. SYSTEM DESIGN……………………………………………… 25
4.1 Basic Modules……………………………………………. 26
4.2 Data Design…………………………………..…………… 27
4.2.1 Data Integrity and Constraints……………………. 27
4.3 Procedural Design…………………………………..……. 28
4.3.1 Data Structures ………………………………….... 28
CHAPTER -1
INTRODUCTION
INTRODUCTION
1.1 Background
Student Performance Analyzer and predictor is a web application system combined with basic
Machine learning algorithms that makes it easier and systematic to monitor students' performance
and improve it. This project aims to predict a student’s performance based on input given by
teachers and students. The input given by teachers include a student’s academic marks,
attendance, failures, etc. The input given by students include his or her day-to-day routine
activities like the amount of time he spends daily to study or going out with friends, the time taken
to travel to his/her academic institution, etc. A dataset is then formed by combining the two inputs
of all the students. Machine learning algorithm known as Linear Regression is then applied to this
dataset and it then trains a model based on these values. With the model, we can input the
attributes of any particular student and predict his performance.
1.2 Objectives
Main Objective :
Sub Objective :
1. To derive various correlations between final grade and various other attributes. 2. Input data
from user.
3. Pass data to Machine Learning script.
4. Predict mark in upcoming examination
Predicting students' performance is mostly helpful for the teachers and students to improve their
teaching and learning performance. Most of the existing or common systems analyze performance
IGNOU MCA MINI PROJECT Page | 12
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
based purely on academic activities viz. grades. But studies have found that a student’s day-to-day
routine activities also affect his educational performance as much as academic activities. Student
Performance Analyzer and predictor application helps us to figure out what changes can be made
by the student in his daily routine to improve his/her grades and additional practices that can be
implemented by the teacher to help him/her achieve their educational goals.
1.3.2 Applicability
1.4 Achievements
● Save cost: After the computerized system is implemented less human force will be required
to analyse student’s performance.
The project aims to predict a student’s performance based on input given by Teachers and
Students. The input given by Teachers include a student’s academic marks, attendance, failures,
etc. The input given by Students include his or her day-to-day routine activities like the amount of
time he spends daily studying, the amount of time he spends going out with friends, the time
taken to travel to his/her academic institution, etc. A Dataset is then formed by combining the two
inputs of all the students. Machine Learning Algorithm Linear Regression is then applied this
Dataset and it then trains a model based on these values. With the model, we can input the
attributes of any particular student and predict his performance.
CHAPTER- 2
SURVEY OF TECHNOLOGIES
SURVEY OF TECHNOLOGIES
Front End
REACT
The project is done using REACT as front end. REACT is a free and open-source front -
end JavaScript library for building user interfaces or UI components.
React can be used as a base in the development of single-page or mobile applications . React is
only concerned with state management and rendering that state to the DOM . So creating react
applications usually requires the use of additional libraries for routing as well as certain client -
side functionality.
Back End
Python
Python is an integrated high -level general programming language.Python design philosophy
emphasizes code readability with its notable use of significant indention .Its language constructs
as well as its object oriented approach to help programmers write clear , logical code for small and
large scale projects.
Django makes it easier to build better web apps more quickly and with less code. Django is a
high-level python web framework that encourages rapid development and clean ,pragmatic design
.
PyCharm is an integrated development environment (IDE) used in computer programming
specially for the python language.it provides code analysis , a graphical debugger , an integrated
unit tester, integration with version control systems .
Database
SQLite
SQLite is a C- language library that implements a small, fast ,self contained , high reliability , full-
featured. SQLite is the most used database engine in the world .
The SQLite file format is stable , cross platform, and backwards compatible and the developers
pledge to keep it that way. SQLite source code is in the public domain and is free to everyone to
use for any purpose.
CHAPTER- 3
Most of the existing or common systems analyze performance based purely on academic activities
viz. grades. But studies have found that a student’s day-to-day routine activities also affect his
educational performance as much as academic activities.
Our project aims to predict a student’s performance based on input given by teachers and students
by considering both academic and non academic factors.
1. Student information
3. Display
Proposed system
An integrated application for popular games, coaching, sports equipment etc.: for better utilization
of digital resources in the field of sports.
Display Module
In this module predicted value and analysis is accepted from the machine learning module. These
predicted value and analysis graphs are displayed to the user.
▪ Performance
▪ Reliability
Reliability is the ability of the system to deliver services as specified. This system performs
well without any errors or failures.
▪ Security
The software is well limited to authorized users only. One who is not registered cannot log in to
the site, to view or add data.
▪ Maintainability
In the case of failure, users will not be permitted to log in to the site. Everything can be stored
to its normal operable state within a timeframe. Serviceability and reparability is done.
▪ Portability
It is the degree to which software running on one platform can easily be converted to run
another platform. As this software is developed under this language, this attains high portability.
IGNOU MCA MINI PROJECT Page | 18
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
Gantt chart
Gantt charts mainly used to allocate resources to activities. The resources allocated to activities
include staff, hardware, and software. Gantt charts (named after its developer Henry Gantt) are
useful for resource planning. A Gantt chart is a special type of bar chart where each bar represents
an activity. The bars are drawn along a timeline. The length of each bar is proportional to the
duration of the time planned for the corresponding activity.
Gantt chart is a project scheduling technique. Progress can be represented easily in a Gantt chart,
by coloring each milestone when completed. The project will start in the month of August and end
after 4 months at the end of November.
Software requirement
Hardware requirement
Student Performance Analyzer and predictor is a web application system combined with basic
Machine learning algorithms that makes it easier and systematic to monitor students' performance
and improve it. This project aims to predict a student’s performance based on input given by
teachers and students. The input given by teachers include a student’s academic marks,
attendance, failures, etc. The input given by students include his or her day-to-day routine
activities like the amount of time he spends daily to study or going out with friends, the time taken
to travel to his/her academic institution, etc. A dataset is then formed by combining the two inputs
of all the students. Machine learning algorithm known as Linear Regression is then applied to this
dataset and it then trains a model based on these values. With the model, we can input the
attributes of any particular student and predict his performance.
Level:0
Level:1
Level:2
ER Diagram
CHAPTER- 4
SYSTEM DESIGN
SYSTEM DESIGN
3.Display Module
In this module, Attributes required by the machine learning module that is student information
such as marks, attendance, and other details are accepted from the user. Then these values are
passed from input module to machine learning module.
In this module first we train our model using the data set.Then this is used to create a pickle file.
After this we test the attributes obtained from the input module against the model. After the testing
we will obtain a predicted value and this predicted value is passed to the output module.
3. Display Module
In this module predicted value and analysis is accepted from the machine learning module. These
predicted value and analysis graphs are displayed to the user.
4 .2 DATA DESIGN
4.2.1 Scheme Design
Data design is done based on ER diagrams and Data Dictionary. Data design may be done either
as a file-based
system or as a database management system (DBMS). In the file based approach, the data files are
custom designed for each application module. There is generally no sharing of data among various
application modules.
The database design is a logical development in the methods used by the computer to access and
manipulate data stored in the various parts of the computer system. Database is designed as an
integrated collection of data. The overall objective in the development of database technology has
been to treat data as organization resources and as an integrated while. The main objective of
databases is data integration, data integrity and data and independence.
A table is an object to store data in a database. When creating a table, the user must specify the
table name and name, data type, size of each column. It provides different constraints to specify a
primary or composite key to the table.
In computing, data integrity refers to maintaining the accuracy and consistency of data over its
entire life-cycle, and is an important feature of a database or RDBMS system. Data integrity
means that the data contained in the database is accurate and reliable. Data warehousing and
business intelligence in general demand the accuracy, validity and correctness of data despite
hardware failures, software bugs or human error. Data that has integrity is identically maintained
during any operation, such as transfer, storage or retrieval.
Academic Attributes
Algorithm
Step-1: START
Step-7: STOP
Flowchart
The system security problem can be divided into four related issues: security, integrity, privacy
and confidentiality. They determine the file structure, data structure and access procedures.
System security refers to the technical innovations and procedures applied to the hardware and
operating systems to protect against deliberate or accidental damage from a defined threat. In
contrast, data security is the protection of data from loss, disclosure, modifications and
destruction.
System integrity refers to the proper functioning of programs, appropriate physical security
and safety against external threats such as eavesdropping and wiretapping. In comparison, data
integrity makes sure that it does not differ from others and how the organization can be protected
against unwelcome, unfair or excessive dissemination of information about it.
USER
S.
No. Test Case ID Do Expected Result
Click on submit.
Click on submit.
Analysis
S.
No. Test Case ID Do Expected Result
Predictor
Click on submit.
Result
CHAPTER- 5
IMPLEMENTATION AND TESTING
Our project Student Performance Analyzer And Predictor works in Windows. STUDENT
PERFORMANCE ANALYZER AND PREDICTOR Chapter 4 searching facility IDE used for
developing our project is Pycharm. PyCharm is one of the most widely used IDEs for the Python
programming language. PyCharm is an integrated development environment (IDE) used in
computer programming, specifically for the Python language. It is developed by the Czech
company JetBrains. JetBrains has developed PyCharm as a cross-platform IDE for Python. In
addition to supporting versions 2.x and 3.x of Python, PyCharm is also compatible with Windows,
Linux, and macOS. At the same time, the tools and features provided by PyCharm help
programmers to write a variety of software applications in Python quickly and efficiently. The
developers can even customize the PyCharm UI according to their specific needs and preferences.
Also, they can extend the IDE by choosing from over 50 plug-ins to meet complex project
requirements. It also provides code analysis, a graphical debugger, an integrated unit tester,
integration with version control systems (VCSes), and supports web development with Django as
well as data science with Anaconda. PyCharm is cross-platform, with Windows, macOS and
Linux versions. The Community Edition is released under the Apache License, and there is also
Professional Edition with extra features – released under a proprietary license.
LRA
main.py
i m p o rt numpy a s np
i m p o rt p a n d a s a s pd
f rom s k l e a r n i m p o rt l i n e a r m o d e l
i m p o rt s k l e a r n
f rom s k l e a r n . u t i l s i m p o rt s h u f f l e
i m p o rt m a t p l o t l i b . p y p l o t a s p l t
f rom m a t p l o t l i b i m p o rt s t y l e
i m p o rt p i c k l e
style.use(”ggplot”)
d a t a = pd . r e a d c s v ( ” s t u d e n t −mat . c s v ” , s e p = ” ; ” )
p r e d i c t = ”G3”
data=data[
” a b s e n c e s ” , ”G3 ” ] ]
data=shuffle(data)#Optional−shufflethedata
x = np . a r r a y ( d a t a . d r o p ( [ p r e d i c t ] , 1 ) )
y = np . a r r a y ( d a t a [ p r e d i c t ] )
xtrain,xtest,ytrain,ytest=sklearn.modelselection.traintestspli
t(x,y,testsize=0.1)
best=0
forinrange(20):
xtrain,xtest,ytrain,ytest=sklearn.modelselection.traintestspli
t(x,y,testsize=0.1)
linear=linearmodel.LinearRegression()
linear.fit(xtrain,ytrain)
acc=linear.score(xtest,ytest)
p r i n t ( ” Acc u rac y : ” + s t r ( a c c ) )
ifacc>best:
best=acc
p i c k l e . dump ( l i n e a r , f )
# LOAD MODEL
p i c k l e i n = open ( ” s t u d e n t g r a d e s . p i c k l e ” , ” r b ” )
linear=pickle.load(picklein)
p r i n t (”−−−−−−−−−−−−−−−−−−−−−−−−−”)
p r i n t ( ’ C o e f f i c i e n t : \n ’ , l i n e a r . c o e f )
p r i n t ( ’ I n t e r c e p t : \n ’ , l i n e a r . i n t e r c e p t )
p r i n t (”−−−−−−−−−−−−−−−−−−−−−−−−−”)
predicted=linear.predict(xtest)
forxinrange(len(predicted)):
print(predicted[x],xtest[x],ytest[x])
plot=”studytime”
p l t . s c a t t e r ( d a t a [ p l o t ] , d a t a [ ” G3 ” ] )
plt.legend(loc=4)
plt.xlabel(plot)
p l t . y l a b e l ( ” F i n a l G rade ” )
p l t . s a v e f i g ( ’ a n a l y s i s s t u d y t i m e . png ’ )
p l t . show ( )
IGNOU MCA MINI PROJECT Page | 46
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
plot=”failures”
p l t . s c a t t e r ( d a t a [ p l o t ] , d a t a [ ” G3 ” ] )
plt.legend(loc=4)
plt.xlabel(plot)
p l t . y l a b e l ( ” F i n a l G rade ” )
p l t . s a v e f i g ( ’ a n a l y s i s f a i l u r e s . png ’ )
p l t . show ( )
plot=”famrel”
p l t . s c a t t e r ( d a t a [ p l o t ] , d a t a [ ” G3 ” ] )
plt.legend(loc=4)
plt.xlabel(plot)
p l t . y l a b e l ( ” F i n a l G rade ” )
p l t . s a v e f i g ( ’ a n a l y s i s f a m r e l . png ’ )
p l t . show ( )
plot=”absences”
p l t . s c a t t e r ( d a t a [ p l o t ] , d a t a [ ” G3 ” ] )
plt.legend(loc=4)
plt.xlabel(plot)
p l t . y l a b e l ( ” F i n a l G rade ” )
p l t . s a v e f i g ( ’ a n a l y s i s a b s e n c e s . png ’ )
p l t . show ( )
SPAP
admin . py
f rom dj a n g o . c o n t r i b i m p o rt admin
f rom . m o del s i m p o rt P r e d i c t i o n R e s u l t s
# R e g i s t e r y o u r m o del s h e r e .
admin . s i t e . r e g i s t e r ( P r e d i c t i o n R e s u l t s )
a p p s . py
c l a s s P r e d i c t C o n f i g ( AppCon fig ) :
name = ’ p r e d i c t ’
m o del s . py
f rom dj a n g o . db i m p o rt m o del s
# C r e a t e y o u r m o del s h e r e .
c l a s s P r e d i c t i o n R e s u l t s ( m o del s . Model ) :
r n o = m o del s . I n t e g e r F i e l d ( u ni q u e =T r ue )
g r a d e 1 = m o del s . F l o a t F i e l d ( )
g r a d e 2 = m o del s . F l o a t F i e l d ( )
a ge = m o del s . I n t e g e r F i e l d ( )
m ot h e r e d u = m o del s . I n t e g e r F i e l d ( )
f a t h e r e d u = m o del s . I n t e g e r F i e l d ( )
t r a v e l t i m e = m o del s . I n t e g e r F i e l d ( )
s t u d y t i m e = m o del s . I n t e g e r F i e l d ( )
f a i l u r e s = m o del s . I n t e g e r F i e l d ( )
f a m r e l = m o del s . I n t e g e r F i e l d ( )
f r e e t i m e = m o del s . I n t e g e r F i e l d ( )
g o o ut = m o del s . I n t e g e r F i e l d ( )
h e a l t h = m o del s . I n t e g e r F i e l d ( )
a b s e n c e s = m o del s . F l o a t F i e l d ( )
g r a d e 3 = m o del s . F l o a t F i e l d ( )
defstr(self):
returnself.grade3
u r l s . py
f rom dj a n g o . u r l s i m p o rt p at h
f rom . i m p o rt vi ew s
app name = ’ p r e d i c t ’
urlpatterns=[
p at h ( ’ ’ , vi ew s . p r e d i c t , name = ’ p r e d i c t ’ ) ,
p at h ( ’ p r e d i c t ’ , vi ew s . p r e d i c t c h a n g e s , name = ’ s u b m i t p r e d i c t i o n ’ ) ,
p at h ( ’ r e s u l t s ’ , vi ew s . v i e w r e s u l t s , name = ’ r e s u l t s ’ ) ,
p at h ( ’ a n a l y s i s ’ , vi ew s . v i e w a n a l y s i s , name = ’ a n a l y s i s ’ ) ,
vi ew s . py
f rom dj a n g o . s h o r t c u t s i m p o rt r e n d e r
f rom dj a n g o . h t t p i m p o rt J s o nR e s p o n s e
i m p o rt p a n d a s a s pd
f rom . m o del s i m p o rt P r e d i c t i o n R e s u l t s
defpredict(request):
r e t u r n r e n d e r ( r e q u e s t , ’ p r e d i c t . html ’ )
defpredictchanges(request):
i f r e q u e s t . POST . g e t ( ’ a c t i o n ’ ) == ’ p o st ’ :
# R e c ei v e d a t a f rom c l i e n t
r n o = i n t ( r e q u e s t . POST . g e t ( ’ rno ’ ) )
G1 = f l o a t ( r e q u e s t . POST . g e t ( ’ G1 ’ ) )
G2 = f l o a t ( r e q u e s t . POST . g e t ( ’ G2 ’ ) )
a ge = i n t ( r e q u e s t . POST . g e t ( ’ age ’ ) )
t r a v e l t i m e = i n t ( r e q u e s t . POST . g e t ( ’ t r a v e l t i m e ’ ) )
s t u d y t i m e = i n t ( r e q u e s t . POST . g e t ( ’ st u d yti m e ’ ) )
f a i l u r e s = i n t ( r e q u e s t . POST . g e t ( ’ f a i l u r e s ’ ) )
f a m r e l = i n t ( r e q u e s t . POST . g e t ( ’ f am r el ’ ) )
f r e e t i m e = i n t ( r e q u e s t . POST . g e t ( ’ f r e e t i m e ’ ) )
g o o ut = i n t ( r e q u e s t . POST . g e t ( ’ g o o ut ’ ) )
h e a l t h = i n t ( r e q u e s t . POST . g e t ( ’ h e a l t h ’ ) )
a b s e n c e s = f l o a t ( r e q u e s t . POST . g e t ( ’ a b s e n c e s ’ ) )
# U n pi c kl e model
SPAP\LRA\ s t u d e n t g r a d e s . p i c k l e ” )
# Make p r e d i c t i o n
r e s u l t = model . p r e d i c t (
f am r el , f r e e t i m e , g o o ut , h e a l t h , a b s e n c e s ] ] )
classification=result[0]
#PredictionResults.objects.all().delete()
P r e d i c t i o n R e s u l t s . o b j e c t s . c r e a t e ( r n o = rno , g r a d e 1 =G1 ,
t r a v e l t i m e = t r a v e l t i m e , s t u d y t i m e = st u d yti m e ,
f a i l u r e s = f a i l u r e s , f a m r e l = f am r el , f r e e t i m e = f r e e t i m e ,
g o o ut = g o o ut , h e a l t h = h e a l t h , a b s e n c e s = a b s e n c e s ,
grade3=classification)
r e t u r n J s o nR e s p o n s e (
’ Fedu ’ : Fedu , ’ t r a v e l t i m e ’ : t r a v e l t i m e ,
’ st u d yti m e ’ : st u d yti m e , ’ f a i l u r e s ’ : f a i l u r e s ,
’ f am r el ’ : f am r el , ’ f r e e t i m e ’ : f r e e t i m e ,
’ g o o ut ’ : g o o ut , ’ h e a l t h ’ : h e a l t h , ’ a b s e n c e s ’ : a b s e n c e s ,
’G3 ’ : c l a s s i f i c a t i o n } ,
safe=False)
defviewresults(request):
d a t a = {” d a t a s e t ” : P r e d i c t i o n R e s u l t s . o b j e c t s . a l l ( ) }
r e t u r n r e n d e r ( r e q u e s t , ” r e s u l t s . html ” , d a t a )
defviewanalysis(request):
r e t u r n r e n d e r ( r e q u e s t , ’ a n a l y s i s . html ’ )
b a s e . html
<! d o ct y p e html>
<html l a n g =” en”>
<head>
<meta c h a r s e t =” ut f −8”>
<meta name=” vi e w p o r t ” c o n t e n t =” wi dt h = d e vi c e − wi dt h , i n i t i a l − s c
a l e =1 ,
s h ri n k −t o − f i t =no”>
<l i n k r e l =” s t y l e s h e e t ” h r e f =” h t t p s : / / s t a c k p a t h . b o o t s t r a p c d n . com /
bootstrap/4.4.1/css/
b o o t s t r a p . min . c s s ”
i n t e g r i t y =” sha384 −Vkoo8x4CGsO3+Hhxv8T /
Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh ” c r o s s o r i g i n =
” anonymous”>
IGNOU MCA MINI PROJECT Page | 52
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
<s c r i p t s r c =” h t t p s : / / a j a x . g o o g l e a p i s . com / a j a x / l i b s / j q u e r y / 3 . 4 . 1 /
</ head>
<body>
<b u t t o n c l a s s =” na v ba r − t o g g l e r ” t y p e =” b u t t o n ” d at a − t o g g l e =” c
o l l a p s e ” d at a − t a r g e t =”# n a v b a r S u p p o r t e d C o n t e n t ”
a r i a − c o n t r o l s =” n a v b a r S u p p o r t e d C o n t e n t ” a r i a − e x pa n de d =”
false”
a r i a − l a b e l =” T o g gle n a v i g a t i o n ”>
<di v c l a s s =” c o l l a p s e na v ba r − c o l l a p s e ” i d =” n a v b a r S u p p o r t e d
C o n t e n t ”>
</ l i >
</ l i >
</ l i >
</ ul>
</ di v>
</ nav>
{% bl o c k main %}
{% e n d bl o c k %}
<s c r i p t s r c =” h t t p s : / / c d n j s . c l o u d f l a r e . com / a j a x / l i b s / p o p p e r . j s / 1 .
12.9/
umd / p o p p e r . min . j s ”
i n t e g r i t y =” sha384 −ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K /
c r o s s o r i g i n =” anonymous”></ s c r i p t >
b o o t s t r a p . min . j s ”
i n t e g r i t y =” sha384 − JZR6Spejh4U02d8jOt6vLEH fe /
JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl”
c r o s s o r i g i n =” anonymous”></ s c r i p t >
</ body>
</ html>
p r e d i c t . html
{% e x t e n d s ” b a s e . html ” %}
{% bl o c k main %}
a r i a − hi d d e n =” t r u e ”>
P r e d i c t i o n R e s u l t s </ h5>
<b u t t o n t y p e =” b u t t o n ” c l a s s =” c l o s e ” d at a − d i s m i s s =” modal ”
a r i a − l a b e l =” Cl o s e ”>
</ di v>
IGNOU MCA MINI PROJECT Page | 55
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
</ di v>
<b u t t o n t y p e =” b u t t o n ” c l a s s =” bt n bt n − s e c o n d a r y ” d at a − d i s m i s
e s u l t s </a>
</ di v>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
{% c s r f t o k e n %}
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
ed>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
uired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
uired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
ed>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
ired>
</ di v>
<di v c l a s s =” c ol −md”>
d e , 3 − s e c o n d a r y e d u c a t i o n o r 4 − h i g h e r e d u c a t i o n ) </ span>
</ di v>
IGNOU MCA MINI PROJECT Page | 60
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
ired>
</ di v>
<di v c l a s s =” c ol −md”>
d e , 3 − s e c o n d a r y e d u c a t i o n o r 4 − h i g h e r e d u c a t i o n ) </ span>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
”required>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
required>
</ di v>
IGNOU MCA MINI PROJECT Page | 62
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
quired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
uired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
equired>
</ di v>
<di v c l a s s =” c ol −md”>
span>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
uired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
uired>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
</ di v>
<di v c l a s s =” c ol −md”>
required>
</ di v>
<di v c l a s s =” c ol −md”>
</ di v>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c ol −md”>
at a − t o g g l e =” modal ”
d at a − t a r g e t =”# exampleModal”> P r e d i c t
</ di v>
</ di v>
</ di v>
</ form>
</ di v>
<s c r i p t >
e.preventDefault();
$ . a j a x ({
t y p e : ’POST ’ ,
u r l : ’{% u r l ” p r e d i c t : s u b m i t p r e d i c t i o n ” %} ’ ,
data:{
rno:$(’#inputrno’).val(),
G1 : $ ( ’ # i n p ut m a r k 1 ’ ) . v a l ( ) ,
G2 : $ ( ’ # i n p ut m a r k 2 ’ ) . v a l ( ) ,
a ge : $ ( ’ # i n p u t a g e ’ ) . v a l ( ) ,
Medu : $ ( ’ # i n p ut Me d u ’ ) . v a l ( ) ,
Fedu : $ ( ’ # i n p ut F e d u ’ ) . v a l ( ) ,
traveltime:$(’#inputtraveltime’).val(),
studytime:$(’#inputstudytime’).val(),
failures:$(’#inputfailures’).val(),
IGNOU MCA MINI PROJECT Page | 68
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
famrel:$(’#inputfamrel’).val(),
freetime:$(’#inputfreetime’).val(),
g o o ut : $ ( ’ # i n p u t g o o u t ’ ) . v a l ( ) ,
health:$(’#inputhealth’).val(),
absences:$(’#inputabsences’).val(),
c s r f m i d d l e w a r e t o k e n : $ ( ’ i n p u t [ name= c s r f m i d d l e w a r e t o k e n ] ’ ) . v a
l(),
a c t i o n : ’ p o st ’
},
success:function(json){
document . f o rm s [ ” p o st − fo rm ” ] . r e s e t ( ) ;
e’]
},
e r r o r : f u n c t i o n ( xh r , e r rm s g , e r r ) {
});
})
</ s c r i p t >
{% e n d bl o c k %}
r e s u l t s . html
{% e x t e n d s ” b a s e . html ” %}
{% bl o c k main %}
<di v c l a s s =” c o n t a i n e r pt −5”>
<di v c l a s s =” row”>
<t a b l e c l a s s =” t a b l e ”>
<t h e a d >
<t r >
</ t r >
</ t h e a d >
<t b o d y>
{% f o r d a t a i n d a t a s e t %}
<t r >
</ t r >
{% e n d f o r %}
</ t b o d y>
</ t a b l e >
</ di v>
</ di v>
{% e n d bl o c k %}
a n a l y s i s . html
{% e x t e n d s ” b a s e . html ” %}
{% l o a d s t a t i c %}
{% bl o c k main %}
<di v c l a s s =” c o n t a i n e r ”>
<di v c l a s s =” row”>
<di v c l a s s =” c o l ”>
: 100%”>
</ di v>
<di v c l a s s =” c o l ”>
100%”>
</ di v>
</ di v>
<di v c l a s s =” row”>
<di v c l a s s =” c o l ”>
100%”>
</ di v>
<di v c l a s s =” c o l ”
100%”>
</ di v>
<di v c l a s s =” c o l ”>
IGNOU MCA MINI PROJECT Page | 73
STUDENT PERFORMANCE ANALYZER AND PREDICTOR
100%”>
</ di v>
</ di v>
</ di v>
{% e n d bl o c k %}
In unit testing, unit testing focuses verification efforts on the smallest unit of software
design, the module. This is also known as “module testing” . The modules are tested separately.
This testing is carried out during the programming stage itself. In this testing step, each module is
found to be working satisfactorily as regard to the expected output from the module.
Integration testing is used to develop an incremental strategy that will limit the
complexity of interactions among components as they are added to the File keeping system,
developing an integration system schedule that will make the modules available when needed. In
this test, groups of the program modules are tested together to determine their interface properly.
Two types of integration testing are:
Top down Integration : This method is an incremental approach to the construction of the
program structure. Modules are integrated by moving downwards through the control hierarchy,
beginning with the main program module. The module subordinates to the main program module
is incorporated into the structure in either the depth first manner.
Bottom –up Integration : This method begins the construction and testing the modules at the
lowest level in the program structure. Since the modules from the bottom up, processing required
for modules subordinate to a given level is always available and the need for the stubs is
eliminated.
CHAPTER- 6
RESULT AND DISCUSSION
Function Purpose of set of test Test case ID No of test cases run Number of Test
cases per area cases successful
1. Should input proper data, unless this may lead to incorrect output
User Manual:
This system predicts a student’s performance based on input given by Teachers and Students.
Input student details from both Teacher and Student end.Then these values are passed from input
module to machine learning module. After that it will test the attributes obtained from the input
module against the model. Post testing, we will obtain a predicted value and this predicted value is
passed to the output module.
Display:
Predicted value and analysis is accepted from the machine learning module. These predicted
value and analysis graphs are displayed to the user.
CHAPTER- 7
CONCLUSIONS
CONCLUSIONS
7.1 Conclusion
In this project, we analysed a student’s performance by analysing their behavioural patterns and
academic results. It helped us to predict the upcoming exam’s results with high accuracy. We used
the Linear Regression algorithm where we found a line that best fits the data points available on
the plot, so that we can use it to predict output values for given inputs. It helped us to provide the
most efficient combination of attributes that affect the performance of a student. Performance
evaluation of students is essential to check the feasibility of improvement. Regular evaluation not
only improves the performance of the student but also it helps in understanding where the student
is lacking. Existing systems mostly consider only the academic attributes but studies have found
that nonacademic attributes have equal importance in a student’s performance. The obtained
results showed that this is a promising system for predicting and analysing students' performance
which will help in their academic results.
REFERENCES
[1.] Pauziah Mohd Arsad, Norlida Buniyamin and Jamalul-lail Ab Manan, ”A Neural Network
Students’ Performance Prediction Model (NNSPPM)”, 2013 IEEE International Conference on
Smart Instrumentation Measurement and Applications (ICSIMA).
[2.] Mohan M G Midhun, Siju K Augustin and V S Kumari Roshni, ”A BigData Approach for
Classification and Prediction of Student Result Using MapReduce”, 2015 IEEE Recent Advances
in Intelligent Computational Systems (RAICS), pp. 145-150, 2015.
[3.] Madhav S. Vyas and Reshma Gulwani, ”Predicting Student’s Performance using CART
approach in Data Science”, 2017 International conference of Electronics Communication and
Aerospace Technology (ICECA), pp. 58-61, 2017.
[4.] Huda Al-Shehri, Amani Al-Qarni, Leena Al-Saati, Arwa Batoaq, Haifa Badukhen, Saleh
Alrashed, et al., ”Student Performance Prediction Using Support Vector Machine and K-Nearest
Neighbors”, 2017 IEEE 30th Canadian Conference on Electrical and Computer Engineering
(CCECE), 2017.