Student Progression Outcomes App



The Student Progression Outcomes App is a comprehensive Python solution for calculating and visualizing student progression based on credit inputs. It caters to both staff and student users by providing tailored interactions.
- Functionality: Determines progression status using specific credit rules — "Progress" for 120 pass credits, "Trailer" for 100 pass credits, "Exclude" when fail credits are 80 or above, and "Retriever" for all other valid combinations.
-
User Modes:
- Staff Mode: Supports multiple entries, aggregates outcomes, and records data for later review.
- Student Mode: Allows a single entry and immediately displays the outcome.
- Input Validation: Implements robust checks to ensure that only valid credits (0, 20, 40, 60, 80, 100, 120) are accepted and that the total always equals 120, with graceful error handling.
Technical Details & Architecture:
- Python-Based: Developed entirely in Python, utilizing console input for data collection and a simple graphics library (such as Zelle’s Graphics) for rendering a histogram.
-
Modular Design: Uses dedicated functions like
progression_outcome
,create_bar
, andwindow
for clear separation of concerns and reusability. - File I/O: Persists outcomes by writing to and reading from a text file, ensuring data is logged for future reference.
- Graphical Visualization: Generates a dynamically scaled histogram to visually represent counts of each progression outcome.
- Best Practices: Emphasizes robust input validation, modularity, and defensive programming to ensure data integrity and a smooth user experience.
Overall, this project effectively showcases key programming principles such as modularity, input validation, and user-friendly graphical representation, making it an exemplary solution for managing student progression outcomes.
Back to Projects