Skip to menu Skip to content Skip to footer
Course profile

Advanced Algorithms & Data Structures (COMP7500)

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

Analysis of algorithms. Solution of summation and recurrence equations. Algorithm paradigms: divide-and-conquer, greedy algorithms, dynamic programming, backtracking, branch-and-bound. Advanced graph algorithms. Amortised analysis. Self-adjusting data structures. Complexity classes, NP-completeness. Approximation algorithms. Randomized algorithms.

On entry to this subject, you have studied basic data structures and programming techniques. The objective of this subject is to build on these basic programming skills to develop an understanding of algorithm design and analysis techniques.

A number of general design paradigms, such as divide-and-conquer, play an important role in the development of algorithms. Familiarity with these paradigms can aid the programmer in the development of algorithms to solve new problems. The study of these design paradigms is an important component of this subject.

It is not enough just to derive an algorithm that solves a problem. If the algorithm is inefficient, it may be useless in practice. One can better appreciate an algorithm if one can analyse its use of resources, such as memory and computing time. Such analyses provide the basis for comparison of different algorithms to solve the same problem.

Overall, this subject can be viewed as an advanced course on programming, with an emphasis on developing both your ability to solve programming problems and to analyse your algorithms to ascertain their efficiency.

Course Changes in Response to Previous Student Feedback

The duration of the final examination was increased to 180 minutes.

Course requirements

Assumed background

The prerequisite knowledge required for the course is: programming experience, including basic data structures and recursive procedures; familiarity with a programming language; familiarity with proofs by mathematical induction; and knowledge of calculus, including differentiation, limits, L'Hpital's rule, and summations.

Prerequisites

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

COMP7505

Incompatible

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

COMP4500

Jointly taught details

This course is jointly-taught with:

  • COMP4500

All learning activities are jointly taught.

Course contact

Course staff

Lecturer

Dr Larissa Meinicke

Timetable

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

Aims and outcomes

This course aims to expand your abilities to analyse, critique, design, and implement advanced data structures and algorithms.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

Analyse, compare, and contrast algorithms and data structures by evaluating their time and space complexity.

LO2.

Apply algorithm design paradigms to generate novel solutions.

LO3.

Design abstract solutions based on graph algorithms, dynamic programming, and greedy methods.

LO4.

Develop efficient implementations to abstract solutions.

LO5.

Perform amortised analysis of data structures and algorithms.

LO6.

Explain the theory and relevance of theoretical complexity classes.

Assessment

Assessment summary

Category Assessment task Weight Due date
Quiz Online quizzes
  • Online
10%

9/08/2024 3:00 pm

16/08/2024 3:00 pm

23/08/2024 3:00 pm

6/09/2024 3:00 pm

11/10/2024 3:00 pm

25/10/2024 3:00 pm

Computer Code Assignment 1 15%

13/09/2024 3:00 pm

Computer Code Assignment 2 15%

18/10/2024 3:00 pm

Examination Final Examination
  • Hurdle
  • Identity Verified
  • In-person
60%

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

Online quizzes

  • Online
Mode
Written
Category
Quiz
Weight
10%
Due date

9/08/2024 3:00 pm

16/08/2024 3:00 pm

23/08/2024 3:00 pm

6/09/2024 3:00 pm

11/10/2024 3:00 pm

25/10/2024 3:00 pm

Task description

There will be 6 computer-based quizzes worth 2% each. Only the marks for your best 5 quizzes will contribute towards your final grade. They will be due at 3pm on Friday in weeks 3, 4, 5, 7, 11 and 13.

Submission guidelines

The quizzes are accessed via the course Blackboard site.

Deferral or extension

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

To accommodate unforeseen circumstances such as illness, your quiz score will be based on the best 5 out of 6 submissions. 

Late submission

You will receive a mark of 0 if this assessment is submitted late.

Assignment 1

Mode
Written
Category
Computer Code
Weight
15%
Due date

13/09/2024 3:00 pm

Task description

The assignment covers algorithm analysis, graphs and graph algorithms.

All details of the assignment will be provided via the course blackboard site.

Submission guidelines

Assignments are to be submitted online via Blackboard unless otherwise specified for a particular assessment item.

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

A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.

Assignment 2

Mode
Written
Category
Computer Code
Weight
15%
Due date

18/10/2024 3:00 pm

Task description

The assignment covers algorithm analysis, and algorithm design paradigms.
All details of the assignment will be provided via the course blackboard site.

Submission guidelines

Assignments are to be submitted online via Blackboard unless otherwise specified for a particular assessment item.

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

A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.

Final Examination

  • Hurdle
  • Identity Verified
  • In-person
Mode
Written
Category
Examination
Weight
60%
Due date

End of Semester Exam Period

2/11/2024 - 16/11/2024

Task description

The final examination is compulsory and covers the entire course. The final examination is not open book, but you may bring in one A4-size page crib sheet:

  • it may be written on both sides
  • it may be handwritten
  • if machine produced it must be a minimum of 10-point font size
  • it is to be handed in with your examination script

No calculators permitted.

Further details on the examination content and past examination papers will be provided at the end of semester and will be available from Blackboard.

Method of delivery: This exam will be held conducted as an invigilated on-campus exam. 

Hurdle requirements

Refer to the course grading for details.

Exam details

Planning time 10 minutes
Duration 180 minutes
Calculator options

No calculators permitted

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

One A4 sheet of handwritten or typed notes, double 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 Description
1 (Low Fail)

Absence of evidence of achievement of course learning outcomes.

Course grade description: At least one item of work submitted or examination attempted. Your final percentage mark is your composite mark.

2 (Fail)

Minimal evidence of achievement of course learning outcomes.

Course grade description: Composite mark >= 20%. Your final percentage mark is the minimum of your composite mark and 44%.

3 (Marginal Fail)

Demonstrated evidence of developing achievement of course learning outcomes

Course grade description: Composite mark >= 45% and final examination >= 35%. Your final percentage mark is the minimum of your composite mark and 49%.

4 (Pass)

Demonstrated evidence of functional achievement of course learning outcomes.

Course grade description: Composite mark >= 50% and final examination >= 40%. Your final percentage mark is the minimum of your composite mark and 64%.

5 (Credit)

Demonstrated evidence of proficient achievement of course learning outcomes.

Course grade description: Composite mark >= 65% and final examination >= 55%. Your final percentage mark is the minimum of your composite mark and 74%.

6 (Distinction)

Demonstrated evidence of advanced achievement of course learning outcomes.

Course grade description: Composite mark >= 75% and final examination >= 65%. Your final percentage mark is the minimum of your composite mark and 84%.

7 (High Distinction)

Demonstrated evidence of exceptional achievement of course learning outcomes.

Course grade description: Composite mark >= 85% and final examination >= 75%. Your final percentage mark is your composite mark.

Additional course grading information

Your composite mark is the sumᅠ(rounded to the nearest whole number) of your marks for your best 5 quizzes, 2 assignments and final examination.

At the discretion of the course coordinator, marks for assessment items may be adjusted upwards, but not downwards.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Generative AI and Machine Translation in Assessment

The assessment tasks evaluate 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

Lecture notes, revision materials and assignments will be available from the course blackboard site. Some solutions will also be available from the course blackboard site.

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)

Tutorial

Tutorials

Weekly tutorials.

Week 1

(22 Jul - 28 Jul)

Lecture

Introduction and mathematical background

Time and space complexity: the desire for an implementation independent measure; worst-case and average-case complexity.
Evaluating efficiency: rate of growth, asymptotic time complexity; notation.
Iterative algorithms: analysis of "while" and "for" loops; summations.

Week 2

(29 Jul - 04 Aug)

Lecture

Divide and conquer algorithms and recurrences

Divide-and conquer, recursion; divide, conquer and combine. Solving recurrences: substitution; iterating the recurrence to get a summation; recursion trees; master method.

Multiple weeks

From Week 3 To Week 5
(05 Aug - 25 Aug)

Lecture

Graph algorithms

Directed and undirected graphs: vertex, edge, predecessor, successor, in-degree, out-degree, path, reachable, simple, cycle; weighted graphs.
Graph representations: adjacency list and matrix representations.
Graph algorithms: breadth-first search; depth-first search; topological sort.
Minimal spanning tree: generic form, greedy choice strategy.

Multiple weeks

From Week 6 To Week 7
(26 Aug - 08 Sep)

Lecture

Dynamic programming

Optimal substructure; overlapping sub-problems; table of sub-problem solutions; memoization; order of evaluation; dynamic programming.

Week 8

(09 Sep - 15 Sep)

Lecture

Greedy algorithms

Greedy method: optimal substructure; greedy choice property; comparison of dynamic programming and greedy paradigms.

Week 9

(16 Sep - 22 Sep)

Lecture

Amortised analysis

Efficiency analysis in terms of sequences of operations; crude analysis; global analysis; the accounting method; the potential method.

Multiple weeks

From Week 10 To Week 11
(30 Sep - 13 Oct)

Lecture

Complexity classes

Decision problems; tractable and intractable problems; Polynomial time; the class P; Polynomial time verification; the class NP; reducibility; NP-completeness. Traveling-salesman problem.

Week 12

(14 Oct - 20 Oct)

Lecture

Randomised algorithms

Probabilistic analysis, randomised quicksort.

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: