Data Structures and Algorithms

Unit Outline (Higher Education)

   
?   Display Outline Guidelines      


Effective Term: 2025/05
Institute / School :Institute of Innovation, Science & Sustainability
Unit Title: Data Structures and Algorithms
Unit ID: ITECH2509
Credit Points: 15.00
Prerequisite(s): (ITECH1400)
Co-requisite(s): Nil
Exclusion(s): (ITECH3109 and ITECH3218)
ASCED: 020109
Other Change:  
Brief description of the Unit

This unit will explore program design approaches ensuring efficient computing to solve complex problems. In particular, students will study methods for analysing algorithms` time and space efficiency using asymptotic notation. Students will apply this analysis as they study a range of data structures and the algorithms used for processing such structures. Algorithms covered will include standard sorting and searching methods through to tree, graph and flow network processing algorithms. Finally, this unit will discuss implementation of each approach from scratch, as well as through the use of a built-in Application Programming Interface (API). Upon completion of this unit students will be able to determine and implement the appropriate data structure and algorithm to solve a range of problems, as well as be able to determine the efficiency of the solution.

Grade Scheme: Graded (HD, D, C, P, MF, F, XF)
Work Experience Indicator:
No work experience
Placement Component:
Supplementary Assessment:Yes
Where supplementary assessment is available a student must have failed overall in the Unit but gained a final mark of 45 per cent or above, has completed all major assessment tasks (including all sub-components where a task has multiple parts) as specified in the Unit Description and is not eligible for any other form of supplementary assessment
Course Level:
Level of Unit in CourseAQF Level(s) of Course
5678910
Introductory                                                
Intermediate                                        
Advanced                                                
Learning Outcomes:
Knowledge:
K1.

Describe ways in which to measure the efficiency of an algorithm.

K2.

Identify the computational complexity of a range of complex problems.

K3.

Discuss the purpose and need for abstract data types in the definition of data structures.

K4.

Define a range of common data structures along with their appropriate application.

K5.

Calculate and compare the efficiency of algorithms.

Skills:
S1.

Calculate and compare the efficiency of algorithms.

S2.

Specify abstract data types to describe the design of various data structures.

S3.

Implement common data structures and algorithms from first principles.

S4.

Validate algorithms` performance empirically and compare with their theoretical efficiency.

Application of knowledge and skills:
A1.

Develop, debug and test program solutions for given textual, informally written program specifications.

Unit Content:

Topics may include:
1.
Efficiency of algorithms, time and space complexity.

2.
Computational complexity of problems.

3.
Range of data structures.

4.
Sorting and searching algorithms.

5.
Tree processing algorithms.

6.
Graph theory.

7.
Graph processing algorithms.

8.
Network-flow algorithms.

9.
Implementation issues such as memory management, data types, generics.

10.
API based implementations of algorithms.

11.
Empirical testing and validation of algorithm implementations.

Graduate Attributes:
 Learning Outcomes AssessedAssessment TasksAssessment TypeWeighting
1.

K1, K2, S1, S3

Demonstrate the ability to solve programming problems by implementing recursive/iterative algorithms.

Lab Test(s)

10 - 20%

2.

K4 - K5, S1 - S4, A1

Solve programming problems by modifying and implementing  provided algorithms and data structures.

Assignments and/or projects.

50 - 60%

3.

K1 - K5, S1 - S4

Class attendance and exercises, reading of reference material and lecture notes.

Final Examination/Test

20 - 30%

Adopted Reference Style:
APA  ()

Professional Standards / Competencies:
 Standard / Competency