IFQ564 Data Structures and Algorithms


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-3B 2024, QUT Online, Online (Start Date: 20 Apr 2020)

Unit code:IFQ564
Credit points:6
Pre-requisite:IFN501 or (IFN555 and IFN556) or (IFQ555 and IFQ556) or IN15 or IQ15 or IN16 or IQ16 or IFN563
Equivalent:IFN564
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

In this unit you will work with some of the fundamental data structures of computer science, those used to represent strings, dictionaries, lists, trees and graphs. You will learn and implement the algorithms commonly used for searching, sorting and processing these data. You will learn how to assess the efficiency of such algorithms, allowing you to distinguish between those which can process large amounts of data efficiently, and those that run unacceptably slowly as the size of the input grows.

Learning Outcomes

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

  1. Explain the structure and use cases of a number of commonly used data structures and algorithms, and related concepts such as complexity.
  2. Implement commonly used data structures and algorithms in software.
  3. Analyse the computational efficiency of algorithms using big-O notation.
  4. Create software that uses common data structures and algorithms to solve real world problems.

Content

  • Interfaces and Abstract Data Types
  • Basic collection types: Lists, Sets, Dictionaries, Stacks and Queues.
  • Tree and Graph algorithms: Search and Shortest path
  • Sorting algorithms
  • Analysis of computational complexity and Big-O notation.
  • Practical application of data structures, algorithms and complexity analysis to real-world problems.

Learning Approaches

This unit will use a blended approach to teaching, making use of on-line resources, lectures, practical laboratory experiments, and your own individual practice. The on-line resources will include readings and videos from a variety of sources to help explain complex topics. You will also participate in an on-line discussion forum with your classmates and teaching team to create a community of engaged learners that help and support one another. Lectures will assume that you have pre-read expected material and attempted weekly exercises. Each week you will complete small programming and analysis exercises and submit your solution for online marking – so that you can get rapid weekly feedback regarding your progress. The term long project will then allow you the opportunity to demonstrate your skills in both applying your knowledge of data structures and algorithms to solve a real-world problem and analysing its computational complexity.

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 during lectures and practical sessions.
  • You will receive formative peer and academic feedback on your practical exercises conducted in labs.
  • You will receive written feedback on submitted assessment items.
  • You can request private consultation with teaching staff.

Assessment

Overview

The assessment is designed to allow you to demonstrate your comprehension of the core data structures, algorithm and computational complexity concepts covered in this unit.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Project (Applied)

Solving a real-word problem by implementing a number of data structures and algorithms discussed in class and analyse the computational complexity.

This is an assignment for the purposes of an extension.

Weight: 50
Length: 5-8 page report, plus approximately 100 lines of code
Individual/Group: Individual
Due (indicative): Week 3 of the unit
Related Unit learning outcomes: 2, 3, 4

Assessment: Final theory exam

An online exam consisting of a set of multiple choice questions and/or a number of short answer type questions.

Weight: 50
Length: 2 hours
Individual/Group: Individual
Due (indicative): After 6-week term
Related Unit learning outcomes: 1, 3

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

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.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

  • There will be a prescribed text, TBC (possibly an eBook)
  • Visual Studio Software (available free of charge to ICT students)
  • Link to other online resources will also be provided.

Risk Assessment Statement

Risk assessment statement guide

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