Logo Lanfrica

rayanmartynt/PROG103_Assignment1_RayanMartinTuray_905005656

Domaine:

education

Type de record:

software
Créateur:
ray
Hôte:
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. * …