Year
2024Credit points
10Campus offering
Prerequisites
ITEC217 Programming Concepts OR ISYS217 - Programming Concepts
Incompatible
ISYS313 - Object Oriented Programming
Teaching organisation
150 hours over a twelve-week semester or equivalent study period
Unit rationale, description and aim
This is an intermediate level programming unit that prepares students for developing specialised applications by teaching them key programming theories including data structures and algorithms. It is built on the fundamental programming concepts students have gained from the Programming Concepts unit to teach students more advanced programming concepts. It covers object-oriented programming, event-driven programming, graphical user interface, file input/output, generics, data structures and algorithms. It aims to equip students with the skills needed to solve programming problems of moderate complexity, such as applications that provide an interface to real-world data. It also teaches students effective use of computing resources through implementing efficient data structures and algorithms, which contributes to stewardship of natural and computing resources.
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.
Learning Outcome Number | Learning Outcome Description | Relevant Graduate Capabilities |
---|---|---|
LO1 | Demonstrate high-level working knowledge and understanding of advanced programming concepts through consistent problem solving and program understanding | GC1, GC2, GC3, GC7, GC8, GC9, GC10 |
LO2 | Implement application programs with correct and appropriate user interface, program I/O and generics, and data structure and algorithm | GC2, GC3, GC4, GC7, GC8, GC9, GC10, GC11 |
LO3 | Design applications that exhibit effective user interface and efficient functional components | GC1, GC2, GC3, GC7, GC8, GC10, GC11 |
LO4 | Analyse data structures and algorithms and choose appropriate ones for the stewardship of computing resources | GC1, GC2, GC3, GC7, GC8, GC9, GC10, GC11 |
Content
Topics covered:
- Object-oriented programming
- Generics programming
- Event-driven programming
- Graphical user interface design
- Java I/O systems
- Recursion and recursive methods
- Data structures and efficient algorithms
- Sorting algorithms
- Introduction to efficient non-linear data structures
- Stewardship of computing resources through appropriate use of data structures and algorithms
Learning and teaching strategy and rationale
This unit can be offered in different modes. These are: “Attendance” mode, “Multi” mode and “Online” mode, to cater for the learning needs and preferences of a range of participants and maximise effective participation for isolated and/or marginalised groups.
Attendance Mode
In a weekly attendance mode, students will require face-to-face attendance in specific physical or online location/s. Students will have face-to-face interactions with lecturer(s) or lab demonstrators to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops, most students report that they spend an average of one hour preparing before the workshop and one or more hours after the workshop practicing and revising what was covered. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for students to prepare and revise.
Multi-Mode
In a multi-mode, students will require face-to-face attendance in blocks of time determined by the School. Students will have face-to-face interactions with lecturer(s) to further their achievement of the learning outcomes. This unit is structured with required upfront preparation before workshops. The online learning platforms used in this unit provide multiple forms of preparatory and practice opportunities for students to prepare and revise.
ACU Online
This unit uses an active learning approach to support students in the exploration of knowledge essential to the discipline. Students are provided with choice and variety in how they learn. Students are encouraged to contribute to asynchronous weekly discussions. Active learning opportunities provide students with opportunities to practice and apply their learning in situations similar to their future professions. Activities encourage students to bring their own examples to demonstrate understanding, application and engage constructively with their peers. Students receive regular and timely feedback on their learning, which includes information on their progress.
Students should anticipate undertaking 150 hours of study for this unit, including activities like class attendance, reading, online engagement and assessment preparation.
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 online engagement assessment consists of a series of weekly submissions or activities that test students’ understanding of the asynchronous learning modules. The second assessment item is a regular advanced programming-based lab exercises that consist of programming environment setup and practical problem solving. The last programming project assessment will consist of one or several small to medium advanced programming projects requiring efficiently developing user interfaces and data structures and algorithms that contribute to the stewardship of computing resources.
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
Brief Description of Kind and Purpose of Assessment Tasks | Weighting | Learning Outcomes |
---|---|---|
Assessment Task 1: Online engagement This assessment consists of a series of weekly submissions or activities (e.g., quiz answers, short answers, forum discussions, or small coding tasks) that test students’ understanding of the asynchronous learning modules. These submissions will be provided timely feedback to improve student learning of the unit content. Submission Type: Individual Assessment Method: Cumulative assessment Artefact: Answers and problem solving | 30% | LO1 |
Assessment Task 2: Advanced programming practical The assessment is a regular advanced programming-based lab practical which consists of programming environment setup and practical problem solving. It will assess on the application of advanced programming concepts including Java OOP, GUI, program I/O, generics, and data structure and algorithm.
Submission Type: Individual Assessment Method: Cumulative assessment Artefact: Written solution and code | 30% | LO2 |
Assessment Task 3: Advanced programming project The assessment will consist of one or several small to medium advanced programming projects. Student will develop larger applications exhibiting effective user interfaces and efficient functional components that contribute to the stewardship of computing resources. The aim of this assessment is to provide students experience on different technical aspects of project development. Submission Type: Individual Assessment Method: Project design and implementation Artefact: Project documentation and code | 40% | LO3, LO4 |
Representative texts and references
Y. Daniel Liang 2018, Introduction to Java Programming and Data Structures, 11th edn, Pearson Education.
C. S. Horstmann 2019, Core Java, Volume II--Advanced Features, 11th edn, Pearson Education.
H. Schildt 2019, Java: The Complete Reference, 11th edn, McGraw Hill.