Note: This unit version is currently under review and is subject to change!

COMP9103: Software Development in Java (2019 - Semester 2)

Download UoS Outline

Unit: COMP9103: Software Development in Java (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Computer Science
Unit Coordinator/s: Anaissi, Ali
Session options: Semester 1, Semester 2
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: None.
Prohibitions: COMP5214.
Brief Handbook Description: Programming in a legible, maintainable, reusable way is essential to solve complex problems in the pervasive computing environments. This unit will equip students with foundation of programming concepts that are common to widely used programming languages. Students will be progressively guided in this introductory unit from necessary and important building blocks of programming to the object-oriented approach. Java, one of the most popular programming languages, is used in this unit. It provides interdisciplinary approaches, applications and examples to support students from broad backgrounds such as science, engineering, and mathematics.
Assumed Knowledge: None.
Lecturer/s: Anaissi, Ali
Timetable: COMP9103 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 1.00 1 13
T&L Activities: Laboratory: Students are enabled to practice the programming skill after the lecture session.

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Practice in conceptualising abstract problems and transforming them into concrete solutions in a programming language. Design (Level 3)
Practice in writing computer programs in Java, doing so without compilation or runtime error. Engineering/IT Specialisation (Level 2)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table 2018.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Engineering/IT Specialisation (Level 2)
1. Ability to read, understand, and interpret Java code.
2. Ability to understand, modify, and add functionality to Java programs.
3. Ability to convert simple pseudo-code to Java code.
4. Ability to write correct Java programs to manipulate data.
5. Ability to trace, test and debug in basic Java programs.
6. Ability to understand the essential concepts of Object-Oriented Programming, including classes, objects, encapsulation, inheritance, interface, and polymorphism.
Design (Level 3)
7. Ability to identify, define, and analyze problems for solution with Java.
8. Ability design Java solutions that address the problems identified.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Weekly Lab Skills Assessment No 10.00 Multiple Weeks 1, 2, 3, 4, 5,
2 Programming & Problem-Solving Skills Test No 5.00 Week 5 1, 2, 3, 5, 6, 7,
3 Programming & Problem-solving Skills Test No 5.00 Week 9 1, 2, 3, 5, 6, 7,
4 Java Programming Assignment No 20.00 Week 12 4, 5, 7, 8,
5 Written Exam (2 hours) No 60.00 Exam Period 1, 2, 3, 4, 5, 6,
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Minimum Pass Requirement It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of Computer Science may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

See the policies page of the faculty website at for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
Prescribed Text/s: Note: Students are expected to have a personal copy of all books listed.
  • Java Concepts

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar

Week Description
Week 1 Unit Introduction / Using Classes and Objects
Week 2 Primitive Types and Decision
Week 3 Iteration and Program Tracing
Week 4 Primitive Arrays
Week 5 Introduction to OOP
Assessment Due: Programming & Problem-Solving Skills Test
Week 6 Define Classes (1)
Week 7 define Classes (2)
Week 8 ArrayList and File IO
Week 9 OO Software Development & Case Study
Assessment Due: Programming & Problem-solving Skills Test
Week 10 Inheritance
Week 11 Interface and Polymorphism
Week 12 Recursion
Assessment Due: Java Programming Assignment
Week 13 Revision
Exam Period 2 hours written Examination
Assessment Due: Written Exam (2 hours)

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Master of Professional Engineering (Software) 2016, 2017, 2018, 2019, 2020
Graduate Certificate in Information Technology 2015, 2016, 2017, 2018, 2019, 2020
Graduate Certificate in Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020
Graduate Diploma in Computing 2015, 2016, 2017, 2018, 2019, 2020
Graduate Diploma in Health Technology Innovation 2015, 2016, 2017, 2018, 2019, 2020
Graduate Diploma in Information Technology 2015, 2016, 2017, 2018, 2019, 2020
Graduate Diploma in Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020
Master of Engineering 2015, 2016, 2017, 2019, 2020
Master of Health Technology Innovation 2015, 2016, 2017, 2018, 2019, 2020
Master of Information Technology 2015, 2016, 2017, 2018, 2019, 2020
Master of Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020
Master of IT/Master of IT Management 2015, 2016, 2017, 2018, 2019, 2020

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Engineering/IT Specialisation (Level 2) Yes 88.31%
Project and Team Skills (Level 2) No 0%
Design (Level 3) Yes 11.67%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.