It's UWAweek 47

unitinfo

This page provides helpful information about many coursework units offered by Computer Science and Software Engineering in 2023.

The information here is not official - for official information please see the current UWA Handbook. Instead, it will help students to prepare for their future units, before the beginning of each semester, and before they have access to UWA's Learning Management System (LMS).

About the unit CITS2005 Object Oriented Programming (1st semester 2023)

Unit description:

This unit introduces the language and techniques needed to write well-structured programs using the object-oriented paradigm with the Java programming language. The focus of this unit is developing appropriate classes and methods to solve real-world problems. The unit also covers advanced topics including generics, the Java Platform, concurrency, serialization and exceptions. Appropriate software engineering principles and concepts are also discussed in the context of object-oriented design in Java.

Unit outcomes:

Students are able to (1) implement object-oriented design of solutions to real-world problems; (2) design Java programs using packages and classes with inheritance, generics, interfaces and abstract classes; (3) understand the use of multithreading for designing Java programs with concurrency; and (4) make effective use of software development practices to write, test, debug and document Java programs.

Unit coordinator:

Dr Max Ward
[email protected]

Unit homepage:

Unit is offered in these majors and courses:

Indicative weekly topics:

week 1 Introduction to Java
week 2 Types and Scopes
week 3 Control and Flow
week 4 Objects, Arrays, and Strings
week 5 Data Hiding and Inheritance
week 6 Overriding Methods and Abstract Classes
week 7 Break
week 8 Packages and Exceptions
week 9 Interfaces, Enums, and Autoboxing
week 10 Generics and SOLID
week 11 Multithreading, Anonymous Classes
week 12 Revision

Indicative assessment:

Assessed Lab, Mid-semester Test, Project, Final Exam

Useful prior experience and background knowledge:

Any programming language. Python is assumed

Useful prior programming and software experience:

Any programming language. Python is assumed

Hardware required for this unit:

Students are able to undertake their laboratory exercises and projects in laboratories in the CSSE building, but most students also complete work on their own laptops.
The following hardware is required to successfully complete this unit:


Standard laptop

Software required for this unit:

Students are able to undertake their laboratory exercises and projects in laboratories in the CSSE building, but most students also complete work on their own laptops.
The following software is required to successfully complete this unit:


Java and any IDE/editor for Java

Operating system(s) used in this unit:

Different units will use different operating systems for their teaching - for in-class examples, laboratory exercises, and programming projects.
If an operating system is REQUIRED, it will be used when marking assessments.


Linux is preferred (Linux developer tools), but Windows or Mac OS work




This information last updated 9:23am Wed 10th May 2023

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Written by [email protected]
Powered by history
Feedback always welcome - it makes our software better!
Last modified  8:32AM Jul 16 2023
Privacy policy