0% found this document useful (1 vote)
150 views

Student Performance Monitoring System Using Python (By SHIAVM MISHRA and SOMYA JAIN)

Uploaded by

shivammishracu
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
150 views

Student Performance Monitoring System Using Python (By SHIAVM MISHRA and SOMYA JAIN)

Uploaded by

shivammishracu
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Name of the School: School of computer science and engineering

Course Code: E2UC201C Course Name: Object Oriented Programming

Course Code: Course Name:

Student performance monitoring


system using python

Presented By:
Student Name:- Shivam Mishra
Guided By: Admission Number:- 23SCSE1180617
Student Name:- Somya Jain
Mr. Sonu Jha Admission Number:- 23SCSE1180614

Faculty Name: Mr. Sonu Jha


Introduction/Overview
The provided code is a student performance monitoring system designed specifically for Galgotias University. The system is built
using Python, an interpreted, high-level programming language with dynamic semantics. It utilizes the concept of object-oriented
programming (OOP) to model real-world entities into classes and objects.
The code comprises four classes: Student, Teacher, Parent, and University.

1. Student Class: This class represents a student and their associated attributes such as name, roll number, marks, and grade. It includes a
method to calculate a student's grade based on their marks.

2. Teacher Class: This class represents a teacher with attributes like the teacher's name and section.

3. Parent Class: This class represents a student's parents, containing their names.

4. University Class: This is a comprehensive class that represents the university. It maintains a list of students and includes methods for
adding a student, removing a student, displaying all students, and retrieving specific student details.

The main program creates an instance of the University class and provides a menu-driven interface to interact with the system.
The user can choose to add a student, display all students, remove a student, get detailed information about a specific student.
Problem Statement
The problem statement for the code provided is to create a software system that allows Galgotias University to
digitally manage and monitor student performance. The system is required to handle the following tasks:

1. Store each student's personal information, including their name, roll number, marks for various subjects, and
automatically calculate their grade based on those marks.
2. Maintain associated teacher information for each student, including the teacher's name and the section they teach.
3. Keep a record of each student's parents' names.
4. Provide functionality to add new student records to the system.
5. Allow the university staff to view all student records at once.
6. Enable the staff to remove a student's record from the system when necessary.
7. Offer the capability to retrieve and display detailed information for an individual student based on their name.
8. Ensure all interactions with the system are carried out through a user-friendly text-based menu in a command-line
interface.

The system needs to be efficient and reliable, allowing university staff to easily manage student data without
resorting to manual paperwork or spreadsheets, thus improving the overall process of student performance
tracking.
Technology Used
The technology used in this code is the Python programming language. Python is a high-level, interpreted language known for its
ease of readability and concise syntax, making it a popular choice for both beginners and experienced programmers. Here's a
breakdown of the technological aspects of this code:

1. Python Language: The entire code is written in Python, which is widely used for a variety of applications, from web development to
data analysis and machine learning.

2. Object-Oriented Programming (OOP): The code uses the OOP paradigm, which is one of the key features supported by Python. OOP
allows developers to create classes and objects, enabling modeling of real-world entities and relationships in a programmatic way.

3. Classes and Objects: The code defines classes (Student, Teacher, Parent, University) and creates instances of these classes, which are
objects. Each class has its own attributes and methods that operate on the data encapsulated within the objects.

4. Encapsulation: Data and methods that operate on the data are bundled together within classes, showcasing encapsulation, one of the
main principles of OOP. This allows for the internal representation of an object to be hidden from the outside, only exposing a defined
interface.
Technology Used cont…
5. Inheritance (Implied): While not explicitly used in the provided code, Python's OOP capabilities include inheritance,
where classes can inherit attributes and methods from other classes.

6. Command-Line Interface (CLI): The code operates through a command-line interface, taking input from the user and
providing text-based output. Python's built-in input and print functions are used for this interaction.

7. Procedural Logic: The while True loop and conditional statements in the main program follow a procedural
programming approach, guiding the program's flow of execution based on user input.

8. Dynamic Typing: Python is dynamically typed, which means that the type for a variable is decided at runtime, not in
advance. This feature allows for more flexibility in how variables are used.

9. Built-in Functions: The code utilizes built-in Python functions like input, print, int, and sum, which are part of Python's
extensive standard library that provides a range of functionality out of the box.

The combination of these technological features makes Python a powerful and flexible choice for creating the
student performance monitoring system presented in the code.
Algorithm
1. Define the Student class with:
- An initialization method that takes name, roll_number, and marks as parameters and stores them.
- A method calculate_grade that calculates the grade based on the average percentage of marks.
2. Define the Teacher class with:
- An initialization method that takes name and section as parameters and stores them.
3. Define the Parent class with:
- An initialization method that takes mother_name and father_name as parameters and stores them.
4. Define the University class with:
- An initialization method that takes university_name as a parameter and initializes an empty list called students.
- A method add_student that creates instances of Student, Teacher, and Parent with the provided details and appends a
tuple of these instances to the students list.
- A method get_student_details that iterates through the students list and returns the details of a student if the student's
name matches the input parameter.
- A method display_all_students that prints the names, roll numbers, marks, and grades of all students in the students list.
- A method remove_student that removes a student from the students list based on a matching name.
Algorithm Cont…
5. Initialize an instance of the University class named university with "Galgotias University" as the university name.
6. Start an infinite loop presenting a menu with options to the user:
- If the user chooses option 1:
- Prompt the user for student details including name, roll number, marks for each subject, teacher's name, section,
mother's name, and father's name.
- Call the add_student method of the university instance to add this student to the university.
- If the user chooses option 2:
- Call the display_all_students method of the university instance to show all students.
- If the user chooses option 3:
- Prompt the user for the student's name to be removed.
- Call the remove_student method of the university instance to remove the student.
- If the user chooses option 4:
- Prompt the user for the student's name whose details are to be retrieved.
- Call the get_student_details method of the university instance and print the returned details.
Algorithm cont…
- If the user chooses option 5:
- Break out of the loop, effectively exiting the program.
- If the user chooses an invalid option:
- Print an error message and present the menu again.

7. Repeat the loop until the user decides to exit (chooses option 5).
Flowchat
Execute the get_student_details method and
loop back
Start
End
Is the choice 5 (Exit)?
Print "Invalid choice. Please - If yes,
try again." and loop back to - If no
step 2.
Display Menu: Show the options to the user:
- Add Student
- Display All Students
- Remove Student
- Get Student Information
- Exit

User Input: The user enters their choice.

Execute the display_all_students Execute the remove_student


Execute the add_student method
method and loop back. method and loop back

Is the choice 1
(Add Student)?
- If yes Is the choice 2
- If no (Display All
Is the choice 3 Is the choice 4 (Get
Students)?
(Remove Student)? Student Information)?
- If yes - If yes
- If yes.
- If no - If no
- If no
NOW EXECUTE : Code With Output
NOW EXECUTE : Code With Output
NOW EXECUTE : Code With Output
NOW EXECUTE : Code With Output
Conclusion

Overall, The Student Performance Monitoring System provides a basic but robust platform for managing
student academic records within a university setting. The code is modular and leverages OOP principles,
making it adaptable and scalable for future enhancements such as database integration, web-based
interfaces, or additional features like attendance tracking, performance analytics, and report
generation.
GREET

Thank You

You might also like