Part 1 - Student Version
-
The program should allow students to predict their progression outcome at the end of each academic year.
-
The program should prompt for the number of credits at pass, defer and fail and then display the appropriate progression outcome for an individual student.
-
The program should let the user know if a credit input is the wrong data type. I.e., ‘Integers required’ is displayed.
-
The program should let the user know if credits are not in the range 0, 20, 40, 60, 80, 100 and 120. I.e., ‘Range error’ is displayed.
-
The program should let the user know if the total of the pass, defer and fail credits is not 120. I.e., ‘Total incorrect’ is displayed.
Part 2 - Staff Version
This extension should meet the requirements specified for Part 1 but also allow a staff member to predict progression outcomes for multiple students.
-
The program should prompt for credits at pass, defer and fail and display the appropriate progression for each individual student until the staff member user enters ‘q’ to quit.
-
When ‘q’ is entered, the program should produce a ‘histogram’ where each star represents a student who achieved a progress outcome in the category range: progress, trailing, module retriever and exclude. See example below.
-
The program should display the number of students for each progression category and the total number of outcomes processed.
This following horizontal histogram example shows the output distribution for 20 outcomes. However, your program should work with any number of outcomes generated.
Part 3 - Vertical Histogram
Extend your program to add an additional histogram that displays vertically so the stars in a category should go downwards and not across the screen.
Part 4 – Alternative Staff Version
For this staff version, the data will be accessed from a list, tuple or dictionary and NOT from user input. The data held in the list, tuple or dictionary will match the test cases 1 to 10 shown in the appendix. Use user-defined functions.