Unit rationale, description and aim

As software systems grow in complexity and interactivity, there is a growing demand for graduates who can develop efficient, scalable, and user-friendly applications. Building upon foundational programming skills, this unit enables students to deepen their understanding of advanced programming concepts that are essential for tackling real-world challenges in modern computing environments.

This unit extends the fundamental programming knowledge acquired in introductory programming by introducing students to more advanced and applied programming concepts. It covers event-driven programming, graphical user interface (GUI) design, file input/output operations, generics, data structures, and algorithms. Students will learn to design and implement moderately complex applications that interact with real-world data through user interfaces. Emphasis is placed on the effective use of computing resources—including CPU cycles, memory management, and I/O operations—through the application of appropriate data structures and algorithms. This focus supports sustainable computing practices by promoting energy-efficient programming, thereby contributing to the stewardship of natural and technological resources.

The aim of this unit is to equip students with advanced programming skills and the ability to design efficient, maintainable, and interactive software systems that demonstrate an awareness of both technical performance and environmental sustainability.

2026 10

Campus offering

No unit offerings are currently available for this unit.

Prerequisites

ITEC618 - Programming Concepts

Incompatible

ITEC627 - Advanced Programming Concepts

Learning outcomes

To successfully complete this unit you will be able to demonstrate you have achieved the learning outcomes (LO) detailed in the below table.

Each outcome is informed by a number of graduate capabilities (GC) to ensure your work in this, and every unit, is part of a larger goal of graduating from ACU with the attributes of insight, empathy, imagination and impact.

Explore the graduate capabilities.

Demonstrate high-level working knowledge and under...

Learning Outcome 01

Demonstrate high-level working knowledge and understanding of advanced programming concepts through consistent problem solving and program implementation
Relevant Graduate Capabilities: GC1, GC10

Develop application programs with correct and appr...

Learning Outcome 02

Develop application programs with correct and appropriate user interface, program I/O and generics, and data structure and algorithm
Relevant Graduate Capabilities: GC2, GC10

Design and implement applications that exhibit eff...

Learning Outcome 03

Design and implement applications that exhibit effective user interface and efficient functional components
Relevant Graduate Capabilities: GC2, GC8

Critically evaluate data structures and algorithms...

Learning Outcome 04

Critically evaluate data structures and algorithms relevant to a particular problem and choose appropriate ones for the stewardship of computing resources
Relevant Graduate Capabilities: GC6, GC7

Content

Topics covered: 

  • Java OOP
  • Java Event Model
  • Java GUI programming
  • Text and binary I/O
  • Generics
  • Recursion
  • Data structures
  • Developing efficient algorithms
  • Sorting algorithms
  • Stewardship of computing resources through appropriate use of data structures and algorithms

Assessment strategy and rationale

A range of assessment procedures will be used to meet the unit learning outcomes and develop graduate attributes consistent with University assessment requirements. 

The first assessment item is a regular programming-based exercise that consists of programming environment setup, quiz and practical problem solving. This assessment progressively scaffolds student learning and prepares students for the next assessments. The second and the final programming case study assessment will consist of one or several small to medium advanced programming case studies. Students will design and implement applications exhibiting effective user interfaces and/or efficient functional components that contribute to the stewardship of computing resources.

The assessments for this unit are designed to demonstrate the achievement of each learning outcome. To pass this unit, students are required to achieve an overall mark of at least 50%

Overview of assessments

Assessment Task 1: Advanced programming studio T...

Assessment Task 1: Advanced programming studio

The first assessment is a regular advanced programming-based exercise which consists of programming environment setup, quiz and practical problem solving. It will assess on the understanding and application of advanced programming concepts including Java GUI, program I/O and generics and data structure and algorithm.

Submission Type: Individual

Assessment Method: Cumulative assessment

Artefact: questions answers and documented code

Weighting

50%

Learning Outcomes LO1, LO2, LO3
Graduate Capabilities GC1, GC2, GC8, GC10

Assessment Task 2: Advanced programming case stud...

Assessment Task 2: Advanced programming case study

The second assessment will consist of one or several small to medium advanced programming case studies. Student will design and implement applications that exhibit effective user interfaces and efficient functional components that contribute to the stewardship of computing resources. The aim of this assessment is to enable students to undertake a realistic application development process.

Submission Type: Individual

Assessment Method: Programming and problem solving

Artefact: Case study documentation and code

Weighting

50%

Learning Outcomes LO2, LO3, LO4
Graduate Capabilities GC2, GC6, GC7, GC8, GC10

Learning and teaching strategy and rationale

Mode of Delivery

This unit is offered in different modes to support varied learning needs and enhance participation, particularly for isolated or marginalised groups.

Attendance Mode

Students attend weekly face-to-face classes (in person or online), with required preparation beforehand. Most students spend around one hour preparing before workshops and one or more hours afterwards reviewing content. Online platforms provide additional preparatory and practice activities to support learning.

Multi-Mode

In this mode, students attend face-to-face classes in intensive blocks scheduled by the School. As with attendance mode, preparation is required before workshops, and students have access to online resources for study and revision.

ACU Online

This fully online mode uses active learning to promote engagement and real-world application. Students participate in asynchronous discussions, complete interactive activities, and are encouraged to contribute personal examples. Regular feedback supports progress and learning.

Across all modes, students are expected to engage in approximately 150 hours of study, including classes, readings, online participation, and assessments.

Representative texts and references

Representative texts and references

Liang, Y. Daniel 2025, Introduction to Java Programming and Data Structures, 13th edn, Pearson Education.

Horstmann, C. S. 2025, Core Java, Volume II--Advanced Features, 13th edn, Pearson Education.

Schildt, H. 2021, Java: The Complete Reference, 12th edn, McGraw Hill.

Locations
Credit points
Year

Have a question?

We're available 9am–5pm AEDT,
Monday to Friday

If you’ve got a question, our AskACU team has you covered. You can search FAQs, text us, email, live chat, call – whatever works for you.

Live chat with us now

Chat to our team for real-time
answers to your questions.

Launch live chat

Visit our FAQs page

Find answers to some commonly
asked questions.

See our FAQs