Student Attendance Tracking System – Structured Programming Assignment (PROG103) A terminal‑based Python application that helps teachers in Sierra Leone record and monitor student attendance. The system supports SDG 4 (Quality Education) by providing clear, actionable data to identify at‑risk students and reduce dropout rates.
Attendance Tracking System
PROG103 – Structured Programming Assignment
A terminal‑based Python application that helps teachers in Sierra Leone record and monitor student attendance. The system supports **SDG 4 (Quality Education)** by providing clear, actionable data to identify at‑risk students and reduce dropout rates.
== Table of Contents ==
- Features
- Technologies & Principles
- Requirements
- Installation & Setup
- How to Use
- Example Output
- Project Structure
- Author
---
## Features
- Add attendance records with student name, date, and status (`Present`, `Absent`, `Late`)
- Store multiple records during a single session (in memory)
- Generate a detailed summary report:
- Per‑student totals (Present / Absent / Late)
- Per‑student attendance percentage
- Overall class statistics (total present, absent, late records)
- Overall class attendance rate
- Clean, menu‑driven terminal interface
- Input validation (handles invalid menu choices, data type error, and empty inputs)
## Technologies & Principles
This project strictly follows **structured programming** principles:
| Principle | Implementation |
|-----------|----------------|
| Variables & constants | `STATUS_OPTIONS`, `MENU_EXIT`, `attendance_records` list |
| Data types | `str`, `int`, `float`, `list`, `dict` |
| Error Handling Function | `try-catch`
| Decision structures | `if`/`elif`/`else` (menu selection, status mapping) |
| Iteration | `while` loop (main menu), `for` loops (processing records) |
| Modularity (functions) | `add_attendance()`, `generate_report()`, `main()` |
| Single entry point | `if __name__ == "__main__":` |
**Language:** Python 3
## Requirements
- Python 3.6 or higher
- No external libraries required (uses only Python standard library)
## Installation & Setup
1. **Clone the repository** (or download the file):
```bash
git clone
github.com
cd PROG103_Assignment1_RayanMartinTuray_905005656
2. * …