Programming for Networking
Assessment Details and Submission Guidelines | |
Trimester | T2 2019 |
Unit Code | BN108 |
Unit Title | Programming for Networking |
Assessment Type | Individual |
Assessment Title | Programming fundamentals |
Purpose of the assessment (with ULO Mapping) | This assignment assesses the basic concepts of programming; students should be able to demonstrate their achievements in the following unit learning outcomes: a. describe the fundamental principles of object-oriented programming; b. interpret a user’s needs while dealing with simple program specifications; c. design a simple class using UML notation; d. create a simple application based on UML design and the incremental development process of coding, debugging, and testing; e. apply basic control structures – sequence, repetition, and selection – to program development; f. produce simple interactive applications. |
Weight | 20% |
Total Marks | 20 marks |
Word limit | Not applicable |
Due Date | Week 8 (03/09/2019 5:00PM |
Submission Guidelines | · All work must be submitted on Moodle by the due date along with a completed Assignment Cover Page. · The assignment must be in MS Word format, 1.5 spacing, 11-pt Calibri (Body) font and 2 cm margins on all four sides of your page with appropriate section headings. · Reference sources must be cited in the text of the report, and listed appropriately at the end in a reference list using IEEE referencing style. |
Extension | · If an extension of time to submit work is required, a Special Consideration Application must be submitted directly on AMS. You must submit this application three working days prior to the due date of the assignment. Further information is available at: http://www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/specialconsiderationdeferment |
Academic Misconduct
| · Academic Misconduct is a serious offence. Depending on the seriousness of the case, penalties can vary from a written warning or zero marks to exclusion from the course or rescinding the degree. Students should make themselves familiar with the full policy and procedure available at: http://www.mit.edu.au/about-mit/institute-publications/policies-procedures-and-guidelines/Plagiarism-Academic-Misconduct-Policy-Procedure. For further information, please refer to the Academic Integrity Section in your Unit Description. |
Assignment Description
This assignment focuses on programming basics; expressions, variables, constants, methods, selection and loops.
Danny runs an ice cream shop in the inner suburbs of Melbourne. Due to the growing number of customers, Danny has decided to take on extra casual employees. In order to manage payroll for his employees, Danny has decided to develop an employee payroll management system. Details of each employee to be maintained in the system will include; employee id, name, gender (M or F), phone number, hours worked, pay per hour, gross pay, net pay, and income tax payable.
The gross pay is calculated as the number of hours worked multiplied by pay per hour, while the net pay is calculated as the difference between gross pay and income tax payable of which income tax payable is calculated by multiplying gross pay by an income tax rate of 30%. Any hours over forty (40) is paid as an overtime hour at the rate of (2.5) times the base hourly rate.
For example, an employee who has worked a total of 45 hours with an hourly rate of $20 will have;
Regular pay=40*$20=$800
Overtime pay=5 * $20 * 2.5 = $250
Gross pay=$800 + $250 = $1,050
Income tax payable=$1050 * 30%=$315
Net pay=$1050-$315=$735
Task Requirements
Imagine you have been hired to develop this system. Familiarise yourself with the problem description and write a python program named payroll.py with the following functions:
- Create a main ()as a driver function in your payroll Within the main (), you will declare all the required variables, and invoke the other methods described in the next step as required for calculations and displaying the program output.
- Create additional functions in your payroll program for calculations as follows:
- Function to calculate the overtime hours
- Function to calculate the gross pay
- Function to calculate the income tax payable and
- Function to calculate the net pay
These functions needs to be invoked in correct order within your driver function main (), so that when your program executes, it should be able to produce an output as an employee’s pay slip like the example below.
Submission requirements:
- Your assignment should include the following in the .ZIP archive:
- A Word report with sections containing:
- An overview of the problem descriptionof the assignment
- Pseudocode as an algorithm for the program
- Screen shot/capture of the program output
- Statement of completion
- Acknowledgment of any help taken for assignment completion
- Python file (payroll.py) that can be executed by your tutor
- Instructions for archiving and submitting your files:
- Create a folder and name it with your student ID (MITnnnnnn, where nnnnnn are digits of your student number)
- Copy your Word document and the python (payroll.py) files into that folder.
- Zip the folder.
- Right-click on the folder
- In the pop-up menu select Send-to, Compressed (zipped)Folder
- Then submit this zipped folder in Moodle submission link
Marking criteria:
Program Demonstration: Students must demonstrate their program in week8 (lab time) to the tutor, and are expected to explain their implementation. Marks will be deducted (50% -maximum) for failing to do demonstration or poor explanation.
Description of criteria | Marks |
Assignment report | |
Overview | 0.5 |
Pseudocode | 1 |
Statement of completion and acknowledgement | 1 |
Python implementation | |
Comments describing the program, methods, author and date | 1.5 |
Design of main function is correctly implemented | 4 |
Design of overtime function is correctly implemented | 2 |
Design gross pay function is correctly implemented | 2 |
Design of income tax payable function is correctly implemented | 2 |
Design of net pay function is correctly implemented | 2 |
Program runs and prints the correct output | 4 |
Total | 20 |
Marking Rubric for Assignment #: Total Marks 20
Grade Mark | HD 16-20 | DI 14-16 | CR 12-14 | P 10-12 | Fail <10 |
Excellent | Very Good | Good | Satisfactory | Unsatisfactory | |
Design/ Documentation /5 | Program designed and implemented correctly as per the specifications | Minor issues | Program designed and implemented correctly as per the specifications but can improve | Some information is missing but satisfactory | Provided information is poor or inadequate |
Python implementation Code documentation Program output /15 | No issues | Minor issues | Program output is correct but quality of design /implementation can improve | Implementation is missing some parts of specification | Implementation does not satisfy problem specification |