COIT20256 - Data Structures and Algorithms

General Information

Unit Synopsis

In this unit, you will study advanced data structures and algorithms for software development using an object oriented programming language. You will learn how to build classes, throw exceptions, and extend a class using inheritance and polymorphism. You will practice these concepts and build applications with front-end Graphical User Interface and back-end database using database programming. You will also learn to build software applications using built-in Java Application Programming Interfaces (APIs) for generic collections of linked lists, stacks, queues, sets and maps, and creating custom generic data structures. You will also gain understanding of sorting and searching algorithms, recursion, search trees, and learn to evaluate algorithms using Big O notation. You will be introduced to functional programming using Lambdas and Streams. You will be given hands-on experience to practice all concepts during computer lab tutorials. The object-oriented design will also be covered.


Level Postgraduate
Unit Level Not Applicable
Credit Points 6
Student Contribution Band 2
Fraction of Full-Time Student Load 0.125
Pre-requisites or Co-requisites

Pre-requisite: COIT20245 Introduction to Programming

Class Timetable View Unit Timetable
Residential School No Residential School

Unit Availabilities from Term 3 - 2019

Term 3 - 2019 Profile

Attendance Requirements

All on-campus students are expected to attend scheduled classes – in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).

Assessment Overview

Recommended Student Time Commitment

Each 6-credit Postgraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.

Assessment Tasks

This information will not be available until 8 weeks before term.
To see assessment details from an earlier availability, please search via a previous term.

This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of ‘pass’ in order to pass the unit. If any ‘pass/fail’ tasks are shown in the table above they must also be completed successfully (‘pass’ grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the ‘assessment task’ section (note that in some instances, the minimum mark for a task may be greater than 50%).

Consult the University’s Grades and Results Procedures for more details of interim results and final grades

Past Exams

To view Past Exams, please login
Previous Feedback

Term 1 - 2018 : The overall satisfaction for students in the last offering of this course was 4 (on a 5 point Likert scale), based on a 38.27% response rate.

Feedback, Recommendations and Responses

Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.

Source: Unit evaluation
Received many positive feedbacks from students regarding the opportunity to learn database programming, lambdas, and graphical user interface coding. Teach more algorithms.
Formalise inclusion of Lambdas by updating the unit profile sections of overview and assessment. Algorithms are already part of the unit. It is difficult to include more content as the Unit is already content intensive. Some minor modifications can be done and this will be considered.
Action Taken
The unit profile is updated revising the unit overview, learning outcomes and assessment weights, to formalise the inclusion of Lambdas and Streams.
Source: Unit evaluation
There have been some dissatisfaction about the clarity of assignment requirements.
The assignments are written based on authentic software development cases and this may cause some inherent vagueness. The students will be given clear instructions to design the solution with supporting assumptions taken by them.
Action Taken
Unit learning Outcomes
This information will not be available until 8 weeks before term.
To see Learning Outcomes from an earlier availability, please search via a previous term.