精东传媒app

UniSQ Logo
The current and official versions of the course specifications are available on the web at .
Please consult the web for updates that may occur during the year.

CSC2401 Algorithms and Data Structures

Semester 2, 2022 Toowoomba On-campus
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Mathematics, Physics & Computing
Grading basis : Graded
Course fee schedule : /current-students/administration/fees/fee-schedules

Staffing

Examiner:

Requisites

Pre-requisite: CSC2402 or Students must be enrolled in one of the following Programs: GDTI or GCSC or GCEN or METC or MCOT or MCTE or MCOP or MPIT

Overview

Algorithms and Data Structures is one of the major courses in the Computer Science Curriculum recommended by ACM/IEEE-CS Joint Curriculum Task Force. It is essential for students to gain a good knowledge of algorithms and data structures in order to be competent computer programmers. It is closely related to other computing courses, and students will find that this course is essential for other subsequent courses such as Operating Systems and Software Engineering.

This course addresses various data structures and techniques for algorithm design and analysis. It covers basic data structures such as lists, stacks, queues, trees and graphs within an Object paradigm. The design of various algorithms such as searching algorithms, sorting algorithms and graph algorithms is discussed. This course also addresses other topics such as recursive algorithms and complexity analysis.

Course learning outcomes

On completion of this course the student will have learned or achieved:

  1. Develop recursive solutions to problems;
  2. Apply sorting algorithms and able to compare and evaluate their efficiency;
  3. Apply dynamic memory, specifically with classes;
  4. Select and apply dynamic linked data structures, including STL classes;
  5. Create and traverse tree data structures;
  6. Design and create template classes;
  7. Apply abstract classes to create a class hierarchy.

Topics

Description Weighting(%)
1. Programming Revision 10.00
2. Recursion 10.00
3. Sorting, Searching and Algorithm Analysis 10.00
4. Memory Management 10.00
5. Lists, Stacks, Queues, More Memory Management 20.00
6. Sets, Maps, Hashing 10.00
7. Trees, Priority Queues 10.00
8. Templates 10.00
9. Class Hierarchies and Abstract Classes 10.00

Text and materials required to be purchased or accessed

Malik, D.s 2018, C++ Programming: Program Design Including Data Structures, 8th edn, Cengage.
(ISBN 978-1-337-11756-2.)
The student must have access to a standard C++ 11 compiler. The only supported compilers are the Linux g++ compiler and its equivalent MinGW running under Windows. The MinGW software is available on the course web site.

Student workload expectations

To do well in this subject, students are expected to commit approximately 10 hours per week including class contact hours, independent study, and all assessment tasks. If you are undertaking additional activities, which may include placements and residential schools, the weekly workload hours may vary.

Assessment details

Approach Type Description Group
Assessment
Weighting (%) Course learning outcomes
Assignments Written Quiz No 10 1,2,3,4,5,6,7
Assignments Written Problem Solving 1 No 20 1,2,3,4,5
Assignments Written Problem Solving 2 No 20 3,4,5,6,7
Examinations Non-invigilated Time limited online examinatn No 50 1,2,3,4,5,6,7
Date printed 10 February 2023