Click Here to view current 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.
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 - 2019
Term 1 - 2019 Profile
Term 2 - 2019 Profile
Term 3 - 2019 Profile
Term 1 - 2020 Profile
Term 2 - 2020 Profile
Term 3 - 2020 Profile
Term 1 - 2021 Profile
Term 2 - 2021 Profile
Term 3 - 2021 Profile
Term 1 - 2022 Profile
Term 2 - 2022 Profile
Term 3 - 2022 Profile
Term 1 - 2023 Profile
Term 2 - 2023 Profile
Term 3 - 2023 Profile
Term 1 - 2024 Profile
Term 2 - 2024 Profile
Term 3 - 2024 Profile
Term 1 - 2025 Profile
Term 2 - 2025 Profile
Term 3 - 2025 Profile
Term 1 - 2026 Profile
Term 2 - 2026 Profile
Term 3 - 2026 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).
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. Written Assessment | 20% |
| 2. Written Assessment | 30% |
| 3. 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%).
Past Exams
All University policies are available on the Policy web site, however you may wish to directly view the following policies below.
This list is not an exhaustive list of all University policies. The full list of policies are available on the Policy web site.
No previous feedback available
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: Head of Course
The prerequisite unit has been modified. As from term 2, 2024, COIT20256 will become the first Java programming unit.
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.
These changes were all in place for term 2, 2024.
Source: Feedback from students and the teaching team
Program assignments and tutorial exercises were engaging and helped students to understand the concepts being taught.
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.
New tutorials and programming assignments were developed to reflect the new learning outcomes for term 2, 2024.
Source: Feedback from students
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.
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.
All lecture materials and associated resources were updated to correspond to the new unit LOs. Options were investigated to provide additional support for students. However, only additional help from the UC was made available.
Source: Feedback from students and the teaching team
The unit learning materials are useful and help the student learning.
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.
Similar learning materials and resources have been provided for the new version of the unit.
Source: Student evaluations, feedback from the teaching team and informal feedback.
The new unit materials are well-written and help the students to learn the new content in this unit.
Continue to provide teaching materials and resources of a similar standard.
In Progress
Source: Information from the textbook publisher.
A new updated edition of the textbook will be released in March of 2026. It will have significant changes. We will be required to change the textbook for term 2 2026.
When the new textbook is released, the unit will require significant redevelopment to accommodate the change to the new textbook. Material will also need to be updated to include changes to the Java language.
In Progress
Source: Knowledge about new Java releases.
A new LTS version of Java (25) has been released, and we need to transition to use the new LTS version in 2026. Other software (e.g. NetBeans) should also be transitioned to more recent, up-to-date versions.
Teaching resources will need to be tested and updated to reflect the changes to the Java language and new versions of software to be used in 2026 .
In Progress
Source: Feedback from students and the teaching team.
Program assignments and tutorial exercises were engaging and helped students to understand the concepts being taught.
Continue with similar assessment items that reinforce the concepts being taught in the unit.
In Progress
On successful completion of this unit, you will be able to:
- Compare and contrast different algorithms in problem solving
- Design and implement appropriate data structures for application development
- Evaluate a variety of data structures and algorithmic approaches including: recursion, linked lists, stacks, queues, streams, search trees, sorting and searching
- Analyse, develop and implement software solutions with the focus of data structures and algorithms
- Apply classes, inheritance, polymorphism, and exception handling
- Programmatically connect to a database and implement the database operations
- Work collaboratively as part of a small team
- Demonstrate socially innovative practices in software development
- Accomplish functional programming with Lambda expressions and Streams.
- Systems design (DESN)
- System Integration (SINT)
- Program ming/Software Development (PROG)
- Data Analysis (DTAN)
- Database/Repository Design (DBDS)
- Testing (TEST)
- Applications Support (ASUP)
| Assessment Tasks | Learning Outcomes | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
| 1 - Written Assessment | • | • | • | • | |||||
| 2 - Written Assessment | • | • | • | • | • | • | • | • | |
| 3 - Examination | • | • | • | ||||||
| Graduate Attributes | Learning Outcomes | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
| 1 - Knowledge | • | • | • | • | • | • | |||
| 2 - Communication | • | • | |||||||
| 3 - Cognitive, technical and creative skills | • | • | • | • | • | • | |||
| 4 - Research | • | ||||||||
| 5 - Self-management | • | ||||||||
| 6 - Ethical and Professional Responsibility | • | • | |||||||
| Assessment Tasks | Graduate Attributes | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 8 | |
| 1 - Written Assessment | • | • | • | • | |||||
| 2 - Written Assessment | • | • | • | • | • | • | |||
| 3 - Examination | • | • | • | ||||||