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

SMS Project Guide

Uploaded by

kjxpk07
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)
3 views5 pages

SMS Project Guide

Uploaded by

kjxpk07
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

School Management System

Complete Project Guide — Class 12 CBSE Computer Science

■ Final Project Checklist

■■ Database & Core (MySQL)


■ Student table — name, roll no, class, contact
■ Marks table — subject-wise marks, unit tests, midterm
■ Attendance table — date-wise present/absent
■ Teacher table — name, subject, contact
■ Admission waitlist table

■■ OOP & Structure


■ Person base class — name, age, contact
■ Student class — inherits Person, has roll no, marks
■ Teacher class — inherits Person, has subject
■ Admin class — login, manage all records

■ Core SMS Features


■ Add / search / update / delete student
■ Add / view teacher records
■ Record subject-wise marks (UT1, UT2, Midterm, Final)
■ Mark daily attendance
■ Calculate attendance percentage
■ Generate class topper & subject-wise best student

■ File Handling
■ Export all student records to CSV
■ Generate individual report card as .txt file
■ Backup entire database to CSV with one command
■ Read student data from CSV to bulk-import

■ Data Structures
■ Stack — undo last added student entry
■ Queue — admission waitlist (enqueue/dequeue)
■ Linear search — find student by name
■ Binary search — find student by roll number (sorted list)
■ Bubble sort — sort students by marks

■■ Exception Handling
■ Invalid menu input
■ Duplicate roll number
■ File not found error
■ MySQL connection error
■ Empty database / no records found

■ Pandas Features
■ Load marks from CSV into DataFrame
■ Calculate mean, max, min per subject
■ Filter at-risk students (marks < 33 or attendance < 75%)
■ Export filtered data back to CSV

■ Matplotlib + Seaborn Features


■ Bar chart — class average per subject
■ Pie/donut chart — attendance (present vs absent)
■ Line graph — individual student marks trend (UT1 → UT2 → Final)
■ Seaborn heatmap — subject-wise marks for entire class
■ Highlight at-risk students in red on bar chart

■ Scikit-learn Features
■ Train Linear Regression model on marks + attendance
■ Predict final exam score for any student
■ Classify students — ■ Safe / ■ Warning / ■ At Risk
■ Show prediction confidence / accuracy score

■ Dashboard (The Wow Factor)


■ Single command opens full visual dashboard
■ All charts appear together in one window
■ At-risk students listed below charts
■ Top 3 rankers displayed

■ What to Learn & How

1. MySQL + Python
What to learn: Connect Python to MySQL, run queries from code
Time: Already know SQL — just learn connector syntax (2 hours)
Resource: Search "[Link] python tutorial" on YouTube — any 30 min video is enough
import [Link]
conn = [Link](
host="localhost", user="root",
password="", database="school"
)
cursor = [Link]()
[Link]("SELECT * FROM students")

2. Pandas
What to learn: DataFrame basics, read/write CSV, filter rows
Time: 3–4 hours
Resource: "Pandas in 1 hour" by Tech With Tim on YouTube
import pandas as pd
df = pd.read_csv("[Link]") # read
df[df["marks"] < 33] # filter
df["marks"].mean() # calculate
df.to_csv("[Link]", index=False) # save
print([Link]()) # display

3. Matplotlib
What to learn: Bar chart, pie chart, line graph, subplots
Time: 3–4 hours
Resource: "Matplotlib full tutorial" by Corey Schafer on YouTube
import [Link] as plt
[Link](subjects, averages) # bar chart
[Link](sizes, labels=labels) # pie chart
[Link](tests, marks) # line graph
[Link]()

4. Seaborn
What to learn: Just the heatmap — literally one function
Time: 1 hour
Resource: Just read Seaborn docs for heatmap — nothing else needed
import seaborn as sns
[Link](df, annot=True, cmap="RdYlGn") # that's it
[Link]()

5. Scikit-learn
What to learn: Linear Regression only — train, predict, score
Time: 4–5 hours (the most new stuff)
Resource: "Scikit-learn crash course" by freeCodeCamp on YouTube
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

X = df[["attendance", "ut1", "ut2"]] # input features


y = df["final_marks"] # what to predict

X_train, X_test, y_train, y_test = train_test_split(X, y)


model = LinearRegression()
[Link](X_train, y_train) # train
[Link]([[85, 72, 68]]) # predict
[Link](X_test, y_test) # accuracy

■■ Day-by-Day Build Plan

Day Task

Day 1 MySQL setup + OOP classes + core CRUD

Day 2 File handling + Stack/Queue + Exception handling

Day 3 Pandas integration + CSV features

Day 4 Matplotlib + Seaborn charts + Dashboard

Day 5 Scikit-learn predictor + Risk classifier

Day 6 Testing + cleaning code + project report

Total: 6 days. Done.

■ Final File Structure


school_management/

■■■ [Link] # Menu, entry point
■■■ [Link] # Person, Student, Teacher, Admin classes
■■■ [Link] # All MySQL queries
■■■ file_handler.py # CSV export, report card generator
■■■ data_structures.py # Stack, Queue, Search, Sort
■■■ [Link] # Pandas calculations
■■■ [Link] # All Matplotlib + Seaborn charts
■■■ [Link] # Scikit-learn ML model
■■■ [Link] # Combined dashboard window
■■■ school_db.sql # SQL file to create all tables
■ Final Viva Answer (Memorize This)

"My School Management System goes beyond basic CRUD — it uses Pandas for data analysis,
Matplotlib and Seaborn for a live performance dashboard, and Scikit-learn's Linear Regression to
predict student outcomes and flag at-risk students. The system covers OOP, file handling, data
structures, MySQL, and machine learning all in one project."

■ Complete CBSE Topic Coverage

Topic Class How to Include

Variables, I/O, operators 11 Basic user input/output

Conditionals & loops 11 Menu-driven program

Strings, Lists, Tuples, Dicts 11 Data storage & manipulation

Functions & recursion 11 Modular code + recursive search/sort

Modules (random, math, os) 11 Import and use in logic

File handling (text/CSV/binary) 12 Store records persistently

Exception handling 12 Try-except for invalid inputs/file errors

Stack & Queue using lists 12 Undo feature or queue system

OOP (classes, inheritance) 12 Model real-world entities

MySQL + Python 12 Backend database for all CRUD

SQL queries (JOIN, GROUP BY) 12 Reports and analytics

Class 12 CBSE Computer Science — School Management System Project Guide

You might also like