0% found this document useful (0 votes)
9 views5 pages

Project 5 - PEN Management System

Pennn

Uploaded by

asiff.ansari0612
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

Project 5 - PEN Management System

Pennn

Uploaded by

asiff.ansari0612
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

AIR FORCE SCHOOL JORHAT

INFORMATICS PRACTICES (065)


PARTIAL PRACTICAL PROJECT FOR XII - AISSCE 2025
PROJECT SPECIFICATION AND SYNOPSIS
PEN (Permanent Education Number) Management System

1. Title: PEN (Permanent Education Number) Management System Using Python,


Pandas, Matplotlib, and MySQL

2. Objective:

The aim of this project is to design a PEN Management System that helps in managing and
tracking the academic records of students using a unique Permanent Education Number
(PEN). Each student is assigned a PEN, which serves as a unique identifier throughout their
educational journey. This system will enable schools or educational institutions to manage
student enrollments, course assignments, academic performance, and generate various
performance reports using Python for logic, Pandas for data handling, Matplotlib for visual
reporting, and MySQL for data storage.

3. Project Description:

The PEN Management System is a menu-driven application designed to manage students’


academic data linked to a unique Permanent Education Number (PEN). This system allows
administrators to enroll students, assign them courses, record academic results, and view
performance reports. Students can be tracked through their academic journey using their
unique PEN. The system also offers visual data analysis of student progress and overall class
performance using Matplotlib, while Pandas provides efficient data manipulation. MySQL
is used for backend storage of student, course, and performance records.

4. Technology Tools:

 Frontend: Python (Menu-based interface)


 Backend: MySQL (to store student, course, and performance records)
 Data Handling: Pandas (for managing and analyzing student data)
 Data Visualization: Matplotlib (for visualizing performance data and trends)
 Database Connectivity: MySQL Connector for Python (to communicate with the
database)

5. Features:

 Student Registration: Add new students to the system and assign them a unique
Permanent Education Number (PEN).
 Course Enrollment: Assign students to courses and record their academic
performance.
 Academic Performance Tracking: Record and manage students' grades, attendance,
and other performance metrics.
 Admin Panel: Allows administrators to manage student data, courses, instructors,
and generate performance reports.
 Reporting and Analytics: Visualize students’ academic performance and class trends
using Matplotlib to generate graphs and charts.
6. Functional Requirements:

 Student Functions:
o Register a new student and assign a unique PEN.
o View courses and academic records linked to the student's PEN.
o Track student performance over time.
 Admin Functions:
o Add or update student details (name, address, date of birth).
o Assign students to courses and record grades.
o Generate reports on individual student performance, class performance, and
overall school performance using Matplotlib.
o Manage class, instructors, and academic schedules.

7. Non-Functional Requirements:

 Performance: The system should be able to handle a large number of students,


courses, and performance data efficiently.
 Scalability: It should be scalable to accommodate new courses, students, and
academic years.
 Security: Admin access should be restricted with secure login, and students' personal
and academic data should be protected.

Suggested Menus for the PEN Management System:

1. Main Menu:

 Register Student
o Input student details (name, age, gender, address, date of birth) and generate a
unique PEN.
 Assign Class to Students
o Select a student using the PEN and enroll them in available class.
 Record Academic Performance
o Select a class and input the student’s grades, attendance, and other
performance data.
 View Student Records
o Input the student’s PEN to view their complete academic history, including
enrolled class and performance.
 Admin Login
o Access additional administrative functionalities by logging in as an admin.

2. Admin Menu:

 Manage Classes
o Add, update, or remove class (class name, description, credits).
 Manage Instructors
o Assign instructors to class and update their details.
 Generate Performance Reports
o Generate individual and class-wide performance reports, including grades,
attendance, and progress.
o Visualize data trends using Matplotlib (e.g., student progress, etc).
 Export/Import Data
 User & Password Management

Suggested Database Design and Table Details:

1. Table: students

This table stores student details, including their unique PEN.

Column
Data Type Constraints Description
Name
pen
PRIMARY KEY, Unique Permanent Education
VARCHAR(10)
UNIQUE Number (PEN) for each student.
student_name VARCHAR(100) NOT NULL Name of the student.
dob DATE NOT NULL Date of birth of the student.
gender ENUM('M', 'F') NOT NULL Gender of the student.
address VARCHAR(255) NOT NULL Student's address.
phone VARCHAR(15) NOT NULL Contact number of the student.

2. Table: Class

This table stores information about the courses offered by the educational institution.

Column
Data Type Constraints Description
Name
class_id
PRIMARY KEY,
INT Unique ID for each class.
AUTO_INCREMENT
class_name VARCHAR(100) NOT NULL Name of the class.
description TEXT Description of the course.
credits
Number of credits awarded
INT NOT NULL
for completing the course.

3. Table: enrollments

This table stores the class enrollment data for each student.

Column Name Data Type Constraints Description


enrollment_id
PRIMARY KEY, Unique ID for each
INT
AUTO_INCREMENT enrollment.
FOREIGN KEY REFERENCES The PEN of the
pen VARCHAR(10)
students(pen) student.
FOREIGN KEY REFERENCES The course in which
class_id INT
courses(course_id) the student is enrolled.
enrollment_date
Date of course
DATE NOT NULL
enrollment.
4. Table: performance

This table stores the academic performance of each student in their respective courses.

Column Name Data Type Constraints Description


performance_id INT
PRIMARY KEY, Unique ID for each
AUTO_INCREMENT performance record.
FOREIGN KEY REFERENCES The PEN of the
pen VARCHAR(10)
students(pen) student.
FOREIGN KEY REFERENCES The course related to
class_id INT
courses(course_id) the performance.
grade
Grade awarded to the
CHAR(2) NOT NULL
student in the course.
attendance
DECIMAL(5, Attendance percentage
NOT NULL
2) in the course.

5. Table: instructors

This table stores the details of the instructors who teach the courses.

Column Name Data Type Constraints Description


instructor_id
PRIMARY KEY, Unique ID for each
INT
AUTO_INCREMENT instructor.
instructor_name VARCHAR(100) NOT NULL Name of the instructor.
qualification
Qualification of the
VARCHAR(100) NOT NULL
instructor.
phone
Contact number of the
VARCHAR(15) NOT NULL
instructor.

Data Handling with Pandas

 Student Records DataFrame: Using Pandas, all the students' data will be handled in
a DataFrame for efficient processing and querying (e.g., searching students by their
PEN or name).
 Course Enrollment DataFrame: This will be used to manage course enrollment
data, filter by class or student, and track academic performance before committing to
the database.
 Performance Analysis: A Pandas DataFrame will be used to analyze and
manipulate academic data for students, which can be visualized using Matplotlib.

Visual Reporting with Matplotlib

 Student Performance Reports: Matplotlib will be used to generate bar charts, line
graphs, or pie charts to represent student performance trends, grades, and attendance
statistics.
 Class Performance Analysis: Graphs can show the performance distribution across
different classes, average grades, or attendance rates.
 Attendance Reports: A bar graph showing the attendance percentages of all students
in a particular course or across courses.

Conclusion

The PEN Management System project introduces students to the practical applications of
database management and data visualization in a real-world setting. By working with this
project, students learn essential programming and data-handling skills through Python and
MySQL. They also explore the basics of data science by using Pandas for data manipulation
and Matplotlib for graphical reporting.

This project is a valuable learning experience as it highlights the importance of organized


data storage and analysis, particularly in educational institutions where accurate record-
keeping is crucial. Students gain a fundamental understanding of how a database-driven
application can simplify data management, improve data accessibility, and provide insightful
visualizations. In conclusion, the PEN Management System helps students appreciate how
technology can enhance educational administration, making data handling more efficient and
user-friendly.

Good luck with your project!

You might also like