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 code: | IFQ564 |
---|---|
Prerequisite(s): | IFN501 or (IFN555 and IFN556) or (IFQ555 and IFQ556) or IFN563 or Admission to IQ16 |
Equivalent(s): | IFN564 |
Credit points: | 6 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $559 |
Domestic tuition unit fee | $1,764 |
Unit Outline: Session-1B 2024, QUT Online, Online
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 |
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:
- Explain the structure and use cases of a number of commonly used data structures and algorithms, and related concepts such as complexity.
- Implement commonly used data structures and algorithms in software.
- Analyse the computational efficiency of algorithms using big-O notation.
- 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.
Assessment: Final theory exam
An online exam consisting of a set of multiple choice questions and/or a number of short answer type questions.
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.
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 |
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:
- Explain the structure and use cases of a number of commonly used data structures and algorithms, and related concepts such as complexity.
- Implement commonly used data structures and algorithms in software.
- Analyse the computational efficiency of algorithms using big-O notation.
- 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.
Assessment: Final theory exam
An online exam consisting of a set of multiple choice questions and/or a number of short answer type questions.
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.