Task:
Case Scenario
COMP101 Foundations of Computer Systems is a first-year introductory subject in both the Bachelor of Information Technology and Diploma of Information Technology course at ABC University. The Subject Coordinator of COMP101 has engaged you to help her to code a few Python programs as handy tools to solve a number of problems at hand.
Task 1 - Determine Interim Grade Letter (30%)
In this task, you will write a Python program to help the Subject Coordinator of COMP101 to calculate an interim grade letter for a student given their assessments results.
Foundations of Computer Systems has three assessments with the following weightings.
Assessment Number Assessment Type Assessment Weighting
1 Lab exercise 20%
2 Report 40%
3 Final examination 40%
Each assessment has been marked out of 100 and the mark for each assessment may be a decimal number with at most two decimal points (e.g., 68, or 68.5, or 68.45). The final mark for COMP101 is the weighted sum of all three assessments, rounded up 1 to the nearest integer. For example, Student A received 75.67/100, 45.8/100, 32/100 for Assessment 1, 2 and 3 respectively. Their final mark for COMP101 is 47 (46.254 rounded up to the nearest integer). 75.67 × 20% + 45.8 × 40% + 32 × 40% = 46.254 For simplicity, in this Task, we will use a bracket that consists of three numbers to denote the marks of a student’s three assignments in order. For example, (75.67, 45.8, 32) denote a student who received 75.67/100 for the first assessment, 45.8/100 for the second, and 32/100 for the third.
The final mark is used to determine the interim grade letter for a student. The Assessment Policy and Procedures of ABC University stipulates the following rules for determining the interim grade letter. The range in the Final mark column includes the numbers on both ends.
Final mark Interim grade letter Description
85 - 100 HD High Distinction
75 - 84 D Distinction
65 - 74 C Credit
50 - 64 P Pass
45 - 49 F or SE or SA Fail or Supplementary Assessment or Supplementary Exam
0 - 44 F or AF Fail or Absent Fail
1. No students like their marks rounded down, so always round up their marks. Even if the weighted sum is 90.001, their final mark should be recorded as 91.
2. Students whose final mark is between 0 and 44 (inclusive) may be awarded an F (Fail) or an AF (Absent Fail). If two or more assessments are awarded zero and the final mark is between 0 and 44 (inclusive), the student will be awarded an AF (Absent Fail), otherwise they are awarded an F (Fail). For example, students with (0, 100, 0) should be awarded an AF because their final mark is 40, and two assessments are marked zero. However, students with (100, 50, 0) should be awarded an F because although their final mark is 40, they only have one assessment awarded zero.
Students who have marginally failed, that is, their final mark is between 45 – 49 (inclusive), may be awarded an F (Fail) or Supplementary Exam (SE) or Supplementary Assessment (SA). If a student’s final mark is between 45 – 49, they will receive an F (Fail) unless they satisfy all the following conditions:
Their final mark is between 45 – 49 (inclusive).
They do not have any assessment marked zero.
They only failed (i.e., less than 50) one assessment.
Students whose final mark is between 45 – 49 will receive an SE or SA if they satisfy all the conditions above. If the assessment they failed is
Assessment 1 or Assessment 2, they will receive an SA and they will be given an opportunity to attempt a supplementary assessment. If the assessment they failed is Assessment 3, they will receive an SE and they will be given an opportunity to sit a supplementary exam. For example, students with (40, 100, 0) will receive an F (Fail) because although their final mark is 48 (i.e., between 45 – 49), they have one assessment marked zero (Assessment 3). Students with (10, 100, 10) will equally be awarded an F (Fail) because although their final mark is 46 (i.e., between 45 –
49), they have failed more than one assessment (Assessment 1 and Assessment 3). Students with (50, 50, 40) will be awarded an SE because their final mark is 46 (i.e., between 45 – 49) and satisfy all the three conditions above. The only failed assessment is Assessment 3, and they will be given an opportunity to sit a supplementary exam.
The Subject Coordinator has asked you to develop a Python program that can calculate the interim grade letter for a student given the marks for all the assessments based on the business rules described above.
Your program should allow the Subject Coordinator to type in a student’s assessment marks separated by a comma. Your program will then output the correct interim grade letter for that student. In this task, you do not need to allow the Subject Coordinator to type in the assessment marks for another student. Your program can terminate after it have calculated and output the interim grade letter for the first student. Here are some sample inputs and outputs the Subject Coordinator expected to see when she runs your program. All the green lines are your program outputs, all the red lines are users’ input.
Sample input and output 1: Enter a student’s assessment marks (separated by comma):
Sample input and output 2: Enter a student’s assessment marks (separated by comma):
Sample input and output 3: Enter a student’s assessment marks (separated by comma):
Implement your program in a Python script file and name it task1.py. You need to submit this file as part of the Assessment 2 submission.