Student Progression Outcomes App

2023 | Python Console & Graphics Application

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, and window 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