You have to prepare and present all source code, test data table, and flowchart/s separately and include them all in a single MS Word file identified by your name. See the ‘Requirements’ section below. The Python source code you write should be saved with a name such as ITC558assignment1YourName.py and then include a copy of.
TASK
Assume MA University has employed you to write a program in Python that will ask a lecturer to enter a student’s marks for Assignment 1, Assignment 2, Assignment 3 and the Final Exam, one by one.
A lecturer is expected to enter a mark out of 100 for all assessment items. The weights of Assignment 1, Assignment 2, Assignment 3 and the Final Exam are 10%, 20%, 30% and 40%, respectively. The program needs to use the weights to calculate the weighted marks for the assessment items and the final mark for the subject.
The program should then display the weighted mark of each individual assignment, total weighted mark of the assignments, weighted mark for the Final Exam, and total weighted mark of the subject.
A weighted mark is calculated by multiplying the obtained mark and the weight of the assessment item. For example, if a student obtains 70 out of 100 in Assignment 1 then their weighted mark in the assignment will be 70 x 10/100 = 7.
A typical example of the display of your program can be as follows. Your program MUST follow the same display style.
—————————————————————————————–
MA University Assessment Grade System
—————————————————————————————–
All assessment marks are out of 100.
Enter Assignment 1 marks: 70
Enter Assignment 2 marks: 80
Enter Assignment 3 marks: 90
Enter Final Exam mark: 95
Thank You!
Weighted mark for Assignment 1: 7
Weighted mark for Assignment 2: 16
Weighted mark for Assignment 3: 27
Total weighted mark of the assignments: 50
Weighted mark for the Final Exam is: 38
Total weighted mark for the subject: 88
Goodbye.
You need to develop your program by completing the following three tasks:
Task 1 –
Draw a flowchart that presents the steps of the algorithm required to perform the task specified. Some examples of flowcharts can be found at the following web links:
- https://www.programiz.com/article/flowchart-programming
- http://users.evtek.fi/~jaanah/IntroC/DBeech/3gl_flow.htm
There are tools (see links below) that can be useful in drawing a flowchart. However, you can draw the flowchart/s with a pen/pencil on a piece of paper and scan it for submission. Please ensure that the scanned file and your handwriting are clear and legible.
Task 2 –
Select three sets of test data that will demonstrate the ‘normal’ operation of your program; that is, test data that will demonstrate what happens when a VALID input is entered. Select two sets of test data that will demonstrate the ‘abnormal’ operation of your program.
Set it out in a tabular form as follows: test data type, test data, the reason it was selected, the output expected due to using the test data, and finally a screenshot of the output actually observed when the test data is used. It is important that the output listings (i.e., screenshots) are not edited in any way.
Test Data Table | ||||
Test data type | Test data | The reason it was selected | The output expected due to the use of the test data | The screenshot of actual output when the test data is used |
Normal | ||||
Normal | ||||
Normal | ||||
Abnormal | ||||
Abnormal |
Task 3 –
Implement your algorithm in Python. Comment on your code as necessary to explain it clearly. Run your program using the test data you have selected and complete the final column of test data table above.
Your submission will consist of:
- Your algorithm through Flowchart/s
- The table recording your chosen test data and results (it can be in a Word or PDF file)
- Source code for your Python implementation
This assessment task is designed to reinforce topic material related to the programming work cycle, and the input, processing, output program structure.
RATIONALE
This assessment task will assess the following learning outcome/s:
- be able to analyse the steps involved in a disciplined approach to problem-solving, algorithm development and coding.
- be able to demonstrate and explain elements of good programming style.
- be able to identify, isolate and correct errors; and evaluate the corrections in all phases of the programming process.
- be able to interpret and implement algorithms and program code.
- be able to apply sound program analysis, design, coding, debugging, testing and documentation techniques to simple programming problems.
- be able to write code in an appropriate coding language.
This assessment task is designed to reinforce topic material related to the programming work cycle, and the input, processing, output program structure.
MARKING CRITERIA AND STANDARDS
Criteria | High Distinction
(85-100%) |
Distinction
(75-84%) |
Credit (65-74%) | Pass (50-64%) | Fail (0-49%) |
(three marks allocated) |
Flowchart/s do not have any unnecessary component. | Flowchart/s are presented where all components are meaningful. | Flowchart/s follow the convention, they are free of errors, and they produce the algorithm correctly. | Flowchart/s follow the convention and contain three or fewer errors | Flowchart/s follow the convention but contain more than three errors |
(three marks allocated) |
Test data explore every branch of the program. A clear explanation is provided of the expected output of the test results.
AND
The presented test output is in the form specified in the assignment. |
Sound reasons are provided for the selection of test data.
AND
The test output is correct for any test data in addition to those used in the submitted table to report the test result. |
Selected test data present both normal and abnormal data.
AND
The presented test output is correct. |
Selected test data are clearly presented in a table and allow easy calculation of output.
AND
The presented test output matches the actual results that can be obtained from the execution of the program. |
Selected test data are not clearly presented in a table and/or do not allow easy calculation of output.
Or
The presented test output does not match the actual results that can be obtained from the execution of the program. |
(four marks allocated) |
Python code is produced and contains only necessary statements and variables. Exceptions are handled properly. | Python code is produced and implements the flowchart consistently. | Python code is produced. It is fully documented with appropriate comments and all variable names are meaningful. | Python code is produced and executes properly without any syntax errors. It produces correct results. | Python code is produced and does not execute properly. It may contain syntax errors and/or produce incorrect results. |
Additional Comments: The standards outlined for each criterion are cumulative. So, for example, to achieve the standard for high distinction your work needs also to meet the standards outlined for Pass, Credit and Distinction.
PRESENTATION
You have to prepare and present all source code, test data table, and flowchart/s separately and include them all in a single MS Word file identified by your name. See the ‘Requirements’ section below. The Python source code you write should be saved with a name such as ITC558assignment1YourName.py and then include a copy of it as text in the MS Word file named ITC558assignment1YourName.docx.
The other parts of the assignment (such as your flowchart/s and your table of test data) should be included in the same MS Word file and save as ITC558assignment1YourName.docx.
It is critically important that your test runs are unmodified outputs from your program, and that these results should be reproducible by the marker running your saved ITC558assignment1YourName.py python program.
REQUIREMENTS
You have to save all the parts of the assignment (as described under ‘Presentation’ above) into a single MS Word document identified by your name as outlined in the section on presentation.
Failure to adhere to these requirements may disqualify the submission for marking.
Submit your complete assignment in MS Word format to Turnitin and insert your program source code as an object to your MS Word document (The subject lecturer will explain to you how to insert the object to your MS Word document).