Skip to menu Skip to content Skip to footer
Course profile

Algorithms & Data Structures (COMP7505)

Study period
Sem 2 2024
Location
St Lucia
Attendance mode
In Person

Course overview

Study period
Semester 2, 2024 (22/07/2024 - 18/11/2024)
Study level
Postgraduate Coursework
Location
St Lucia
Attendance mode
In Person
Units
2
Administrative campus
St Lucia
Coordinating unit
Elec Engineering & Comp Science School

Data structures and types, mapping of abstract information structures into representations on primary and secondary storage. Analysis of time and space complexity of algorithms. Sequences. Lists. Stacks. Queues. Sets, multisets, tables. Trees. Sorting. Hash tables. Priority queues. Graphs. String algorithms.

This course will introduce data structures and algorithms that are important for designing computer programs with performance guarantees and constitute the basis of complex software systems. Broadly speaking, this course will teach you to think - and to solve problems - like a computer scientist. The course will also cover a set of analytical techniques that are fundamental for advanced studies in theoretical computer science. Changes to this offering include moving from Gradescope quizzes to RiPPLE tasks to improve student engagement, and minor improvements to course material including lecture slides and tutorial questions.

Course requirements

Assumed background

Prior programming experience in an object-oriented language (e.g. Python, Java, C++, C#, etc.),ᅠwith a good understanding of the principle of encapsulation,ᅠisᅠassumed.

Prerequisites

You'll need to complete the following courses before enrolling in this one:

CSSE7023 and ( MATH7861 or MATH7501)

Incompatible

You can't enrol in this course if you've already completed the following:

COMP2502 or COMP3506

Jointly taught details

This course is jointly-taught with:

  • COMP3506

All learning activities are jointly taught.

Course contact

Course staff

Lecturer

Dr Joel Mackenzie

Timetable

The timetable for this course is available on the UQ Public Timetable.

Aims and outcomes

This course will build an understanding of how the architecture of a computer impacts the construction of programs and how data structures and algorithms can be constructed to efficiently perform desired functionality. The goal of this course is to build enough understanding of data structures and associated algorithms so that an appropriate set can be selected in the design of new software. The students should develop an understanding of:
  1. How computer data structures impact the performance of complex software;
  2. Fundamental algorithms and data structuresᅠincluding their time and space requirements;
  3. How to select appropriate data structures and algorithms to settle practical problems;
  4. Mathematical techniques for designing and analysing algorithms with performance guarantees.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

UNDERSTAND THE PRINCIPLES OF DATA STRUCTURES - Understand the internal workings of fundamental data structures and algorithms

LO2.

UNDERSTAND THE PRINCIPLES OF DATA STRUCTURES - Determine the running time and memory space usage of common algorithms.

LO3.

DEVELOP ALGORITHMIC SOLUTIONS - Analyse the performance of fundamental data structures and algorithms.

LO4.

DEVELOP ALGORITHMIC SOLUTIONS - Adapt or invent new algorithms and data structures for software engineering problems.

LO5.

DEVELOP ALGORITHMIC SOLUTIONS - Select and justify appropriate combinations of data structures and algorithms to solve software engineering problems.

LO6.

DEVELOP ALGORITHMIC SOLUTIONS - Communicate the efficiency and correctness of identified solutions

Assessment

Assessment summary

Category Assessment task Weight Due date
Participation/ Student contribution, Quiz, Tutorial/ Problem Set RiPPLE Activities
  • Online
10% (Best 7 of 9)

5/08/2024 4:00 pm

12/08/2024 4:00 pm

26/08/2024 4:00 pm

2/09/2024 4:00 pm

9/09/2024 4:00 pm

16/09/2024 4:00 pm

30/09/2024 4:00 pm

8/10/2024 4:00 pm

21/10/2024 4:00 pm

Note that the Week 11 task is due on Tuesday (of Week 11) due to the Monday being a public holiday.

Computer Code Assignment 1
15%

23/08/2024 3:00 pm

Computer Code Assignment 2
25%

18/10/2024 3:00 pm

Examination Final Exam
  • Hurdle
50%

End of Semester Exam Period

2/11/2024 - 16/11/2024

A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.

Assessment details

RiPPLE Activities

  • Online
Mode
Written
Category
Participation/ Student contribution, Quiz, Tutorial/ Problem Set
Weight
10% (Best 7 of 9)
Due date

5/08/2024 4:00 pm

12/08/2024 4:00 pm

26/08/2024 4:00 pm

2/09/2024 4:00 pm

9/09/2024 4:00 pm

16/09/2024 4:00 pm

30/09/2024 4:00 pm

8/10/2024 4:00 pm

21/10/2024 4:00 pm

Note that the Week 11 task is due on Tuesday (of Week 11) due to the Monday being a public holiday.

Task description

RiPPLE activities are designed to demonstrate your ability to understand data structures, solve simple algorithmic problems, compute the time and space complexity of algorithms, and optimize their computational complexity. These activities are designed to keep students engaged with the week-by-week teaching material.

The assessable tasks will consist of a combination of learning resource creation, moderation and practice. Submissions will be due at the start of each teaching week beginning in Week 3 and ending in Week 13. The best 7 of 9 submissions will be used to calculate a student's mark, with each submission weighted equally. Detailed task specifications will be announced and placed on Blackboard at the start of the semester.

Submission guidelines

The assessment will be submitted online via the RiPPLE platform. Detailed instructions will be provided in the task specification.

Deferral or extension

You cannot defer or apply for an extension for this assessment.

No extensions available and 100% Late penalty applied for the online quizzes. To accommodate unforeseen circumstances such as illness, the best 7 of 9 submissions will contribute to the total RiPPLE mark, allowing for two missed submissions across the semester.

Assignment 1

Mode
Written
Category
Computer Code
Weight
15%
Due date

23/08/2024 3:00 pm

Other conditions
Student specific.

See the conditions definitions

Task description

In the first assignment, you will demonstrate your ability to implement and use simple data structures and algorithms to solve a computing problem. Please note that COMP7505 students will be required to implement additional functionality with respect to COMP3506 students.

Submission guidelines

Via submission link on Gradescope.

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked assignments with feedback and/or detailed solutions with feedback will be released to students within 7-14 days where the earlier time frame applies if no extensions.

Late submission

100% Late Penalty after 1 hour grace period. The one-hour grace period is recorded from the time the submission is due. 

Assignment 2

Mode
Written
Category
Computer Code
Weight
25%
Due date

18/10/2024 3:00 pm

Other conditions
Student specific.

See the conditions definitions

Task description

In the second assignment, you will demonstrate your ability to implement and use complex data structures and algorithms to solve an advanced computing problem. You will also be expected to provide analysis that communicates time and space complexity of a given algorithm. Please note that COMP7505 students will be required to implement additional functionality with respect to COMP3506 students.

Submission guidelines

Via submission link on Blackboard/Gradescope.

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked assignments with feedback and/or detailed solutions with feedback will be released to students within 7-14 days where the earlier time frame applies if no extensions.

Late submission

100% Late Penalty after 1 hour grace period. The one-hour grace period is recorded from the time the submission is due. 

Final Exam

  • Hurdle
Mode
Written
Category
Examination
Weight
50%
Due date

End of Semester Exam Period

2/11/2024 - 16/11/2024

Task description

A two-hour invigilated final examination will be held during the final examination period. It aims to test the students' understanding of topics covered by the whole course. The exam will be closed-book. The examination is centrally timetabled.

Hurdle requirements

Students must achieve at least 50% on the final exam in order to pass this course. If you achieve less than 50% in the final examination, your overall final marks will be capped at 49, and your final grade will be capped at 3.

Exam details

Planning time 10 minutes
Duration 120 minutes
Calculator options

(In person) Casio FX82 series or UQ approved , labelled calculator only

Open/closed book Closed Book examination - specified written materials permitted
Materials

One A4 sheet of handwritten or typed notes, single sided, is permitted

Exam platform Paper based
Invigilation

Invigilated in person

Submission guidelines

Deferral or extension

You may be able to defer this exam.

Course grading

Full criteria for each grade is available in the Assessment Procedure.

Grade Cut off Percent Description
1 (Low Fail) 0 - 19

Absence of evidence of achievement of course learning outcomes.

2 (Fail) 20 - 44

Minimal evidence of achievement of course learning outcomes.

3 (Marginal Fail) 45 - 49

Demonstrated evidence of developing achievement of course learning outcomes

4 (Pass) 50 - 64

Demonstrated evidence of functional achievement of course learning outcomes.

5 (Credit) 65 - 74

Demonstrated evidence of proficient achievement of course learning outcomes.

6 (Distinction) 75 - 84

Demonstrated evidence of advanced achievement of course learning outcomes.

7 (High Distinction) 85 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Additional course grading information

Students must achieve at least 50% on the final exam in order to pass this course. If you achieve less than 50% in the final examination, your overall final marks will be capped at 49, and your final grade will be capped at 3.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Mark Rounding:ᅠ Course marks will be rounded to the nearest grade before application of grade cut-offs (eg: 74.4 becomes 74; 74.5 becomes 75).

Moderation: The course coordinator reserves the right to moderate marks.

Generative AI Policy

  • Assignments: Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance. A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
  • RiPPLE: This assessment task evaluates students' abilities, skills and knowledge without the aid of generative Artificial Intelligence (AI) or Machine Translation (MT). Students are advised that the use of AI technologies to develop responses is strictly prohibited and may constitute student misconduct under the Student Code of Conduct.

Having Troubles? If you are having difficulties with any aspect of the course material you should seek help. Speak to the course teaching staff.

If external circumstances are affecting your ability to work on the course, you should seek help as soon as possible. The University and UQ Union have organisations and staff who are able to help, for example, UQ Student Services are able to help with study and exam skills, tertiary learning skills, writing skills, financial assistance, personal issues, and disability services (among other things).

Complaints and criticisms should be directed in the first instance to the course coordinator. If you are not satisfied with the outcome, you may bring the matter to the attention of the School of EECS Director of Teaching and Learning.

Learning resources

You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.

Library resources

Find the required and recommended resources for this course on the UQ Library website.

Additional learning resources information

Facilities

There will be no special access to a computer lab for this course. ᅠPlease see the EECS Student Guide for information on expectations and requirements for the use of the computer labs.

Blackboard

Course material and announcements will appear on Blackboard at https://learn.uq.edu.au/. The Blackboard website should be checked for announcements regularly; at least once a week and more often in the week before assignments are due. Note that solutions or partial solutions to individual assignments should not be posted on any public forum. If you are uncertain about whether or not a post is appropriate, please contact the teaching staff for clarification. The blackboard will also contain links to other relevant tools such as the Ed discussion forum or Gradescope.

Sample exams

Some past exams are available from the library. See: http://www.library.uq.edu.au/exams/

Learning activities

The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.

Filter activity type by

Please select
Clear filters
Learning period Activity type Topic
Multiple weeks

From Week 1 To Week 13
(22 Jul - 27 Oct)

Lecture

Lectures

Multiple weeks

From Week 2 To Week 13
(29 Jul - 27 Oct)

Tutorial

Contacts

Policies and procedures

University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:

Learn more about UQ policies on my.UQ and the Policy and Procedure Library.

School guidelines

Your school has additional guidelines you'll need to follow for this course: