IFN564 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: Semester 2 - 5 Week D 2024, Gardens Point, Internal

Unit code:IFN564
Credit points:6
Pre-requisite:(IFN501 or (IFN555 and IFN556) or (IFQ555 and IFQ556) or IFN563 or Admission to IN15 or IN16 or IQ16 or IN17) or (192cps in IV04 or EV08) or (enrolment in IV54 or IV58).
Equivalent:IFQ564
Anti-requisite:IFN505
Coordinator:Dimitri Perrin | dimitri.perrin@qut.edu.au
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, including lists, stacks, queues and trees, including the binary search tree. 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

  • Linear Data Structures: Lists, Stacks and Queues
  • Non-linear Data Structures: Binary Search Trees and Trees
  • Searching algorithms
  • Sorting algorithms
  • Algorithms for Lists, Binary Search Trees and Trees
  • 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 online resources, lectures, practical laboratory experiments, and your own individual practice. The online resources will include readings and videos from a variety of sources to help explain complex topics. You will also participate in an online 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 read and watched expected material and attempted weekly exercises. Each week you will complete small programming and analysis exercises in the practicals – so that you can get immediate experience with the concepts introduced in the lectures. The project will 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. The final exam will test your understanding of the data structures and algorithms, their uses, and their efficiency.

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 analysing the computational complexity.

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

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 invigilated 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.