Assessment Details and Submission Guidelines
|Unit Title||Programming for Networking|
|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
e. apply basic control structures – sequence, repetition, and selection – to program development;
f. produce simple interactive applications.
|Total Marks||20 marks|
|Word limit||Not applicable|
|Due Date||07th September 2018 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:
|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.|
This assignment focuses on programming basics; expressions, variables, constants, static methods and loops.
David runs a Pizza shop in the inner suburbs of Melbourne. Due to the growing number of customers, Pizza shop has decided to take on extra casual employees. In order to manage payroll for his employees, David has decided to develop an employee payroll management system. Details of each employee to be maintained in the system will include; 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%.
For example, an employee who has worked a total of 35 hours with an hourly rate of $20 will have;
Income tax payable=$700 * 30%=$210
Imagine you have been hired to develop this system. Familiarise yourself with the problem description and complete the following tasks.
1. Develop a UML class diagram based on the problem description. The name of the class should be of the form MITnnnnnEmployeewhere MITnnnnn is your MIT ID.
a. Identify a constructor for the class
b. Identify all the attributes for the Employee class
c. Identify all the set and get methods for each of the attributes identified in 1.b
2. Write a Java implementation of the UML diagram defined in 1. In your class, include comments describing the function of the class, the name of the programmer and the date of implementation.
3. Write a Java program named EmployeePayroll with a main method. Within the main method, you will create(instantiate) an object of your implementation class in 2, and other create methods for calculating wages for the employees. Include comments for all the implemented methods.
a. Declare all variables required for calculations as class variables.
b. Include static methods to calculate the gross pay, income tax payable and the net pay.
c. Once you have calculated the gross pay, income tax payable and net pay. Invoke the methods in correct order so that when your program executes, it should be able to produce an output as an employee’s pay slip like the example below.
|David’s Pizza Parlour ABN: 111 222 333
Employee: Joe Smith
Payment Date: 10/09/2018
Gross Pay: $700.00
Net Pay: $490.00
Pay Period from: 01/09/2018 to 08/09/2018
Item Total Hours Calculated Rate Type
Base Hourly @$20.00 35 $700.00 Wages
PAYG Withholding $-210 Tax
- Your assignment should include the following in the .ZIP archive:
· A Word report containing aUML class diagram based on the problem description of the assignment
· Java source code file for the class (.java file)
· Compiled file for the class (.class file)
- 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, .java and .class files into that folder.
- Zip the folder.
i. Right-click on the folder
ii. In the pop-up menu select Send-to, Compressed (zipped)Folder
· Then submit this zipped folder in Moodle submission link
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|
|UML class design|
|Identify all the variables and their appropriate data types||2|
|Identify the set and get methods for the variables||2|
|Identify a constructor for the class||1|
|Java implementation (class) of the UML diagram||2|
|Comments describing the program, methods, author and date||2|
|Design/implementation of main method as described in task 3||3|
|Static method to compute the gross pay is correctly implemented||1|
|Static method to compute the income tax payable is correctly implemented||1|
|Static method to compute net pay is correctly implemented||1|
|Program runs and prints the correct output||5|
|Marks deducted (Maximum of 50% of total) for :
· Missing the program demonstration
· Poor explanation of design/code
|Total marks (after deduction)|
Marking Rubric for Assignment #:Total Marks 20
|UML class design
|All variables and their data types together with the associated methods are identified and represented in UML diagram||UML class diagram is generally well annotated||UML class diagram is fairly annotated with some information missing||UML class diagram is annotated but most of the information is missing||No diagram or diagram provided is not relevant to the assignment topic.|
|UML design is excellently implemented and the code is well documented. The program runs and outputs the correct results||UML design is well implemented with a few minor issues||UML design is implemented but there some issues with the implementation||UML design is implemented but there are a number of issues||Implementation does not satisfy problem specification|