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.
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 availability
This section lists the session, attendance modes and locations the unit is available in. There is a unit outline for each of the unit availabilities, which gives you information about the unit including assessment details and a schedule of weekly activities.
The outline is published 2 weeks before the first day of teaching. You can look at previous outlines for a guide to the details of a unit.
This refers to the Mode of attendance (MoA) for the unit as it appears when you’re selecting your units in Sydney Student. Find more information about modes of attendance on our website.