Unit rationale, description and aim

Writing efficient and high-quality programs is a sought-after technical skill every technology company is seeking. To write these programs mastery of the science underlying the art of programming is critical. This unit introduces students to data structures as methods for organising large amounts of data. It also introduces algorithms as a set of well-defined instructions or steps designed to perform a specific task. This unit also introduces students to data modelling and computational trade-offs when developing software. This is because all computing devices have limited or restricted resources including memory, computational power, and energy consumption and computer scientists need to work with an awareness of these limitations. The aim of this unit is therefore to extend student programming capabilities by exploring the application and implementation of different data structures and algorithms and considerations associated with appropriate selection of these tools to meet different system requirements.

2026 10

Campus offering

No unit offerings are currently available for this unit.

Prerequisites

ITEC102 Python Fundamentals For Data Science

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 an understanding of fundamental data s...

Learning Outcome 01

Demonstrate an understanding of fundamental data structures and algorithms.
Relevant Graduate Capabilities: GC1

Implement fundamental data structures and algorith...

Learning Outcome 02

Implement fundamental data structures and algorithms in a programming language.
Relevant Graduate Capabilities: GC1, GC2, GC4, GC7, GC8

Synthesise knowledge of data structures and algori...

Learning Outcome 03

Synthesise knowledge of data structures and algorithms to develop efficient solutions for real-world applications and measure their efficiency and effectiveness.
Relevant Graduate Capabilities: GC1, GC2, GC3, GC7, GC8

Communicate complex algorithmic concepts and solut...

Learning Outcome 04

Communicate complex algorithmic concepts and solutions effectively to technical and non-technical audiences.
Relevant Graduate Capabilities: GC1, GC2, GC6, GC7, GC8, GC11, GC12

Content

Topics will include:

·        Big-O notation

·        Arrays and Linked lists, Stacks, Queues and Deques

·        Hashing and Hash Tables

·        Recursion

·        Binary trees and binary search trees

·        Graph representations and traversal algorithms

·        Sorting and Searching Algorithms

·        Algorithm design techniques

·        Time and Space Complexity

·        MapReduce model for big data processing

 

Assessment strategy and rationale

Assessments are designed to ensure students gain a sound foundational understanding of data structures and algorithms which will enable them to develop efficient code to solve problems. The assessments act as examples of what students might use as they build their own personal professional portfolio. Assessment 1 has been designed to ensure that students gain a broad understanding of the topic and are able to translate this understanding to efficient code snippets. This also gives students the opportunity to add examples of their work to their professional portfolio. Assessment 2 challenges students, working in small teams, to critically apply their knowledge to analyse the design and complexity of a series of real-world scenarios, and prepare a report of the outcomes of their analysis. Assessment 3 further challenges students to implement, validate and justify a solution to a complex problem that is not only correct but efficient. This series of assessments scaffolds students' learning by progressively increasing the complexity of tasks and requiring progressive integration of unit learning outcomes.  

To pass the unit, students must demonstrate achievement of every unit learning outcome and obtain a minimum mark of 50%.

Overview of assessments

Type – Programming Portfolio   Purpose – E...

Type – Programming Portfolio

 

Purpose – Enables students to demonstrate a comprehensive understanding of how to build code that address fundamental data structures and algorithm techniques.

 

This is an individual assessment

Weighting

30%

Learning Outcomes LO1, LO2

Type – Analysis Report   Purpose – Gain sk...

Type – Analysis Report

 

Purpose – Gain skills in critically evaluating the time and space complexity of different code solutions and evaluate the outcomes to recommend the best solutions.

 

This is a group assessment 

Weighting

30%

Learning Outcomes LO1, LO2, LO3, LO4

Type – Solution Implementation   Purpose –...

Type – Solution Implementation

 

Purpose – Develop (code) an efficient solution to a complex problem. Design and execute test cases to validate the correctness and performance of the solution. Report on the testing process and justify the final solution.

 

This is an individual assessment

Weighting

40%

Learning Outcomes LO1, LO2, LO3, LO4

Learning and teaching strategy and rationale

The teaching approach within this unit puts the student at the centre of their learning. This is achieved by using a blended learning approach that integrates asynchronous interactive online elements with face-to-face learning experiences. Access to fundamental knowledge is provided through online resources that enable students to build their understandings in a flexible manner. Students are given the opportunity to build upon this knowledge, and knowledge gained through prerequisite studies, through social learning experiences conducted in face-to-face classes such as tutorials and workshops. These opportunities enable students to build more complex understandings through peer interactions and structured learning experiences. This blended learning approach allows students to develop problem solving skills which align to vocational practices in computer science. 

Representative texts and references

Representative texts and references

Canning, J., Broder, A. & Lafore, R. (2019). Data Structures & Algorithms in Python. Addison-Wesley.

 

Dixit, R. (2017) Introduction to Data Structures & Algorithms in Java. Packt Publishing.

 

Wengrow, J. (2023). A Common-Sense Guide to Data Structures and Algorithms in Python. Volume 1 level up your core programming skills. Pragmatic Bookshelf.

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