Unit rationale, description and aim

As software systems become increasingly complex and interactive, a deeper understanding of advanced programming concepts is essential for students aiming to build robust, user-friendly, and data-driven applications. This unit builds on the foundational knowledge gained in Programming Concepts (ITEC217) and guides students toward the development of more specialised graphical user interface (GUI) based software applications. Core topics include event-driven programming, GUI design, file input/output operations, data structures, and generics. Through practical programming tasks, students will gain the skills to address real-world problems that require effective user interaction and data handling. The unit scaffolds student learning toward the advanced unit Web and Mobile Application Development (ITEC323), where these skills are extended to complex, real-world application development. The unit also emphasises the importance of responsible and efficient computing, promoting energy-conscious development practices that contribute to long-term sustainability in software design.

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 2Campus Attendance

Prerequisites

ITEC217 Programming Concepts OR ISYS217 - Programming Concepts

Incompatible

ISYS313 - Object Oriented Programming

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.

Explain foundational principles of graphical user ...

Learning Outcome 01

Explain foundational principles of graphical user interface (GUI) programming in the context of developing interactive software applications.
Relevant Graduate Capabilities: GC1, GC7

Apply advanced programming concepts to design and ...

Learning Outcome 02

Apply advanced programming concepts to design and implement effective software solutions for real-world programming challenges.
Relevant Graduate Capabilities: GC2, GC8

Develop ethical and sustainable software applicati...

Learning Outcome 03

Develop ethical and sustainable software applications by integrating key programming components to ensure responsible development.
Relevant Graduate Capabilities: GC2, GC6

Content

Topics will include:


·       A Brief Overview of OOP

·       Java Event Model

·       Introduction to JavaFX

·       Simple JavaFX Application

·       Stages, Scenes, and Nodes

·       JavaFX UI Controls

·       JavaFX Layout Management & Scene Builder

·       Handling Button Click Events

·       Using Lambda Expressions for Events

·       Mouse and Key Events

·       Anonymous inner classes vs Separate Event Handlers

·       Arrays and ArrayLists

·       LinkedList and Stacks

·       Queue and Priority Queues

·       Basic Sorting algorithms

·       File I/O and Exception handling.

·       Programming Ethics

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 evaluates students' understanding of the fundamental JavaFX concepts needed to solve simple problems using appropriate programming structures, data types, and algorithms. The second assessment consists of regular lab exercises, submitted individually on a fortnightly basis, where students will set up programming environments and engage in practical problem-solving tasks. The final assessment involves an individual GUI-based programming project, where students will develop applications that feature effective user interfaces and efficient functional components, contributing to the responsible and sustainable use of computing resources. Any use of AI tools must be appropriately acknowledged.

The assessment tasks for this unit are designed for you to demonstrate your 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: In-class Test This assessment c...

Assessment Task 1: In-class Test

This assessment consists of small coding tasks that test students’ understanding of the JavaFX content from week 1 to week 5 and conducted during week 6 in class. SEB (Safe Exam Browser) will be implemented during the test. Students will be given simple programming task. '

Submission Type: Individual

Assessment Method: Closed Book Test

Artefact: Written solution/code

Word limit: 1000

Weighting

30%

Learning Outcomes LO1
Graduate Capabilities GC1, GC7

Assessment Task 2: Advanced Programming Practical ...

Assessment Task 2: Advanced Programming Practical and Bootcamp

The second assessment involves ongoing programming exercises conducted during lab sessions. It will assess students' ability to apply advanced programming techniques, focusing on building interactive applications, managing data flow, and implementing efficient problem-solving strategies. Students will receive constructive feedback on each lab submission via Canvas within two weeks of submission.

Submission Type: Individual

Assessment Method: Cumulative assessment

Artefact: Written solution and code

Word limit: 1000

Weighting

30%

Learning Outcomes LO2, LO3
Graduate Capabilities GC2, GC6, GC8

Assessment Task 3: Advanced Programming project T...

Assessment Task 3: Advanced Programming project

The final assessment consists of a small programming project that involves developing interactive applications with a focus on basic sorting and searching algorithms. This assessment aims to provide students with practical experience in GUI development while also emphasising the creation of ethical, sustainable, and user-focused software solutions.


Submission Type: Individual

Assessment Method: Project design and implementation

Artefact: Project documentation and code

Word limit: 2000

Weighting

40%

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

Learning and teaching strategy and rationale

This unit uses a collaborative and practice-based learning approach and will be delivered in multi-mode over a twelve-week semester or equivalent study period. Students will have access to all primary learning materials online, along with formative and summative assessments, to provide a learning experience beyond the classroom. While there are no formal classroom lectures for this unit, students will be required to attend weekly two-hour workshops and fortnightly two-hour labs, which will include a seminar, problem-solving exercises and specific tasks related to the achievement of the unit learning outcomes.

Students should anticipate undertaking 150 hours of study for this unit, including class attendance, readings, online forum participation and assessment preparation.

Representative texts and references

Representative texts and references

Burd, B. (2022). Java for dummies (8th ed.). John Wiley & Sons, Inc.

Bluck, A. S. (2023). Practical java programming with ChatGPT : develop, prototype and validate java applications by integrating openAI API and leveraging generative AI and LLMs (First edition.). Orange Education Pvt Ltd.

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

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

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

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