Studying online

There are now 2 possible online modes for units:

Units with modes Online timetabled and Online flexible are available for any student to self-enrol and study online.

Click on an offering mode for more details.

Unit Overview

Description

At the core of most computer applications is the storage and retrieval of information. The way that the stored data is structured has a strong impact on what can be retrieved, how quickly it can be retrieved and how much space it occupies. The use of generic structures, or abstract data types (ADTs), to encapsulate the data also facilitates software engineering principles of independent modification, extension and re-use. This unit studies the specification, implementation and time-and-space performance of a range of commonly used ADTs and corresponding algorithms in an object-oriented setting.

Credit
6 points
Offering
(see Timetable)
AvailabilityLocationMode
Semester 1UWA (Perth)Face to face
Details for undergraduate courses
  • Level 2 core unit in the Computer Science; International Cybersecurity; Computing and Data Science; Artificial Intelligence; Automation and Robotics Engineering; Biomedical Engineering; Software Engineering; Quantum Computing major sequences
  • Level 2 elective
Outcomes

Students are able to (1) undertake problem identification via abstraction; (2) describe common and important data structures and algorithms in the computing discipline; (3) implement a range of data structures and information literacy algorithms in a high-level programming language; (4) apply existing data structures and algorithms from pre-built software libraries; (5) design data structures and algorithms; and (6) critically assess the performance of different data structures and algorithms.

Assessment

Indicative assessments in this unit are as follows: (1) mid-semester test; (2) laboratories and project; and (3) final examination. Further information is available in the unit outline.



Student may be offered supplementary assessment in this unit if they meet the eligibility criteria.

Unit Coordinator(s)
Professor Amitava Datta
Unit rules
Prerequisites
CITS1401 Computational Thinking with Python
or CITX1401 Computational Thinking with Python
and
Mathematics Methods ATAR
or MATH1721 Mathematics Foundations: Methods or equivalent
or MATX0721 Mathematics Foundations: Methods
Advisable prior study
An additional programming-based unit
Contact hours
61 (lectures: 26 hours
practical classes: 11 hours
labs: 24 hours)
Texts

M. Goodrich, R. Tamassia and M. Goldwasser, "Data Structure and Algorithms in Python", 1st Edition, 2013.

  • The availability of units in Semester 1, 2, etc. was correct at the time of publication but may be subject to change.
  • All students are responsible for identifying when they need assistance to improve their academic learning, research, English language and numeracy skills; seeking out the services and resources available to help them; and applying what they learn. Students are encouraged to register for free online support through GETSmart; to help themselves to the extensive range of resources on UWA's STUDYSmarter website; and to participate in WRITESmart and (ma+hs)Smart drop-ins and workshops.
  • Visit the Essential Textbooks website to see if any textbooks are required for this Unit. The website is updated regularly so content may change. Students are recommended to purchase Essential Textbooks, but a limited number of copies of all Essential Textbooks are held in the Library in print, and as an ebook where possible. Recommended readings for the unit can be accessed in Unit Readings directly through the Learning Management System (LMS).
  • Contact hours provide an indication of the type and extent of in-class activities this unit may contain. The total amount of student work (including contact hours, assessment time, and self-study) will approximate 150 hours per 6 credit points.