Viewing Unit History

The information below is relevant from 08/03/2021 to 07/07/2024
Click Here to view current information

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 design and build classes, throw exceptions, and extend a class using inheritance and polymorphism. You will practise these concepts and develop applications with front-end Graphical User Interface (GUI) components and backend databases using database programming. You will build software applications using complex data structures and Application Programming Interfaces (APIs). You will gain an understanding of basic algorithms, and learn to evaluate algorithmic performance and assess the correct use of different data structures. You will be introduced to functional programming using Lambdas and Streams. You will obtain hands-on experience using all the concepts by completing programming exercises.

Details

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

Pre-requisite: COIT20245 Introduction to Programming

Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).

Class Timetable View Unit Timetable
Residential School No Residential School

Unit Availabilities from Term 1 - 2024

Term 1 - 2024 Profile
Brisbane
Melbourne
Online
Rockhampton
Sydney
Term 2 - 2024 Profile
Brisbane
Melbourne
Online
Rockhampton
Sydney
Term 3 - 2024 Profile
Online
Term 1 - 2025 Profile
Brisbane
Melbourne
Online
Rockhampton
Sydney
Term 2 - 2025 Profile
Brisbane
Melbourne
Online
Rockhampton
Sydney
Term 3 - 2025 Profile
Brisbane
Melbourne
Online
Sydney

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

Assessment Task Weighting
1. Practical Assessment 20%
2. Practical Assessment 10%
3. Practical Assessment 20%
4. Examination 50%

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 Policy for more details of interim results and final grades

Past Exams

To view Past Exams,
please login
Previous Feedback

Term 1 - 2024 : The overall satisfaction for students in the last offering of this course was 80.00% (`Agree` and `Strongly Agree` responses), based on a 35.21% 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: Student evaluations, feedback from the teaching team and informal feedback
Feedback
The unit learning materials are well written and help the student learning.
Recommendation
Continue with the same materials updating resources and instructions as required for new software releases.
Action Taken
In term 1 2024, the materials were very similar to 2023 materials. However, this unit will have to undergo significant changes due to the changes to the prerequisite unit. From term 2 2024 this unit will become the first Java programming unit so its starting point and end point in terms of content will be different to the current unit. As a consequence, the unit has been renamed as Object Oriented Development from term 2 2024.
Source: Student evaluations and informal feedback
Feedback
Assessments are challenging, but also engaging and extremely helpful for learning
Recommendation
Continue with similar assessments that help students to develop practical skills.
Action Taken
The assessment regime has remained similar to previous terms.
Source: Self reflection, teaching team and Head of Course
Feedback
It would be useful to introduce students to version control and secure programming practices in this unit
Recommendation
Introduce version control and secure programming guidelines in this unit.
Action Taken
Version control and reference to secure coding have now been included in this unit.
Source: Student feedback
Feedback
Some students continue to find this unit challenging and would appreciate additional support.
Recommendation
Investigate options for providing additional support for students.
Action Taken
Additional individual help was provided by the Unit Coordinator when needed. Other options continue to be explored.
Source: Head of Course
Feedback
The prerequisite unit has been modified. As from term 2, 2024, COIT20256 will become the first Java programming unit.
Recommendation
Change the name of the unit from Data Structures and Algorithms to Object Oriented Development. Change the learning outcomes for the unit. Change the content to match the new learning outcomes.
Action Taken
In Progress
Source: Feedback from students and the teaching team
Feedback
Program assignments and tutorial exercises were engaging and helped students to understand the concepts being taught.
Recommendation
New tutorials and programming assessments will be developed to assess the new learning outcomes. However, the types of tasks and breakdown of marks will remain the same.
Action Taken
In Progress
Source: Feedback from students
Feedback
Some students found that there was a lot of new content (and a large number of slides presented each week). They found the content, pace and concepts quite challenging.
Recommendation
The materials are to be redeveloped as a result of the changes to the prerequisite unit. Investigate options for providing additional support for students who find the unit challenging.
Action Taken
In Progress
Source: Feedback from students and the teaching team
Feedback
The unit learning materials are useful and help the student learning.
Recommendation
While the positive feedback was pleasing this unit will have to undergo significant changes due to the changes to the prerequisite unit. From term 2 2024 this unit will become the first Java programming unit so its starting point and end point in terms of content will be different to the current unit. As a consequence, the learning outcomes have been modified for term 2 2024.
Action Taken
In Progress
Unit learning Outcomes

On successful completion of this unit, you will be able to:

  1. Design classes which use inheritance, polymorphism, and exception handling
  2. Develop multi-layered software solutions, focusing on data structures and algorithms
  3. Integrate data sets using complex data structures such as linked lists, stacks, and queues
  4. Evaluate performance of different algorithms in problem solving
  5. Investigate socially innovative practices in software development
  6. Create Lambda expressions and streams using functional programming.

Australian Computer Society (ACS) recognises the Skills Framework for the Information Age (SFIA). SFIA provides a consistent definition of ICT skills. SFIA is adopted by organisations, governments, and individuals in many countries and is increasingly used when developing job descriptions and role profiles.

ACS members can use the tool MySFIA to build a skills profile at https://www.acs.org.au/professionalrecognition/mysfia-b2c.html

This unit contributes to the following workplace skills as defined by SFIA 7. The SFIA code is included:
  • Software Design (SWDN)
  • System Integration and Build (SINT)
  • Programming/Software Development (PROG)
  • Data modelling and design (DTAN)
  • Database Design (DBDS)
  • Testing (TEST)
  • User experience analysis (UNAN)
  • User experience design (HCEV).

Alignment of Assessment Tasks to Learning Outcomes
Assessment Tasks Learning Outcomes
1 2 3 4 5 6
1 - Practical Assessment
2 - Practical Assessment
3 - Practical Assessment
4 - Examination
Alignment of Graduate Attributes to Learning Outcomes
Professional Level
Advanced Level
Graduate Attributes Learning Outcomes
1 2 3 4 5 6
1 - Knowledge
2 - Communication
3 - Cognitive, technical and creative skills
4 - Research
5 - Self-management
6 - Ethical and Professional Responsibility
Alignment of Assessment Tasks to Graduate Attributes
Professional Level
Advanced Level
Assessment Tasks Graduate Attributes
1 2 3 4 5 6 7 8
1 - Practical Assessment
2 - Practical Assessment
3 - Practical Assessment
4 - Examination