Reference no: EM132952942
MIS501 Principles of Programming
Learning Outcome 1: Synthesise the tenets of procedural programming into the object- oriented paradigm.
Learning Outcome 2: Design and implement solutions using unified modelling language (UML) diagrams and coding to meet business needs.
Assessment - Business Case Study 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
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.
COMP101 Foundations of Computer Systems has three assessments with the following weightings.
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 1to 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.
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:
o Their final mark is between 45 - 49 (inclusive).
o They do not have any assessment marked zero.
o 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.
Task 2 - Finalising grades and class performance statistics
This task is built upon Task 1. You may want to make a copy of task1.py, and name it task2.py, and you may want to use the logic you implemented for Task 1. DO NOT override task1.py.
A couple of weeks after the Release of Grade date, all supplementary assessments and exams have been finalised. All the interim grade letters now need to be converted to a final grade letter, that is, the grade letter that appear on students' transcript.
For HD (High distinction), D (Distinction), C (Credit), P (Pass) and F (Fail), they will not be converted as they themselves are final grade letters. For SA and SE, they will be converted to either a SP (Supplementary Pass) or F (Fail). If the student who have been awarded an SA or SE, passed the supplementary assessment or supplementary exam (that is, they achieved no less than 50/100), their grade letter will be converted to SP (Supplementary Pass), otherwise it will be converted to F (Fail). For AF (Absent Fail), it will be converted to F (Fail).
The Subject Coordinator would like you to implement a Python program that helps her to read in all students' marks and generate some high-level statistic about the class performance.
Task 3 - Naïve similarity detector
This task is independent of the first two tasks. You can create a new file and name it task3.py. The Subject Coordinator of COMP101 has now asked you to implement a naïve similarity detector that she can use to identify collusion between students in their assessments. Your program will read in two assessment submissions (two strings) in turn and output a similarity score for them.
You can assume that the input submissions have been "cleaned" with all punctuations removed. Each submission is a sequence of words separated by a space. For example, "COMP101 is an interesting subject and it has been easy" "COMP101 and COMP301 have always been interesting and easy".
Attachment:- Principles of Programming.rar