Micro Project Report
Title: Student Management System (SMS) in Python
Course: Programming Language — Python (Diploma in Computer Engineering)
Submitted by: [Your Name]
Enrollment No.: [________]
Semester: [________]
Department: Computer Engineering
Guide: [Instructor Name]
Year: 2025
Certificate
This is to certify that the project titled 'Student Management System (SMS) in Python)' is an original
work carried out by [Your Name] for the partial fulfillment of the Diploma in Computer Engineering.
Guide: ____________________ Date: __/__/____ Head of Department: ____________________
Acknowledgements
I would like to express my sincere gratitude to my project guide, faculty members, and classmates
for their support and guidance during this project.
Abstract
This micro project implements a simple Student Management System (SMS) using Python. It
demonstrates programming constructs, OOP, file handling, and testing, covering CO1–CO5.
1. Introduction
Student Management System (SMS) is a console-based Python application that allows users to
add, update, delete, search, and list student records, demonstrating key diploma-level programming
concepts.
2. Course Outcomes (CO) Mapping
CO1 — Understand fundamental programming constructs
CO2 — Apply OOP and data structures
CO3 — Develop problem-solving programs
CO4 — Use standard libraries and file handling
CO5 — Test, document, and present programs
3. Project Overview
Objectives:
1. Implement CLI-based Student Management System.
2. Store student data persistently in CSV.
3. Provide CRUD operations.
4. Demonstrate validation and modular design.
4. System Design
Modules:
- [Link]: CLI and flow
- [Link]: Student class
- [Link]: File handling
- [Link]: CRUD logic
- [Link]: Validation
Data Model:
student_id, name, age, gender, grade, email, added_on
5. Implementation (Code Samples)
[Link]
from dataclasses import dataclass
from datetime import datetime
@dataclass
class Student:
student_id: str
name: str
age: int
gender: str
grade: str
email: str
added_on: str = [Link]().isoformat()
[Link]
import csv
from models import Student
def load_students():
with open('[Link]') as f:
reader = [Link](f)
return list(reader)
[Link]
while True:
print('1. Add 2. List 3. Exit')
ch = input('Choice: ')
if ch == '1': add_student()
elif ch == '2': list_students()
else: break
6. Sample Runs and Test Cases
1. Add Student
2. Duplicate ID check
3. Search by ID
4. Update
5. Delete
6. File handling.
7. Conclusion
This project demonstrates core Python skills and fulfills CO1–CO5 outcomes. It shows modular
design, OOP, and persistence.
8. References
• Python Official Docs
• csv module documentation
• Dataclasses in Python 3.7+