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

Find out more about study modes.

Unit offerings may be subject to minimum enrolment numbers.

Please select your preferred campus.

  • Term Mode
  • Semester 1Campus Attendance
  • Semester 2Campus Attendance

Prerequisites

ITEC618 - Programming Concepts OR ITEC619 Programming Fundamentals

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 of advanc...

Learning Outcome 01

Demonstrate high-level working knowledge 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: GC1, GC7

Content

Topics covered: 

  • Object-oriented programming (OOP) in Java
  • The Java Event Model
  • Java GUI programming
  • Graphical user interface (GUI) programming in Java
  • Text and binary input/output (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. 

Assessment Task 1 checks students’ core advanced programming skills in a controlled setting before major project work. It assesses Java object-oriented programming fundamentals and data structure reasoning through code tracing, debugging, and short coding tasks. Assessment Task 2 builds capability over time through four mini-projects that increase in complexity across the semester, showcasing iterative development and growing proficiency. Assessment Task 3 requires students to design and implement a realistic application with an effective user interface and efficient functional components, emphasising sound development processes and responsible stewardship of computing resources A short viva will accompany the case study assessments to verify authorship, confirm conceptual understanding, and ensure academic integrity.

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 Th...

Assessment Task 1: Advanced programming studio

This assessment provides an opportunity for students to demonstrate their understanding of advanced programming concepts in a controlled environment. It focuses on students foundational skills before they begin the larger programming portfolio and authentic project later in the unit. Students will apply Java object-oriented concepts, event-driven programming logic, generics, I/O fundamentals, and data structure reasoning to code-tracing, debugging, and micro-coding tasks.


Submission Type: Individual

Assessment Method:

Examination including computer code

Artefact:

Exam Response Sheet

Weighting

30%

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

Assessment Task 2: Mini-Project Portfolio This a...

Assessment Task 2: Mini-Project Portfolio

This assessment provides students with an opportunity to build a portfolio of four progressively complex mini-projects, developed throughout the study period.

Submission Type: Individual

Assessment Method:

Computer Code

Artefact:

Documented Computer Code

Weighting

30%

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

Assessment Task 3: Advanced programming case stud...

Assessment Task 3: Advanced programming case study

Students will design and implement an application with an effective user interface and efficient functional components that use computing resources responsibly. This assessment aims to give students experience in following a realistic end-to-end application development process.

Submission Type: Individual

Assessment Method:

Computer Code + Presentation

Artefact:

Documented Computer Code + Live / Recorded with face-overlay Presentation (8 minutes) + Online Viva

Weighting

40%

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

Learning and teaching strategy and rationale

This unit is delivered through Attendance and Online modes using a single, integrated learning and teaching strategy designed to ensure equivalent learning outcomes and a comparable learning experience for all students, while supporting diverse learning needs and maximising access.

Across both modes, learning activities are intentionally aligned to the unit learning outcomes and assessment tasks, and are underpinned by active learning, guided engagement with disciplinary knowledge, opportunities for peer interaction, and regular, timely feedback. While the mode of delivery shapes how students participate, the pedagogical intent, expectations and standards remain consistent.

In Attendance mode, students engage in weekly face-to-face classes at designated locations, supported by preparatory activities prior to workshops and opportunities for consolidation following classes. Online learning platforms are used to complement face-to-face teaching through additional resources and learning activities.

In Online mode, students engage with the same core content and learning outcomes through a combination of synchronous and asynchronous activities, including structured discussions and applied learning tasks that support learning in professional contexts.

Across both delivery modes, students should plan to commit approximately 150 hours to this unit over the semester, including participation in learning activities, independent study, readings and assessment preparation.

Representative texts and references

Representative texts and references

Liang DY, 2025. Introduction to Java Programming and Data Structures, Comprehensive Version, 13th Edition, Pearson Education.

Farrell J, 2023, Java Programming, 10th Edition. Cengage Learning.

Horstmann Cay S., 2025, Core Java Volume I -- Fundamentals, 13th Edition.

Prentice Hall. Schildt H, 2021, Java: The Complete Reference, 12th Edition. McGraw-Hill Education.

Deitel, P., & Deitel, H. (2025). Java How to Program: An Objects-Natural Approach (12th ed.). Pearson Education.

Barnes, D. J., & Kölling, M. (2025). Objects First with Java: A Practical Introduction Using BlueJ (7th ed.). Pearson Education.

Lewis, J., & Loftus, W. (2023). Java Software Solutions: Foundations of Program Design (10th ed.). Pearson Education.

Sierra, K., Bates, B., & Gee, T. (2022). Head First Java (3rd ed.). O’Reilly Media.

Schildt, H. (2022). Java: A Beginner’s Guide (9th ed.). McGraw-Hill Education.

Sharan, K., & Davis, A. L. (2021). Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 (3rd ed.). Apress / Springer Nature.

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