Skip to main content
Unit of study_

COMP9007: Algorithms

The study of algorithms is a fundamental aspect of computing. This unit of study covers data structures, algorithms, and gives an overview of the main ways of computational thinking from simple list manipulation and data format conversion, up to shortest paths and cycle detection in graphs. Students will gain essential knowledge in computer science, including basic concepts in data structures, algorithms, and intractability, using paradigms such as dynamic programming, divide and conquer, greed, local search, and randomisation, as well NP-hardness.

Code COMP9007
Academic unit Computer Science
Credit points 6
Prerequisites:
? 
None
Corequisites:
? 
None
Prohibitions:
? 
COMP5211
Assumed knowledge:
? 
This unit of study assumes that students have general knowledge of mathematics (especially Discrete Math) and problem solving. Having moderate knowledge about Data structures can also help students to better understand the concepts of Algorithms taught in this course.

At the completion of this unit, you should be able to:

  • LO1. demonstrate knowledge of fundamental algorithms for several problems, including graphs, greedy algorithms, divide-and-conquer, dynamic programming, and network flow
  • LO2. collaborate in lectures/tutorials and exchange of ideas to solve algorithmic problems
  • LO3. understand and analyze given algorithms as well as ability to design algorithmic solutions for given problems
  • LO4. practice your writing presentation skills.

Unit outlines

Unit outlines will be available 2 weeks before the first day of teaching for the relevant session.