Available in 2024
Course code

COMP6230

Units

10 units

Level

6000 level

Course handbook

Description

This course introduces students to the notion of efficiency and computational complexity. The basic data structures encountered in first year, such as lists, trees and graphs, are reviewed in light of their efficiency and common usage scenario. Asymptotic measures of complexity are covered, and recurrence relations are introduced as an analytical tool. Problem-solving techniques such as the greedy strategy, divide-and-conquer, dynamic programming, and graph searching are covered. These techniques are illustrated upon optimization problems chosen for their practical relevance.


Availability2024 Course Timetables

Callaghan

  • Semester 2 - 2024

Learning outcomes

On successful completion of the course students will be able to:

1. apply basic techniques to analyse the performance of algorithms;

2. explain the most important algorithms used in various common computer science applications;

3. apply efficient algorithm design techniques and understand the limitations of algorithms.


Content

  1. Preliminaries (review of basic mathematical notions, data structures, induction, basic combinatorics).
  2. Elementary algorithmics (worst-case vs. average case, basic examples, elementary operations).
  3. Asymptotic Notation (big O, Omega and Theta).
  4. Analysis of Algorithms (loops, recurrence relations).
  5. Data structures (graphs, trees, heaps, disjoint sets).
  6. Searching and Sorting.
  7. Greedy algorithms.
  8. Divide-and-Conquer.
  9. Dynamic programming.
  10. Text-search Algorithm.
  11. Introduction to the topics of computational complexity, heuristics, metaheuristics and approximation algorithms.  

Assumed knowledge

SENG6120Knowledge of discrete mathematics


Assessment items

Written Assignment: Assignment 1

In Term Test: Midterm Exam

Formal Examination: Examination: Formal
Compulsory Requirement: Pass requirement 40% - Must obtain 40% in this assessment item to pass the course.

Quiz: 3 Quizzes


Contact hours

Semester 2 - 2024 - Callaghan

Lecture-1
  • Face to Face On Campus 2 hour(s) per week(s) for 13 week(s) starting in week 1
Tutorial-1
  • Face to Face On Campus 2 hour(s) per week(s) for 13 week(s) starting in week 1

Course outline

Course outline not yet available.