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 code: | IFN564 |
---|---|
Prerequisite(s): | (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 (admission to IV54 or IV58). |
Antirequisite(s): | IFN505 |
Equivalent(s): | IFQ564 |
Credit points: | 6 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $559 |
Domestic tuition unit fee | $1,764 |
International unit fee | $2,412 |
Unit Outline: Semester 1 - 5 Week B 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 |
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:
- 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
- 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.
Assessment: Final theory exam
An invigilated 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: 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 |
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:
- 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
- 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.
Assessment: Final theory exam
An invigilated 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.