IFQ664 Advanced Algorithms and Computational Complexity


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Session 2 2026, QUT Online, Online

Unit code:IFQ664
Credit points:12
Pre-requisite:IFQ584 or IFN584 or ((IFQ563 and IFQ564) or (IFN563 or IFN564)) OR IFN505
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

This unit teaches you data structures, algorithms, and algorithm analysis. When faced with a challenging software problem to solve, it is important to be familiar with a range of clever, but general algorithms and data structures that others in the field have already developed. When no ready-made solution exists, it is important to understand and be guided by the general principles of algorithm design, and to draw upon the experience of the profession in creating new methods. You will learn how to analyse the time efficiency of new and existing algorithms, to determine their suitability for the task at hand.  And most importantly, you will learn how to apply your knowledge to solve practical real-world problems.

Learning Outcomes

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

  1. Discuss the structure and use cases of a range of advanced data structures, algorithms, and complexity.
  2. Analyse the complexity of algorithms using advanced complexity concepts.
  3. Evaluate algorithms for particular applications.
  4. Apply algorithm design techniques to create new algorithms for solving computational problems
  5. Communicate algorithms and complexity analysis according to professional standards to stakeholders.
  6. Create software adapting existing advanced data structures and algorithms to solve practical real-world problems.

Content

  • Advanced algorithm analysis techniques, including iterative algorithm analysis techniques and recursive algorithm analysis techniques
  • Algorithm design techniques including advanced algorithm design techniques, such as dynamic programming, divide and conquer, greedy and backtracking.
  • Data structures, including advanced data structures, such as graph and heap.
  • Algorithms, including advanced algorithms, such as graph algorithms

Learning Approaches

This unit will make use of readings and examples to help explain complex topics as well as weekly activities to apply the mathematical theory. You will also participate in asynchronous on-line discussions as well as synchronous sessions with your peers and the teaching team to create a community of engaged learners to help and support one another. The weekly practical activities are designed to develop the skills required for a major project that allows you the opportunity to apply and demonstrate your skills solving a more substantial real-world problem.

Feedback on Learning and Assessment

Feedback in this unit is provided in the following ways:

  • You can ask the teaching staff for advice and assistance.

  • You will receive formative peer and academic feedback on the weekly activities.

  • You will receive written feedback on the major project.

Assessment

Overview

The assessment is designed to allow you to demonstrate each of the learning outcomes for this unit.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Project (Applied)

Implement advanced data structures and algorithms to solve a real-world problem and perform a detailed computational complexity analysis.

The ethical and responsible use of generative artificial intelligence (GenAI) tools is authorised in this assessment. See the relevant assessment details in Canvas for specific guidelines.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Weight: 50
Length: 30-45 hours
Individual/Group: Group
Due (indicative): Week 8
Related Unit learning outcomes: 1, 2, 3, 5, 6

Assessment: Final Exam

A traditional exam consisting of multiple-choice questions and short answer questions. 

The use of generative artificial intelligence (GenAI) tools is prohibited during this assessment.

Weight: 50
Individual/Group: Individual
Due (indicative):
Central exam duration: 2:10 - Including 10 minute perusal
During the Assignment Week
Related Unit learning outcomes: 1, 2, 4

Academic Integrity

Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.

The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.

Resources

This unit makes use of a prescribed textbook, industry software as well as additional resources available in the unit Canvas site.

Resource Materials

Prescribed text(s)

Introduction to Algorithms, 3rd Edition, by Cormen, Leiserson and Rivest, MIT Press (available as Ebook)

Software

Visual Studio Software (available free of charge to ICT students)

Other

Canvas Site; Links to other online resources will also be provided via the Canvas Site.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit.

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

IQ20 Master of Information Technology

  1. Demonstrate advanced specialist IT knowledge in at least one information technology discipline
    Relates to: ULO1, ULO2, Project (Applied), Final Exam
  2. Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
    Relates to: ULO2, ULO3, ULO6, Project (Applied), Final Exam
  3. Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
    Relates to: ULO4, ULO6, Project (Applied), Final Exam
  4. Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
    Relates to: ULO5, Project (Applied)
  5. Demonstrate business acumen and well-developed values, attitudes, behaviours and judgements in professional contexts.
    Relates to: ULO6, Project (Applied)