0% found this document useful (0 votes)
6 views59 pages

Project File

The document is a project file for a Computer Science project by Aditya Gupta from Guru Harkrishan Public School, detailing a School Management System developed in Python. It outlines the project's objectives, system features, functionalities, limitations, and includes a troubleshooting section for common issues. The project aims to streamline administrative tasks, enhance efficiency, and improve user experience for students and staff.

Uploaded by

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

Project File

The document is a project file for a Computer Science project by Aditya Gupta from Guru Harkrishan Public School, detailing a School Management System developed in Python. It outlines the project's objectives, system features, functionalities, limitations, and includes a troubleshooting section for common issues. The project aims to streamline administrative tasks, enhance efficiency, and improve user experience for students and staff.

Uploaded by

Mamta Gupta
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Guru Harkrishan Public

School
Kalkaji, New Delhi

PROJECT FILE
Computer Science (083)

2024-2025

Aditya
Gupta
12th A
1. Introduction to School
Management System
2. Objectives of the Project
3. Python Overview
4. Hardware and Software Requirements
5. Description of Modules and Functions
Used
6. System Features and Functionality
7. Key Concepts Demonstrated
8. Limitations of the System
9. Sample Output and Screenshots
10. Data Files Structure
11. Troubleshooting Common Issues
12. Conclusion
13. Bibliography
This is to certify that Aditya Gupta of Class-
12, has successfully completed the project
entitled as for the
session
2025-26, in partial fulfillment of the
requirements of the Senior School Certificate
Examination-2026.
The project was completed to satisfaction
and has been submitted as part of the
practical examination for Computer Science
(083).
I would like to express my special
thanks of gratitude to my teacher Mr.
Avash Kumar as well as our principal
Mam. Mrs. Bhavjeet Kaur who gave me
the golden opportunity to do this
wonderful project on the topic
, which also helped me
in doing a lot of research and I came to
know about so many new things I am
really thankful to them.
Secondly, I would also like to thank my
parents and friends who helped me a lot
in finalizing this project within the
limited time frame.

Aditya gupta
A is a software
application that allows students to apply
for admission to a school, track their
application status, and manage relevant
student data. This system can simplify the
administrative tasks of a school, enhance
efficiency, and improve the experience for
both students and administrative staff.
 Demonstrate mastery of file handling operations
including reading, writing, and updating CSV files
 Show proficiency with Python data structures
particularly lists and dictionaries for organizing
information
 Illustrate function modularity where each function
performs a specific, well-defined task
 Implement input validation and error handling to
create robust programs that handle
unexpected situations gracefully
 Apply string manipulation techniques for case-
insensitive searches and data formatting
 Utilize date and time handling through the datetime
module for automatic date capture and
validation

 Streamline administrative tasks that would be


time- consuming and error-prone when done
manually
 Provide automatic calculation of attendance
percentages eliminating manual computation
errors
 Enable quick information retrieval through
search functionality without scrolling
through complete lists
 Transform raw data into meaningful insights
through statistical reporting capabilities
 Create a user-friendly interface accessible to
users with limited technical expertise through
menu-driven design
 Maintain data integrity through duplicate ID
prevention and comprehensive validation checks
 Support decision-making by identifying patterns
such as students with low attendance requiring
intervention

provides comprehensive functionality for
reading from and writing to CSV files, with
[Link] creating objects that iterate over file
lines and [Link] creating objects that format
and write data properly

 creates ASCII tables from data


structures, producing beautifully formatted
tables with borders and proper alignment using
various style options through the tablefmt
parameter

 serves as the system initialization


routine, checking whether required CSV files exist
and creating them with appropriate headers if
missing
 requests input from users and
validates that input is not empty, implementing
a validation loop that continues prompting until
non-empty values are provided
 maintains data integrity by
preventing duplicate identification numbers, reading
through all records to verify uniqueness before
allowing new entries
 orchestrates the complete
process of adding new students, validating ID
uniqueness, collecting required information,
automatically capturing admission dates, and
appending records to the CSV file
 retrieves and displays all
student records in a formatted table with total
count, separating headers from data rows and
handling empty file scenarios
 demonstrates data
filtering capabilities through case-insensitive
matching on both student IDs and names,
collecting and displaying all matching
records with result counts
 allows modification of
existing records by reading entire files into memory,
locating specific
records, accepting new values, and writing modified
data back to files
 removes records while
implementing safety mechanisms through confirmation
prompts, filtering out specified records and
providing feedback on operation success
 parallel student
management functions for maintaining teaching
staff information separately
 handles recording
attendance for all students on specified dates,
validating date formats and attendance inputs
while creating complete audit trails
 generates comprehensive
statistics for specific students including total days,
present and absent counts, attendance percentages,
and warnings for low attendance
 provides aggregate statistics
grouped by class, calculating average attendance
percentages across all students in each class
 serves as the main control center,
displaying organized options, accepting user
choices, calling appropriate functions, and running
in continuous loops until exit
 Adding new students captures unique identification
numbers, names, classes, and automatically
records admission dates
 Viewing all students presents complete rosters in
formatted tables with clear column headers and
total enrollment counts
 Searching for students allows quick retrieval
without scrolling through long lists using case-
insensitive matching on IDs or names
 Updating student information addresses changing
data like class promotions or name corrections while
preserving IDs and admission dates
 Deleting students handles record removal with
confirmation requirements to prevent accidental
data loss

 Adding teachers maintains separate databases for


teaching staff with unique identification numbers,
names, and subject specializations
 Viewing teachers provides complete rosters with
subject assignments clearly displayed
 Preventing duplicate teacher IDs ensures each
teacher has unique identifiers in the system

 Marking attendance efficiently presents each


student's name for simple present or absent
input with validation
 Recording each attendance entry captures dates,
student IDs, and statuses for complete historical
tracking
 Validating dates ensures all entries follow consistent
YYYY- MM-DD formats for proper sorting and
comparison
 Generating student reports transforms raw
records into meaningful statistics including
attendance percentages and warnings for low
attendance
 Creating class-wise summaries provides aggregate
views helping identify systemic issues or patterns
across different classes

 Organizing functionality into logical menu groups


makes features easy to find and access
 Providing visual feedback symbols offers
immediate understanding of operation results
through checkmarks for success, crosses for errors,
information symbols for neutral messages, and
warnings for situations requiring caution
 Implementing confirmation prompts for
destructive operations prevents mistakes rather
than just handling them after occurrence
 Displaying current values when updating records
helps users verify they are modifying correct
records
 Opening files for reading demonstrates retrieving
previously stored information
 Using append mode for writing shows adding new
data while preserving existing content
 Employing write mode for updating illustrates
replacing file contents when making changes to
existing records
 Utilizing with statements for file operations
demonstrates proper resource management and
automatic cleanup
 Implementing error handling for file
operations shows awareness that files might
not exist or be inaccessible

 Working with [Link] and [Link] objects


handles the complexity of parsing and formatting
CSV data
 Separating headers from data rows shows
understanding of CSV file structure and consistent
handling
 Processing structured data in text format
demonstrates practical data storage
techniques

 Using lists extensively stores collections of


records in memory with nested list structures
representing tabular data
 Employing list comprehensions provides concise
ways to filter and transform data
 Utilizing dictionaries groups related data by keys
such as grouping students by class names
 Organizing programs into functions
demonstrates the principle of modularity where
each function performs one well-defined task
 Implementing function parameters and return values
shows how functions communicate with each
other
 Separating concerns through distinct function
sets for different management areas makes code
easier to modify

 Ensuring non-empty inputs through validation loops


prevents blank entries in databases
 Validating dates using try-except catches parsing
errors and ensures format consistency
 Checking for duplicate IDs represents complex
validation requiring comparison against existing
data

 Removing whitespace with strip method cleans user


inputs
 Converting to lowercase with lower method
enables case- insensitive searches
 Normalizing inputs with upper method ensures
consistency in stored values
 Formatting outputs with f-strings creates readable
displays with embedded variable values

 Using if-elif-else chains in menu functions directs


program flow based on user choices
 Employing conditional expressions provides
compact ways to choose values based on
conditions such as avoiding division by zero

 Implementing while loops creates continuous


program operation until users choose to exit
 Using for loops iterates over sequences of records
when processing files or marking attendance
 Combining loops with CSV readers provides efficient
ways to process each file record
 Calculating attendance percentages
demonstrates arithmetic operations with
proper order of operations
 Using sum function with generator expressions
counts records matching conditions
efficiently

 Implementing try-except blocks throughout


code demonstrates defensive
programming
 Anticipating potential problems creates more
robust programs providing better user
experiences when issues occur
 CSV files do not support concurrent access,
risking data corruption if multiple users access
simultaneously
 Lack of transactional capabilities means partial writes
could occur if programs crash during file
operations
 Reading entire files into memory becomes
impractical with very large numbers of records
 Plain text storage in CSV files allows anyone with file
access to view or modify contents directly

 No authentication mechanism allows anyone with


computer access to run programs and modify all
data
 Absence of different permission levels means all
users have complete access regardless of their
roles
 No audit trail tracking prevents determining who
made what changes and when
 Lack of data encryption leaves sensitive
information vulnerable to unauthorized
access

 No automatic backup mechanism risks permanent


data loss if files are accidentally deleted or
corrupted
 Inability to restore previous versions of records
means incorrect changes cannot be reversed
 No version control makes it impossible to track how
records changed over time
 Search functionality only supports ID or name
searches without advanced filtering
capabilities
 Basic reporting requires new functions for each
type of analysis needed
 No flexible query interface forces users to work
within predefined search and report options
 Cannot perform complex queries combining multiple
criteria without additional development

 Console-based interface is less intuitive than


graphical user interfaces
 No operation cancellation capability forces
users to complete operations even if
mistakes are noticed
 Lack of undo functionality makes all operations
immediately permanent
 Users must remember option numbers or repeatedly
refer to menus for navigation

 Limited validation beyond duplicate ID checking


allows questionable data values
 No constraints preventing orphaned records if related
data is deleted
 Cannot enforce referential integrity between related
records
 No standardization of data formats for fields
like class names

 Requiring attendance marking for all students


at once prevents individual student
processing
 No ability to update attendance after initial marking
makes corrections impossible
 No support for different types of absences such as
excused versus unexcused
 No handling of partial days when students are
present for only some periods
SOURCE CODE
 Problem indicates Python is not installed or not
added to system PATH
 Solution requires reinstalling Python
ensuring "Add Python to PATH" is checked
during installation

 Problem shows tabulate library is not installed


 Solution requires running pip install
tabulate from Command Prompt

 Problem occurs when special symbols


appear as question marks
 Solution involves running program from
terminal supporting UTF-8 such as Visual
Studio Code integrated terminal

 Problem happens when directory lacks


write permissions or files are open in
another program
 Solution requires closing programs that
might have CSV files open and ensuring write
permissions exist
 Problem suggests CSV files might be
corrupted or improperly formatted
 Solution involves deleting corrupted files to
allow program to create fresh versions or
manually fixing formatting issues

 Problem occurs when attendance status


is not recorded exactly as "Present" with
capital P
 Solution requires checking that attendance
marking saves values in correct case-
sensitive format
BIBLIOGRAPHY

You might also like