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.
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
Develop application programs with correct and appr...
Learning Outcome 02
Design and implement applications that exhibit eff...
Learning Outcome 03
Critically evaluate data structures and algorithms...
Learning Outcome 04
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
30%
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
30%
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
40%
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.