0% found this document useful (0 votes)
509 views

Computer Science Investigatory Project

The document provides details of a student project on analyzing student results that was completed by three students - Gokulraj R, Jeremiah J, and Karthikeyan K - and submitted to their teacher, Mrs. M. Poovizhi. The project involved developing a software to maintain student records and results using MySQL and Python. The summary includes an index, introduction describing the purpose and benefits of the project, system requirements, and feasibility study.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
509 views

Computer Science Investigatory Project

The document provides details of a student project on analyzing student results that was completed by three students - Gokulraj R, Jeremiah J, and Karthikeyan K - and submitted to their teacher, Mrs. M. Poovizhi. The project involved developing a software to maintain student records and results using MySQL and Python. The summary includes an index, introduction describing the purpose and benefits of the project, system requirements, and feasibility study.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

STANSFORD INTERNATIONAL HR. SEC.

SCHOOL
[HOLISTIC EDUCATION]

CBSE AFFILIATION NO.: 2930016

ALL INDIA SENIOR SCHOOL CERTIFICATE EXAMINATION


COMPUTER SCIENCE (083) PROJECT REPORT 2021-2022

STUDENT RESULT ANALYSIS

SUBMITTED BY

NAME: GOKULRAJ. R
CLASS: XII – A2
REG NO: 20614546

GUIDED BY
Mrs.M. POOVIZHI.,MCA.,M.Phil(PGT)
COMPUTER SCIENCE
(2021 - 2022)
CERTIFICATE

This is to certify that GOKULRAJ. R, JEREMIAH. J,


KARTHIKEYAN. K of class XII – A2 has prepared the report on
the project entitled “STUDENT RESULT ANALYSIS”.

The report is the result of their efforts and endeavours. The


report is found worthy of acceptance as final project report
for the Computer science of Class XII. They have prepared the
report under my guidance.

INTERNAL EXAMINER EXTERNAL EXAMINER PRINCIPAL


ACKNOWLEDGEMENT
In the accomplishment of this project successfully, many
people have bestowed upon us their blessings and the heart
pledged support, this time we are utilizing to thank all the
people who have been concerned with this project.
Primarily, we would thank God for being able to complete
this project with success. Then we would like to thank our
beloved Principal Mrs. Usha Rani. G and our Vice-Principal
Mrs. Usha Sridhar and our Class teacher Mrs. Poovizhi.M for
giving us the opportunity and valuable guidance and moral
support to carry over the project.
We would like to express our gratitude to our project guide
Mrs. Poovizhi.M for guiding us immensely through the
course of project.
We also thank to our parents and beloved ones for their
motivation and support and also our classmates who helped
us to patch this project and make it full proof success. I must
thank to my classmates as well.

Gokulraj. R
Jeremiah. J
Karthikeyan. K
INDEX

S.NO. TOPIC PAGE


NO.
1 Introduction 01
2 System requirements 02
3 Feasibility study 03
4 Errors and its types 04
5 Testing 05
6 Maintenance 06
7 Flow Chart of Program 07
8 Code 08
9 Output 22
10 Bibliography 29
INTRODUCTION
Usually we know that board of the state or central government for
education stores student result and other details of class XII by
maintaining a record. Each student details will be maintained even
after his life. On the olden days we have kept all data in a paper
written in pen. But in today’s world everything made easier with help
many software. I and my team prepared a project “STUDENT
RESULT ANALYSIS” with help of MySQL and object oriented
language like Python which is also a easier programming language
compared to others. The main aim of the project is to maintain a
record of student’s detail in a memory. This helps to reduce spacing
of the place to maintain a record. Even if there is a need of
verification the officer who works can just type the student’s roll
number and can be verified.

How we got benefited?

• We come to understand a how to connect MySQL and Python in


easier way and how it is easier to handle.
• We got better ideas about Python and MySQL.
• Now we come to know how to prepare a software with help of
other programming software.
• We come to know how to handle MySQL by storing data in
MySQL using Python and can be retrieved through MySQL
• We come to know better about how to implement our subject
course that we learnt from our class XI and XII into real life
requirement.

Page | 1
SYSTEM REQUIREMENTS

1. HARDWARE:
• A Computer/Laptop with Operating System – Windows 8.2 or
above
• X86 64 – bit CPU (Intel)
• 4 GB RAM
• 10 GB free disk

2. SOFTWARE:
• Python 3.7.x or higher version
• MySQL

Page | 2
FEASIBILITY STUDY
Feasibility study is a system proposal according to its work,
ability, impact on the operation ability to meet the needs of users
and efficient use of resources. An important outcome of
preliminary investigations the determination of that system
requested feasible.

ECONOMICAL FEASIBILITY:
Economics analysis is the most frequent use method for
evaluating the effectiveness of the candidates the benefits and
savings that are expected from system and compare them with
cost.
This software is not very costly. It just worth Rs.5500/-. So
users records can be maintained at a cheaper cost and every
school would like to use this software so that the student’s
records can be managed easily.

TECHNICAL FEASIBILTY:
Technical feasibility centre on the existing computer system
and to what extent it can support the proposed task. This involves
financial consideration to accommodate technical enhancements.
It is technically feasible because whatever technology is
needed to develop this software is easily available.

Page | 3
ERRORS AND ITS TYPES
An error, some time called “A BUG” is anything in the code that
prevents a program from compiling and running correctly. There
are broadly three types of errors as follows:

1. Compile- time errors: Errors that occurs during


compilation of a program is called compile time error. It has
two types as follows:
• Syntax error: It refers to formal rules governing the
construction of valid statements in a language.
• Semantics error: It refers to the set of rules which give
the meaning of a statement.

2. Run time Errors: Errors that occur during the execution of


program are run time errors. These are harder to detect
errors. Some run-time error stop the execution of program
which is then called program “Crashed”.

3. Logical Errors: Sometimes, even if you don’t encounter any


error during compiling-time and runtime, your program
does not provide the correct result. This is because of the
programmer’s mistaken analysis of the problem he or she is
trying to solve. Such errors are called logical error.

Page | 4
TESTING

1. Alpha Testing: It is the most common type of testing used in


the software industry. The objective of this testing is to identify
all possible issues or defects before releasing it into the market
or to the user. It is conducted at the developer’s site.

2. Beta Testing: It is a formal type of software testing which is


carried out by the customers. It is performed in a real
environment before releasing the products into the market for
the actual end-users. It is carried out to ensure that there are
no major failures in the software or product and it satisfies the
business requirement. Beta Testing is successful when the
customer accepts the software.

3. White Box Testing: White box testing is based on the


knowledge about the internal logic of an application’s code. It is
also known as Glass box Testing. Internal Software and code
working should be known for performing this type of testing.
These tests are based on the coverage of the code statements,
branches, paths, conditions etc.

4. Black Box Testing: It is a software testing, method in which


the internal structure or design of the item to be tested is not
known to the tester. This method of testing can be applied
virtually to every level of the software testing.

Page | 5
MAINTENANCE

Programming maintenance refers to the modifications in the


program. After it has been completed, in order to meet
changing requirement or to take care of the errors that shown
up. There are four types of maintenance:

1. Corrective Maintenance: When the program after compilation


shows error because of some unexpected situations, untested
areas such errors are fixed up by Corrective maintenance.

2. Adaptive Maintenance: Changes in the environment in which


an information system operates may lead to system
management. To accommodate changing needs time to time
maintenance is done and is called Adaptive maintenance.

3. Preventive Maintenance: If possible the errors could be


anticipated before they actually occur; the maintenance is
called Preventive maintenance.

4. Perfective Maintenance: In this rapidly changing world,


information technology is the fastest growing area. If the
existing system is maintained to keep tuned with the new
features, new facilities, new capabilities, it is said to be
Perfective maintenance.

Page | 6
FLOW CHART OF THE PROGRAM

STUDENT RESULT ANALYSIS

INSERT UPDATE SEARCH DELETE

To insert a To update To search To delete an


new record an existing an existing existing
record record record

EXIT

Page | 7
CODE
import mysql.connector as mcon

import sys

con = mcon.connect(host="localhost",user="root",password="12345")

mycursor = con.cursor()

if con.is_connected():

print("MySQL DataBase is connected Successfully.")

mycursor.execute("create database if not exists LOC")

mycursor.execute("use LOC")

mycursor.execute("create table if not exists user \

(uname varchar(20) primary key,upwd varchar(20)\

,utype char(5),ustatus char(5))")

Q = "insert into user(uname,upwd,utype) values (\'LOC\',\'LOC\',\'S\')"

#print(Q)

#mycursor.execute(Q)

con.commit()

at = 1

while at==1:

Page | 8
at += 1

uid = input("Enter User Name : ")

pwd = input("Enter User Password : ")

status = 'A'

mycursor.execute("select * from user where uname = '{}' and upwd


= '{}' and ustatus = '{}'".format(uid,pwd,status))

data = mycursor.fetchone()

count = mycursor.rowcount

#print(count)

if count == 1:

print("Login Successfully.")

print("Perform CRUD Operations.")

#-----------------------------------*CHOICES*------------------------------------------

while True:

print("Input 'I' for Inserting a New Record.")

print("Input 'U' for Updating an existing Record.")

print("Input 'S' for Searching an existing Record.")

print("Input 'D' for Deleting an existing Record.")

print("Input 'E' for Exiting the Program.")

ch = input("Enter Your Choice: ")

#--------------------------------*TABLE CREATION*----------------------------------
----
Page | 9
if ch == 'I' or ch == 'i':

ins = 'create table if not exists students(\

Roll_Number int(20) primary key, Register_Number varchar(20),


LOC_Serial_Number int(10) NOT NULL, Year_Passed int(5) NOT NULL,\

School_Name char(80), School_Number int(20), Centre_Name


char(80), Centre_Number int(20),Candidate_Name char(50) NOT
NULL,\

Mother_Name char(50) NOT NULL, Father_Name char(50) NOT


NULL, Gender varchar(5) NOT NULL, Caste varchar(30) NOT NULL,
Minority varchar(5),\

PWD_Status varchar(20), Nationality char(20), State char(20),


District char(20), Address varchar(50), Mobile_Number bigint NOT
NULL, Email_ID varchar(50),Aadhar_Number bigint NOT NULL,\

Subject1 char(18) NOT NULL, Subject1_Mark float(3) NOT NULL,


Subject1_Code char(4) NOT NULL, Subject1_Grade char(3) NOT NULL,\

Subject2 char(18) NOT NULL, Subject2_Mark float(3) NOT NULL,


Subject2_Code char(4) NOT NULL, Subject2_Grade char(3) NOT NULL,\

Subject3 char(18) NOT NULL, Subject3_Mark float(3) NOT NULL,


Subject3_Code char(4) NOT NULL, Subject3_Grade char(3) NOT NULL,\

Subject4 char(18) NOT NULL, Subject4_Mark float(3) NOT NULL,


Subject4_Code char(4) NOT NULL, Subject4_Grade char(3) NOT NULL,\

Subject5 char(18) NOT NULL, Subject5_Mark float(3) NOT NULL,


Subject5_Code char(4) NOT NULL, Subject5_Grade char(3) NOT NULL,\

Subject6 char(18) NOT NULL, Subject6_Mark float(3) NOT NULL,


Subject6_Code char(4) NOT NULL, Subject6_Grade char(3) NOT NULL,\

Page | 10
Total float(5), Average float(3), Result char(10) NOT NULL,
Attempt smallint NOT NULL,\

Annual_Income
int(25),Roll_Number_of_Equivalent_Exam_passed int(10),\

Equivalent_Exam_passed char(20),
Board_of_Equivalent_Exam_passed char(20), Single_Girl char(5),\

Migration_Certificate char(10), Admission_Number char(10),


Admission_Date date)'

#print(ins)

mycursor.execute(ins)

#-------------------------------*INSERTION OF RECORDS*--------------------------
-------

print("Inserting a new record of the Candidate.")

Roll_Number = int(input("Enter the student's roll number: "))

Register_Number = input("Enter the student's register number: ")

LOC_Serial_Number = int(input("Enter the student's List of


Candidate Serial Number: "))

Year_Passed = int(input("Enter student's year passing class 12: "))

School_Name = input("Enter the school name of the candidate: ")

School_Number = int(input("Enter the school number: "))

Centre_Name = input("Enter the centre name of the candidate: ")

Centre_Number = int(input("Enter the centre number: "))

Candidate_Name = input("Enter the student's Name: ")

Mother_Name = input("Enter the student's mother's name: ")

Page | 11
Father_Name = input("Enter the student's father's name: ")

Gender = input("Enter the student's gender: ")

Caste = input("Enter the student's caste: ")

Minority = input("Enter if the student belongs to minority


section(y/n): ")

PWD_Status = input("Enter if the student have disability (type of


disability): ")

Nationality = input("Enter the nationality of the candidate: ")

State = input("Enter the state of the candidate: ")

District = input("Enter the district of the candidate: ")

Address = input("Enter the address of the candidate: ")

Mobile_Number = int(input("Enter the student's mobile number:


"))

Email_ID = input("Enter the student's Email ID: ")

Aadhar_Number = int(input("Enter the student's aadhar number:


"))

Subject1=input("Enter the name of the subject 1: ")

Subject1_Mark = float(input("Enter the mark of the subject 1: "))

Subject1_Code =input("Enter the subject code of subject 1:


").zfill(3)

Subject1_Grade = input("Enter the grade of subject 1: ")

Subject2=input("Enter the name of the subject 2: ")

Subject2_Mark = float(input("Enter the mark of the subject 2: "))

Page | 12
Subject2_Code=input("Enter the subject code of subject 2:
").zfill(3)

Subject2_Grade = input("Enter the grade of subject 2: ")

Subject3=input("Enter the name of the subject 3: ")

Subject3_Mark = float(input("Enter the mark of the subject 3: "))

Subject3_Code=input("Enter the subject code of subject 3:


").zfill(3)

Subject3_Grade = input("Enter the grade of subject 3: ")

Subject4=input("Enter the name of the subject 4: ")

Subject4_Mark = float(input("Enter the mark of the subject 4: "))

Subject4_Code=input("Enter the subject code of subject 4:


").zfill(3)

Subject4_Grade = input("Enter the grade of subject 4: ")

Subject5=input("Enter the name of the subject 5: ")

Subject5_Mark = float(input("Enter the mark of the subject 5: "))

Subject5_Code=input("Enter the subject code of subject 5:


").zfill(3)

Subject5_Grade = input("Enter the grade of subject 5: ")

Subject6=input("Enter the name of the subject 6: ")

Subject6_Mark= float(input("Enter the mark of the subject 6: "))

Subject6_Code=input("Enter the subject code of subject 6:


").zfill(3)

Subject6_Grade = input("Enter the grade of subject 6: ")

Page | 13
Total=Subject1_Mark+Subject2_Mark+Subject3_Mark+Subject4_Mark
+Subject5_Mark+Subject6_Mark

print("The total marks of the candidate is",Total)

Average=Total/6

print("The average mark of the candidate is",Average)

Result = input("Enter the result of the student: ")

Attempt = int(input("Enter the number of times the student made


attempt in failing exam: "))

Annual_Income = int(input("Enter annual income of the student's


parents: "))

Roll_Number_of_Equivalent_Exam_passed = int(input("Enter
student's roll number of equivalent exam passed: "))

Equivalent_Exam_passed = input("Enter student's exam of


equivalent exam passed: ")

Board_of_Equivalent_Exam_passed= input("Enter student's board


of equivalent exam passed: ")

Single_Girl = input("Enter if the student is single girl child or not:")

Migration_Certificate = input("Enter if the student got migration


certificate or not: ")

Admission_Number = int(input("Enter student's admission


number: "))

Admission_Date = input("Enter student's admission date as (yyyy-


mm-dd): ")

Page | 14
q = "insert into students
(Roll_Number,Register_Number,LOC_Serial_Number, Year_Passed,\

School_Name,School_Number,Centre_Name,Centre_Number,Candidat
e_Name,\

Mother_Name, Father_Name, Gender, Caste, Minority,


PWD_Status, Nationality, State, District, Address, Mobile_Number,\

Email_ID ,Aadhar_Number,\

Subject1, Subject1_Mark, Subject1_Code, Subject1_Grade,\

Subject2, Subject2_Mark, Subject2_Code, Subject2_Grade,\

Subject3, Subject3_Mark, Subject3_Code, Subject3_Grade,\

Subject4, Subject4_Mark, Subject4_Code, Subject4_Grade,\

Subject5, Subject5_Mark, Subject5_Code, Subject5_Grade,\

Subject6, Subject6_Mark, Subject6_Code, Subject6_Grade,\

Total, Average, Result, Attempt,


Annual_Income,Roll_Number_of_Equivalent_Exam_passed,\

Equivalent_Exam_passed, Board_of_Equivalent_Exam_passed,
Single_Girl,\

Migration_Certificate, Admission_Number, Admission_Date)


values ({},'{}',{},{},\

'{}',{},'{}',{},'{}','{}','{}','{}','{}','{}','{}','{}','{}','{}','{}',{},'{}',{},'{}',{},'{}',\

'{}','{}',{},'{}','{}','{}',{},'{}','{}','{}',{},'{}','{}','{}',{},'{}','{}',\

'{}',{},'{}','{}','{}','{}','{}',{},{},{},'{}','{}','{}','{}',{},'{}')".format(Roll_Number,R
egister_Number,LOC_Serial_Number,
Page | 15
Year_Passed,School_Name,School_Number,Centre_Name,Centre_Num
ber,Candidate_Name,Mother_Name,Father_Name,Gender,Caste,Mino
rity,PWD_Status,Nationality,State,District,Address,Mobile_Number,Em
ail_ID,Aadhar_Number,Subject1,Subject1_Mark,Subject1_Code,Subject
1_Grade,Subject2,Subject2_Mark,Subject2_Code,Subject2_Grade,Subj
ect3,Subject3_Mark,Subject3_Code,Subject3_Grade,Subject4,Subject4
_Mark,Subject4_Code,Subject4_Grade,Subject5,Subject5_Mark,Subjec
t5_Code,Subject5_Grade,Subject6,Subject6_Mark,Subject6_Code,Subj
ect6_Grade,Total,Average,Result,Attempt,Annual_Income,Roll_Numbe
r_of_Equivalent_Exam_passed,Equivalent_Exam_passed,Board_of_Equ
ivalent_Exam_passed,Single_Girl,Migration_Certificate,Admission_Nu
mber,Admission_Date)

mycursor.execute(q)

con.commit()

print("Record is inserted Successfully.")

#--------------------------*UPDATION*-----------------------------

if ch == 'U' or ch == 'u':

print("Updation of an existing record of the Candidate.")

marks_names = input("Whether marks or names: ")

if marks_names=='names' or marks_names=='NAMES' or
marks_names=='Names':

roll = int(input("Enter Student's registration Number: "))

sn = input("Enter New student's Name: ")

mn = input("Enter New student Mother's Name: ")

fn = input("Enter New student Father's Name: ")

Page | 16
qry = '''update students set Candidate_Name = '{}' ,
Mother_Name = '{}' ,

Father_Name = '{}' where Roll_Number =


{}'''.format(sn,mn,fn,roll)

mycursor.execute(qry)

con.commit()

elif marks_names=='marks' or marks_names=='MARKS' or


marks_names=='Marks':

roll = int(input("Enter Student's registration Number: "))

sub1=input("Enter the Subject 1 of the student:",)

Subject1=sub1

subc1=input("Enter the Subject Code of Subject 1:",)

SubjectCode1=subc1.zfill(3)

sub2=input("Enter the Subject 2 of the student:",)

Subject2=sub2

subc2=input("Enter the Subject Code of Subject 2:",)

SubjectCode2=subc2.zfill(3)

sub3=input("Enter the Subject 3 of the student:",)

Subject3=sub3

subc3=input("Enter the Subject Code of Subject 3:",)

SubjectCode3=subc3.zfill(3)

sub4=input("Enter the Subject 4 of the student:",)

Subject4=sub4

Page | 17
subc4=input("Enter the Subject Code of Subject 4:",)

SubjectCode4=subc4.zfill(3)

sub5=input("Enter the Subject 5 of the student:",)

Subject5=sub5

subc5=input("Enter the Subject Code of Subject 5:",)

SubjectCode5=subc5.zfill(3)

sub6=input("Enter the Subject 6 of the student:",)

Subject6=sub6

subc6=input("Enter the Subject Code of Subject 6:",)

SubjectCode6=subc6.zfill(3)

s1=print("Name of the Subject 1:",Subject1)

sm1=float(input("Enter the New mark of the Subject 1: "))

smg1=input("Enter the New grade of the student of subject 1: ")

s2=print("Name of the Subject 2:",Subject2)

sm2=float(input("Enter the New mark of the Subject 2: "))

smg2=input("Enter the New grade of the student of subject 2: ")

s3=print("Name of the Subject 3:",Subject3)

sm3=float(input("Enter the New mark of the Subject 3: "))

smg3=input("Enter the New grade of the student of subject 3: ")

s4=print("Name of the Subject 4:",Subject4)

sm4=float(input("Enter the New mark of the Subject 4: "))

smg4=input("Enter the New grade of the student of subject 4: ")

Page | 18
s5=print("Name of the Subject 5:",Subject5)

sm5=float(input("Enter the New mark of the Subject 5: "))

smg5=input("Enter the New grade of the student of subject 5: ")

s6=print("Name of the Subject 6:",Subject6)

sm6=float(input("Enter the New mark of the Subject 6: "))

smg6=input("Enter the New grade of the student of subject 6: ")

total=sm1+sm2+sm3+sm4+sm5+sm6

avg=total/6

qry = '''update students set Subject1 = '{}',Subject1_Mark =


{},Subject1_Code = '{}',Subject1_Grade = '{}',

Subject2 = '{}',Subject2_Mark = {},Subject2_Code =


'{}',Subject2_Grade = '{}',

Subject3 = '{}',Subject3_Mark = {},Subject3_Code =


'{}',Subject3_Grade = '{}',

Subject4 = '{}',Subject4_Mark = {},Subject4_Code =


'{}',Subject4_Grade = '{}',

Subject5 = '{}',Subject5_Mark = {},Subject5_Code =


'{}',Subject5_Grade = '{}',

Subject6 = '{}',Subject6_Mark = {},Subject6_Code =


'{}',Subject6_Grade = '{}',

Total = {},Average = {} where Roll_Number =


{}'''.format(Subject1,sm1,SubjectCode1,smg1,Subject2,sm2,SubjectCod
e2,smg2,Subject3,sm3,SubjectCode3,smg3,Subject4,sm4,SubjectCode4
,smg4,Subject5,sm5,SubjectCode5,smg5,Subject6,sm6,SubjectCode6,s
mg6,total,avg,roll)

Page | 19
mycursor.execute(qry)

con.commit()

print("Record is updated Successfully.")

#--------------------------*SEARCHING*----------------------------

if ch == 'S' or ch == 's':

print("Searching an existing record of the Candidate.")

roll = input("Enter Student's Roll Number: ")

qry = "select * from students where Roll_Number = {} ".format(roll)

#print(qry)

mycursor.execute(qry)

print("Record is found Successfully.")

data = mycursor.fetchone()

count = mycursor.rowcount

print("Total No. of Record:",count)

for row in data:

print(row)

#--------------------------*DELETION*-----------------------------

if ch == 'D' or ch == 'd':

print("Deleting an existing record of the Candidate.")

roll = input("Enter Student's Roll Number: ")

qry = "delete from students where Roll_Number = {}".format(roll)

mycursor.execute(qry)

Page | 20
con.commit()

print("Student's Record is deleted Successfully.")

#---------------------------*EXIT*--------------------------------

if ch=='e' or ch=='E':

print("Exiting the Program.")

sys.exit(0)

exit

Page | 21
OUTPUT
1. Table Created Successfully

Page | 22
Page | 23
2. Insertion of Record

Page | 24
3. Updating a Record

Page | 25
4. Searching a Record

Page | 26
5. Deleting a Record

6. Exit

Page | 27
Records

Page | 28
BIBLIOGRAPHY

• Class XI and Class XII Textbook


• Class XI and Class XII Sumita Arora books
• Google Services

Page | 29

You might also like