MINI PROJECT REPORT ON
Student Record System
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE AWARDS OF THE DEGREE OF
BACHELOR OF ENGINEERING
Submitted by
SHAIKH MOHD HARIS 72454699F
IMRAN AHMED 72454670H
MD SAMIULLAH 72454681C
MOHAMMAD AWAIS 72265988B
SHAHA ADNAN YASIN 72454658J
Submitted to
Miss. Misbha Kausar
DEPARTMENT OF COMPUTER ENGINEERING
Academic Year 2024-25
1
VISION
To build strong research and learning environment producing globally
competent professionals and innovators who will contribute to the
betterment ofthe society.
MISSION
• To create and sustain an academic environment Conducive to the
highest level of research and teaching.
• To provide state-of-the-art laboratories which will be up to date with
the new developments in the area of computer engineering.
• To organize competitive event, industry interactions and global
collaborations in view of providing a nurturing environment for
students to prepare for a successful career and the ability to tackle
lifelong challenges in global industrial needs.
• To educate students to be socially and ethically responsible citizens I
view of national and global development.
2
CERTIFICATE
This is to certify that,
SHAIKH MOHD HARIS 72454699F
IMRAN AHMED 72454670H
MD SAMIULLAH 72454681C
MOHAMMAD AWAIS 72265988B
SHAHA ADNAN YASIN 72454658J
Of Second Year, Computer Engineering, Maulana Mukhtar Ahmad
Nadvi Technical Campus, Malegaon have completed the Mini-Project
work satisfactorily in the course of DSA [210256] for the Academic Year
2024-25 as prescribed in the Curriculum.
Place: MALEGAON
Date:
Subject in-charge HOD Principal
Miss. Misbah kausar Dr. Salman Baig Dr. Aqueel Ahmad Shah
3
INDEX
Topic Page No
INTRODUCTION 1
LITERATURE SURVEY 2
METHODOLOGY 4
RESULTS AND DISCUSSION 7
CONCLUSION 11
REFERENCES 12
4
INTRODUCTION
A Student Management System is a software application designed to manage and organize
student-related information in a structured and efficient way. It allows easy handling of student
records such as names, roll numbers, and marks. This system helps educational institutions
maintain up-to-date student data, track academic performance, and perform quick operations
like adding, searching, sorting, and deleting records.
In this mini project, the Student Management System is implemented using Python with the
help of Data Structures and Algorithms (DSA) such as linked lists, sorting algorithms, and
searching algorithms. The use of DSA ensures the system is efficient and scalable as the
number of student records grows.
This project is ideal for learning how core programming concepts and DSA techniques are
applied in real-world problem solving.
5
LITERATURE SURVEY
1. Introduction
A Student Management System (SMS) is a software application used by educational
institutions to manage student data efficiently. It helps in automating administrative tasks such
as registration, attendance, examination management, grading, and communication. As
education evolves toward digitalization, numerous research efforts and systems have been
proposed and implemented to enhance the management and tracking of student-related
activities.
2. Review of Existing Systems
[1] Manual vs. Automated Systems
Earlier, institutions relied on manual record-keeping using files and registers, which was
time-consuming, error-prone, and inefficient. Studies such as those by Saini et al. (2016)
highlighted the transition from manual systems to computerized SMS, demonstrating
significant improvements in data accuracy and accessibility.
[2] Web-Based Student Management Systems
Research by Kumar and Thomas (2017) proposed a web-based SMS that allowed real-time
access to student records for teachers, students, and administrators. This model emphasized
multi-user access and security features using role-based permissions. It reduced paperwork and
improved communication.
[3] Mobile-Based Solutions
With the rise of smartphones, Mehta et al. (2018) explored Android-based SMS applications.
Their study showed how mobile platforms increased convenience for teachers to mark
attendance and send announcements instantly. It also helped parents stay informed about their
child's performance.
[4] Cloud Integration
Cloud-based SMS was studied by Rathod and Jha (2019), who implemented a system using
Google Firebase. Their findings demonstrated the scalability and reliability benefits of using
cloud infrastructure. These systems also simplified data backups and enabled remote access for
users.
[5] Use of AI and Analytics
Recent literature, such as Deshmukh et al. (2021), discussed integrating AI into SMS for
6
predicting student performance and identifying at-risk students using data analytics. This
proactive approach helps institutions to provide timely support and improve overall academic
outcomes.
3. Features Commonly Implemented
Across various studies, the following features were most commonly integrated into SMS:
● Student registration and profile management
● Attendance tracking
● Exam scheduling and marks entry
● Grade reporting and transcripts
● Notifications and announcements
● Fee management
● Parent-teacher communication
4. Challenges Highlighted in Literature
Several challenges were identified in implementing SMS:
● Data security and privacy issues
● Integration with legacy systems
● Lack of technical infrastructure in rural areas
● User resistance and training requirements
7
METHODOLOGY
The Student Management System is developed using the Python programming language and is
structured to apply fundamental Data Structures and Algorithms (DSA) for efficient data
handling. The following steps describe the methodology used in building this project:
1. Requirement Analysis
● Identify key operations: Add, Display, Search, Sort, and Delete student records.
● Determine the structure of student data: Roll Number, Name, and Marks.
2. System Design
● Use the Object-Oriented Programming (OOP) approach to design a Student class to
store individual student data.
● Create a StudentManagementSystem class to manage all operations and records.
3. Data Structure Selection
● Linked List is used to store student records dynamically.
○ Each student node links to the next, allowing efficient addition and deletion.
● List (Array) is used for sorting and binary searching by converting the linked list into a
temporary array for performance.
4. Algorithm Implementation
● Adding Students: Nodes are added at the end of the linked list.
● Displaying Students: Traverse the linked list and print each student record.
● Sorting Students: Use Bubble Sort on a list of students (converted from the linked list)
to sort based on marks.
● Searching Students: Use Binary Search after sorting by roll number.
● Deleting Students: Traverse the linked list and remove the node with the matching roll
number.
8
5. Testing and Validation
● The system is tested with multiple student entries.
● Edge cases like duplicate roll numbers, empty lists, or invalid input are checked and
handled appropriately.
6. User Interaction
A simple command-line menu is created to let the user choose operations interactively.
● Inputs are taken using input() and results are printed for clarity.
9
RESULTS AND DISCUSSION
CODE:
class Student:
def __init__(self, roll_no, name, marks):
self.roll_no = roll_no
[Link] = name
[Link] = marks
[Link] = None # For linked list
class StudentManagementSystem:
def __init__(self):
[Link] = None # Head of linked list
def add_student(self, roll_no, name, marks):
new_student = Student(roll_no, name, marks)
if not [Link]:
[Link] = new_student
else:
current = [Link]
while [Link]:
current = [Link]
[Link] = new_student
print(f"Student {name} added successfully.")
def display_students(self):
if not [Link]:
print("No students found.")
return
current = [Link]
print("\nStudent Records:")
while current:
print(f"Roll No: {current.roll_no}, Name: {[Link]}, Marks:
{[Link]}")
current = [Link]
10
def get_all_students(self):
# Returns a list of students for sorting/searching
students = []
current = [Link]
while current:
[Link](current)
current = [Link]
return students
def sort_by_marks(self):
students = self.get_all_students()
n = len(students)
for i in range(n):
for j in range(0, n-i-1):
if students[j].marks > students[j+1].marks:
students[j], students[j+1] = students[j+1], students[j]
print("\nStudents sorted by marks:")
for s in students:
print(f"Roll No: {s.roll_no}, Name: {[Link]}, Marks: {[Link]}")
def search_by_roll(self, roll_no):
students = self.get_all_students()
[Link](key=lambda x: x.roll_no) # Make sure it's sorted before binary
search
low = 0
high = len(students) - 1
while low <= high:
mid = (low + high) // 2
if students[mid].roll_no == roll_no:
s = students[mid]
print(f"\nFound: Roll No: {s.roll_no}, Name: {[Link]}, Marks: {[Link]}")
return
elif students[mid].roll_no < roll_no:
low = mid + 1
else:
high = mid - 1
print("Student not found.")
11
def delete_student(self, roll_no):
current = [Link]
prev = None
while current:
if current.roll_no == roll_no:
if prev:
[Link] = [Link]
else:
[Link] = [Link]
print(f"Student with Roll No {roll_no} deleted.")
return
prev = current
current = [Link]
print("Student not found.")
# Run the system
def main():
sms = StudentManagementSystem()
while True:
print("\n===== Student Management System =====")
print("1. Add Student")
print("2. Display Students")
print("3. Sort Students by Marks")
print("4. Search by Roll No")
print("5. Delete Student")
print("6. Exit")
choice = input("Enter choice: ")
if choice == '1':
roll = int(input("Enter Roll No: "))
name = input("Enter Name: ")
marks = float(input("Enter Marks: "))
sms.add_student(roll, name, marks)
elif choice == '2':
sms.display_students()
elif choice == '3':
sms.sort_by_marks()
elif choice == '4':
12
roll = int(input("Enter Roll No to search: "))
sms.search_by_roll(roll)
elif choice == '5':
roll = int(input("Enter Roll No to delete: "))
sms.delete_student(roll)
elif choice == '6':
print("Exiting program.")
break
else:
print("Invalid choice.")
if __name__ == "__main__":
main()
OUTPUTS:
13
14
15
DISCUSSION
The Student Management System developed in this project successfully demonstrates how
core concepts of Data Structures and Algorithms (DSA) can be applied to real-world
problems. The system handles key operations such as adding, searching, sorting, displaying,
and deleting student records efficiently using appropriate data structures.
One of the main highlights of this system is the use of a linked list for storing student
records dynamically. This approach allows the system to grow without a predefined size,
unlike arrays, and makes deletion operations more efficient. The decision to convert the linked
list into a regular Python list for sorting and searching allows us to use standard algorithms like
Bubble Sort and Binary Search, making the project both educational and practical.
This project also helps in understanding the trade-offs between different data structures:
● Linked lists are better for insertion and deletion.
● Arrays (lists) make sorting and searching easier but are less flexible in size.
Moreover, the simple menu-driven interface makes it easy to interact with the system and
test each function. Although the system is designed for educational purposes, it forms a good
foundation for building more advanced applications such as:
● Web-based student portals
● Database-backed management systems
● Integration with real-time attendance and grading systems
In conclusion, this project not only fulfills its objectives but also gives valuable hands-on
experience with Python, object-oriented design, and DSA implementation. It provides a strong
base for expanding into more complex and feature-rich systems in the future
16
CONCLUSION
The Student Management System project successfully demonstrates the practical application
of Data Structures and Algorithms (DSA) in solving real-world problems using Python. It
provides a simple yet effective way to manage student records with key functionalities such as
adding, displaying, searching, sorting, and deleting data.
By using a linked list, the system allows dynamic memory management and efficient record
manipulation. The implementation of Bubble Sort and Binary Search reinforces algorithmic
thinking and improves the performance of operations like sorting and searching.
This project not only meets the objectives of student data management but also enhances the
understanding of core programming concepts and DSA principles. It serves as a solid
foundation for future enhancements, such as database integration, GUI development, or
web-based access.
In summary, the project is a valuable learning tool and a stepping stone towards building more
advanced and scalable student management solutions.
17
REFERENCES
[1] Francis Galton, “Personal identification and description,” In Nature, pp. 173-177, June 21, 1888
[2] W. Zaho, “Robust image based 3D face recognition,” Ph.D. Thesis, Maryland University, 1999.
[3] R. Chellappa, C.L. Wilson and C. Sirohey, ”Human and machine recognition of faces: A survey,” Proc.
IEEE, vol. 83, no. 5, pp. 705- 740, may 1995.
[4] T. Fromherz, P. Stucki, M. Bichsel, “A survey of face recognition,” MML Technical Report, No 97.01,
Dept. of Computer Science, University of Zurich, Zurich, 1997.
[5] T. Riklin-Raviv and A. Shashua, “The Quotient image: Class based recognition and synthesis under
varying illumination conditions,” In CVPR, P. II: pp. 566-571,1999.
[6] G.j. Edwards, T.f. Cootes and C.J. Taylor, “Face recognition using active appearance models,” 2020.
[7] Attwood, T.K., Parry-Smith, D.J. Introduction to Bioinformatics 1999 Addison Wesley
Longman. [8] D. Impedovo, G. Pirlo, and R. Plamondon, “Handwritten signature verification: New
advancements and open issues,” in 2012 International Conference on Frontiers in Handwriting
Recognition, Sept 2012, pp. 367–372.
[9] H. Lei and V. Govindaraju, “A comparative study on the consistency of features in online
signature verification,” Pattern Recogn. Lett., vol. 26, no. 15, pp. 2483–2489, Nov. 2005. [10] F. J.
Zareen and S. Jabin, “A comparative study of the recent trends in biometric Face verification,” in
2013 Sixth International Conference on Contemporary Computing (IC3), Aug 2013, pp. 354–358.
[11] L. Wiskott and C. von der Malsburg, “Recognizing faces by dynamic link matching,” Neuroimage, vol.
4, pp. 514-518, 2020.
[12] T. Sim and T. Kanade, “Combing models and exemplars for face recognition: An illuminating example,”
In Proceeding Of Workshop on Models Versus Exemplars in Computer Vision, CUPR 2001.
18