💻 Computer Science Project Title: Automated Student Attendance Management System for Schools
Stage 1: Problem Identification
📌 Problem Statement:
Schools often face issues with tracking daily student attendance manually, leading to time wastage,
human error, and a lack of accurate records. This project aims to build a simple Python-based program
that automates student attendance, making it easier for teachers to record and review attendance data.
🎯 Design Specifications:
Should record attendance for each student
Store the date and status (Present/Absent)
Display daily and total attendance per student
Must be easy to use in a classroom setting
Must run offline using Python terminal
Stage 2: Investigation of Related Ideas
✅ Idea 1: Manual Register Book
Advantages:
Familiar to all teachers
No electricity needed
Inexpensive
Disadvantages:
Prone to human error
Time-consuming
Difficult to summarize records
✅ Idea 2: Google Forms or Sheets
Advantages:
Cloud-based and accessible
Easy to share
Some automation possible
Disadvantages:
Requires internet
Students can submit multiple entries
Requires Google account setup
✅ Idea 3: Python-Based Console App
Advantages:
Fully offline
Customizable by school
Beginner-friendly Python practice
Disadvantages:
No visual interface
Needs basic computer knowledge
Requires Python environment
Stage 3: Generation of Ideas
💡 Solution 1: Python Console App + CSV File
Advantages:
Saves attendance to file
Easy to update and read
Can show summaries
Disadvantages:
Not visual (GUI needed for improvement)
Only basic formatting
CSV files can be edited manually (less secure)
💡 Solution 2: GUI App Using Tkinter
Advantages:
User-friendly interface
Dropdowns for class, student, status
Click buttons instead of typing
Disadvantages:
More complex to build
Needs graphics knowledge
Slower performance on old computers
💡 Solution 3: Web App (HTML + Flask)
Advantages:
Accessible from any device in the network
Clean interface
Can be extended with login features
Disadvantages:
Requires web development knowledge
Needs hosting or LAN
Takes more time
Stage 4: Development of Selected Idea
✅ Chosen Idea: Python Console App with CSV File
⚙️Development Plan:
1. Take user input for:
Date
Class name
Student name
Status (Present/Absent)
2. Save each entry in a CSV file as:
Date, Class, Student Name, Status
3. Show attendance summary by:
Student
Day
Class
🧾 Sample Python Code:
Import csv
From datetime import datetime
Def mark_attendance():
Class_name = input(“Enter Class (e.g., Grade 6): “)
Student = input(“Enter Student Name: “)
Status = input(“Enter Status (P/A): “).upper()
Date = datetime.now().strftime(“%Y-%m-%d”)
With open(“attendance.csv”, mode=’a’, newline=’’) as file:
Writer = csv.writer(file)
Writer.writerow([date, class_name, student, status])
Print(“Attendance recorded for”, student)
Def view_attendance():
Print(“\n--- Attendance Records ---“)
With open(“attendance.csv”, mode=’r’) as file:
Reader = csv.reader(file)
For row in reader:
Print(row)
# Simple menu
While True:
Print(“\n1. Mark Attendance\n2. View Attendance\n3. Exit”)
Choice = input(“Choose an option: “)
If choice == ‘1’:
Mark_attendance()
Elif choice == ‘2’:
View_attendance()
Else:
Break
🎤 Stage 5: Presentation of Information
1. Poster Sections (For Print or Digital Display)
🧾 Title:
“Automated Student Attendance System Using Python”
🧩 Sections to Include on the Poster:
Selection Content
Problem Manual attendance is time-
consuming and inaccurate.
Goal Build a Python-based system to
record attendance digitally.
Inputs Class, Student Name, Status
(P/A)
Outputs CSV file containing attendance
records
Tools used Python 3, CSV module, Terminal
Screens hot Example (Include code and terminal
output image)
Flowchart (See below)
Code Highlight Key part of mark_attendance
and view_attendance
📊 2. Flowchart: Logic of the Attendance Program
[Start]
[Display Menu]
[Choose Option]
↓ ↓ ↓
[Mark Attendance] [View Attendance] [Exit]
↓ ↓ ↓
[Get inputs] [Open & Read CSV] [End]
↓ ↓
[Save to CSV] [Display Records]
[Back to Menu]
3. Screenshots for Poster or Slides
➡️Input Screenshot:
Enter Class (e.g., Grade 6): Grade 6
Enter Student Name: Jane Moyo
Enter Status (P/A): P
Attendance recorded for Jane Moyo
📄 CSV File Content:
2025-06-20, Grade 6, Jane Moyo
📤 Output Screenshot:
🖥️4. Slide Show (Suggested Slides)
Slide # Title Content
Slide 1 Problem Name, class and
Statement title
Slide 2 Why natural
attendence is
outdated
Slide 3 What the project
aims to solve and
how
Slide 4 Flowchart Insert flowchart
image
Slide 5 Code Samples Small readable parts
with explanation
Slide 6 Screenshots Input/output and
CSV file exampl
Slide 7 Evaluation What worked and
improvements can
be improved
Stage 6: Evaluation and Recommendations
✅ Evaluation:
Functional for daily school use
Records are stored and retrievable
Easy to edit and modify by teachers
❌ Challenges Faced:
Handling incorrect inputs
Preventing duplicate entries
Basic formatting of CSV
💬 Recommendations:
Add login for teachers
Use a GUI to make it more accessible