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.
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
Apply advanced programming concepts to design and ...
Learning Outcome 02
Develop ethical and sustainable software applicati...
Learning Outcome 03
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
30%
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
30%
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
40%
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.