A command-line Student Management System developed in Python as part of my Programming Fundamentals learning journey.
The application enables users to perform CRUD (Create, Read, Update, Delete) operations on student records through a simple menu-driven interface while storing data persistently using CSV files. This project was built to strengthen my understanding of Python fundamentals, file handling, and structured programming.
- β Add Student Records
- π View All Students
- π Search Students by Roll Number
- βοΈ Update Student Information
- β Delete Student Records
- πΎ Store Data Permanently Using CSV File Handling
- Python
- CSV Module
- File Handling
This project helped strengthen my understanding of:
- Functions
- Loops
- Conditional Statements
- Lists
- Dictionaries
- User Input Handling
- File Handling
- CSV Data Management
The system stores student records using:
- A list to manage multiple student records.
- A dictionary to represent each individual student's information.
Each student record contains:
- Name
- Roll Number
- Marks
- Grade
The application uses Python's built-in CSV module for persistent data storage.
- Existing student data is loaded from the CSV file when the program starts.
- Users can add, search, update, or delete student records.
- Any changes are automatically saved back to the CSV file.
- The updated records are available the next time the application is launched.
student-management-system/
β
βββ main.py
βββ students.csv
βββ README.md
βββ screenshots/
The main menu allows users to access all available features, including adding, viewing, searching, updating, and deleting student records.
Calculates the student's grade based on the marks entered.
Writes student records to the CSV file, ensuring data persists between program executions.
Loads existing student records into memory when the application starts.
Implements the menu-driven interface and handles the addition of new student records.
Displays all student records and searches for a student using their roll number.
Allows users to modify the information of an existing student.
Removes a selected student record and updates the CSV file.
Potential enhancements include:
- GUI-based interface
- Database integration
- Login and authentication system
- Advanced search and filtering
- Improved input validation
Through this project, I gained practical experience in:
- Writing modular Python programs
- Managing structured data
- Working with CSV files
- Implementing CRUD operations
- Improving code organization and readability
Muhammad Abdullah
BSCS Student at COMSATS University Islamabad
GitHub: https://github.com/abdullahcodes-dev
Feedback, suggestions, and improvements are always welcome.