Unit rationale, description and aim
To work effectively in computer science roles, students must have a sound understanding of essential data structures and algorithmic techniques to build the foundation of intelligent, efficient, and ethically responsible software development.
This unit provides a critical foundation for advanced study in data science and other emerging technologies. Students gain hands-on experience with fundamental data structures—including arrays, linked lists, stacks, queues, hash tables, trees, and graphs—and learn to apply key algorithms for sorting, searching, recursion, and traversal. Students will evaluate algorithm efficiency using asymptotic notations and make informed decisions about time-space trade-offs in real-world computing scenarios. Students will gain conceptual understanding of scalable methods for big data processing, with applications in areas such as healthcare analytics, digital health platforms, and medical decision-making.
The aim of this unit is to introduce students to the principles of resource-aware computing and how technology can contribute to the common good, in alignment with the United Nations Sustainable Development Goal 3: Good Health and Well-being.
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.
Describe fundamental data structures and algorithm...
Learning Outcome 01
Evaluate algorithmic efficiency using asymptotic n...
Learning Outcome 02
Design programs that apply appropriate data struct...
Learning Outcome 03
Apply algorithmic thinking to develop scalable and...
Learning Outcome 04
Apply scalable data processing solutions to effici...
Learning Outcome 05
Content
Topics will include:
- Asymptotic notations and algorithm complexity
- Arrays and linked lists
- Stacks, queues, and deques
- Hashing and hash tables
- Recursion and recursive problem-solving
- Trees: binary trees and binary search trees
- Heaps and priority queues
- Graphs: representation and traversal algorithms
- Sorting and searching algorithms
- Algorithm design techniques (e.g., divide and conquer, greedy, dynamic programming)
- Introduction to large-scale data processing
- Introduction to complexity classes (P, NP, NP-complete – conceptual only)
Assessment strategy and rationale
Assessments in this unit are designed to progressively build students’ knowledge and practical skills in data structures and algorithms, while reinforcing ethical awareness and real-world application. The strategy blends individual and collaborative tasks to develop technical competencies, critical thinking, and teamwork in authentic computing contexts.
The Programming Portfolio allows students to demonstrate their ability to apply foundational algorithmic concepts and data structures through professionally documented code and problem-solving exercises. The Algorithm Analysis Report, undertaken in groups, fosters critical analysis of algorithmic efficiency, ethical implications, and collaborative learning, reflecting team-based decision-making in industry. The Solution Implementation Project challenges students to design, implement, and justify an efficient and ethically responsible solution to a real-world problem, supporting reflection on social impact and portfolio-quality outcomes.
Together, these assessments target a range of graduate capabilities and ensure students are well-prepared to contribute meaningfully to the computing and data science sectors.
To pass the unit, students must demonstrate achievement of every unit learning outcome and obtain a minimum mark of 50% for the unit.
Overview of assessments
Assessment Task 1: Programming Portfolio Student...
Assessment Task 1: Programming Portfolio
Students design and implement efficient solutions using core data structures and algorithms. Students showcase professional-level code and documentation.
30%
Assessment Task 2: Algorithm Analysis Report Tea...
Assessment Task 2: Algorithm Analysis Report
Teams critically analyse algorithmic solutions for efficiency, ethics, and contextual factors. Fosters collaboration, evaluation, and ethical awareness.
30%
Assessment Task 3: Solution Implementation Projec...
Assessment Task 3: Solution Implementation Project
Students create and justify an efficient and ethically responsible solution to a real-world challenge using appropriate data structures and algorithms. Students reflect on scalability and ethical implications conceptually.
40%
Learning and teaching strategy and rationale
To develop the technical expertise and professional competencies aligned with vocational outcomes, students will be given the opportunity to work through hands-on problem-solving activities that facilitate active learning, critical thinking, and collaborative engagement. This student-centred approach mirrors challenges graduates will encounter in industry. Consequently, this unit adopts a student-centred, learning approach that combines asynchronous online content with interactive activities to facilitate student collaboration. Foundational knowledge is delivered through structured online materials—such as videos, guided exercises, and self-paced quizzes—enabling students to engage flexibly with key concepts at their own pace. This foundational learning will be augmented by offering opportunities for students to practice skills and for peer collaboration. These opportunities are designed to help students apply theoretical knowledge to practical challenges related to data structures and algorithms.