Assessment Details and Submission Guidelines
Trimester T1 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 11/05/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.
Prepared by: Ameet Kumar Moderated by: Dr Wanod Kumar March 2019

Assignment Description
This assignment focuses on programming basics; expressions, variables, constants, static methods 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 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 MITnnnnnEmployee where 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.
Danny’s Icecream Parlour ABN: 222 333 145
Employee: Andrew
Payment Date: 24/03/2019
Gross Pay: $1050.00
Net Pay: $735.00
Pay Period from: 21/02/2019 to 20/03/2019
Item Total Hours Calculated Rate Type
Base Hourly @$20.00 45 (5 OT) $1050.00 Wages
PAYG Withholding $-315 Tax
* OT: Over time
Submission requirements:
1. Your assignment should include the following in the .ZIP archive:
• A Word report containing a UML 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)
2. 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
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
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
Java implementation (class) of the UML diagram 2
Comments describing the program, methods, author and date 1
Design/implementation of main method as described in task 3 2
Static method to compute the gross pay is correctly implemented 2
Static method to compute the income tax payable is correctly implemented 2
Static method to compute net pay 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
UML class
design
/5 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.
Java
implementation
/15 UML design is
excellently
implemented and
the code is well
documented. The
program runs and outputs the correct results UML design
is well
implemente d with a few minor issues UML design is implemented but there some issues with the implementatio n UML design is
implemented but there are a
number of
issues Implementation does not satisfy problem specification