This Python program predicts progression outcomes for students at the end of each academic year based on the University's regulations. It allows students and academics to input their credits at pass, defer, and fail, and it displays the appropriate progression outcome (progress, progress with module trailer, module retriever, or exclude).
- Student Version: Allows students to input their credits and get their progression outcome.
- Academics Version: Allows academics to input credits for multiple students, displays a histogram of the progression outcomes, and saves the data to a list and a text file.
- Input Validation: Checks for invalid inputs such as non-integers, out-of-range credits, and incorrect total credits.
- Histogram Visualization: Uses the
graphics.py
module (included in the Python standard library) to create a histogram representing the number of students in each progression category. - Data Storage: Stores the progression data in a list (Part 2) and a text file (Part 3) for the Academics Version.
- Python 3.x
graphics.py
module (included in the Python standard library)
- Clone or download the repository.
- Open a terminal or command prompt and navigate to the project directory.
- Run the program with
python main.py
. - Follow the on-screen instructions to choose the desired version (Student or Academics) and input the credits.
- For the Academics Version, enter 'q' to quit and view the histogram and stored data.
Contains the main program logic and function calls.
main()
: Function to run the program and handle user input.
Contains the general functions to get inputs, decide outcomes, and handle the program.
in_data()
: Function to get valid inputs from the user.get_progression_outcome()
: Function to determine the progression outcome based on the credits.multiple_outcomes_question()
: Function to ask the user if they want to enter another set of data.
Contains the logic and function to draw the Histogram.
draw_bar()
: Function to draw a single bar in the histogram.draw_histogram()
: Function to create and display the histogram.
Contains the logic and function to run the Student Version.
student_version()
: Function to run the Student Version.
Contains the logic and function to run the Academics Version.
academics_version()
: Function to run the Academics Version.
The program is based on the provided Coursework Specification document, which outlines the requirements and marking scheme for the assignment.
This project is licensed under the MIT License.
The coursework specification and requirements were provided by the University of Westminster.
- Colors used in the histogram can be found in reference to Wikipedia X11 color names:
https://en.wikipedia.org/wiki/X11_color_names