Skip to main content
Unit of study_

COMP9103: Software Development in Java

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.

Code COMP9103
Academic unit Computer Science
Credit points 6

At the completion of this unit, you should be able to:

  • LO1. demonstrate an understanding of the concept of Object-Orientation: understand and explain key concepts of object-oriented programming, including classes as encapsulating data, object instances, memory model of references, methods and calling them across objects
  • LO2. read and interpret an object oriented design document
  • LO3. demonstrate an understanding of the memory model and differences between locations of variables
  • LO4. derive a computer program from a design document that uses concepts of OO and memory model, trace and write small examples of code including the following elements: inheritance, polymorphism, abstract classes and interfaces, variables and their type and the relationship between static and dynamic type, exception
  • LO5. demonstrate experience in testing Object-Oriented programs, write tests for standalone objects, be able to generate and handle exceptions, create invariants for classes, methods and objects, pre- and post-conditions for methods, and assertions
  • LO6. create appropriate class/data structure including the data types and methods for simple problems
  • LO7. read, trace and write recursive Object-Oriented programs to perform an operation in a related set of classes that support some nested structure
  • LO8. demonstrate an understanding of Object-Oriented programming language : reading, tracing and writing competence with the following elements of Java programming language: classes, methods, object creation; instance and local variables, parameters and scope; basic types; simple I/O; control flow primitives and understand, modify and add functionality to Java programs
  • LO9. demonstrate experience writing code with common interfaces and collections in Object-Oriented programming language
  • LO10. demonstrate experience in testing and debugging Object-Oriented programs, write tests for stand-alone object code, to be run automatically.

Unit outlines

Unit outlines will be available 2 weeks before the first day of teaching for the relevant session.