1. Handbook
  2. Subjects
  3. Design of Algorithms

Design of Algorithms (COMP20007)

Undergraduate level 2Points: 12.5Campus: Parkville

You’re viewing the 2017 Handbook. View archived Handbooks

Overview

Year of offer2017
Subject levelUndergraduate Level 2
Subject codeCOMP20007
Mode of delivery
On Campus — Parkville
Availability
Semester 1
FeesSubject EFTSL, Level, Discipline & Census Date

AIMS

Programmers can choose between several representations of data. These will have different strengths and weaknesses, and each will require its own set of algorithms. This subject will cover some of the most frequently used data structures and their associated algorithms. The emphasis will be on justification of algorithm correctness, on analysis of algorithm performance, and on choosing the right data structure for the problem at hand.

INDICATIVE CONTENT

Sample projects are: approximate string matching for a translation memory, involving sorting and comparison of dynamic programming, branch-and-bound search and brute-force search using a variety of data structures (e.g. arrays, hash tables, tries); speech synthesis based on a pronouncing dictionary and pre-prepared grapheme-phoneme alignment data, based on parsing of the alignment data, hashing of variable length n-grams, and a variety of models for predicting the phoneme(s) associated with a given phoneme sequence (e.g. a simple unigram baseline or a hidden Markov model).

Learning outcomes

INTENDED LEARNING OUTCOMES (ILO)

On completion of this subject the student is expected to:

  1. Read, write and debug graph algorithms, advanced sorting algorithms, dynamic programs and greedy algorithms
  2. Read, write and debug code using intermediate data structures
  3. Choose between different algorithms for intermediate problems by analysing their complexity
  4. Read, write and debug typical multi-module programs in a system programming language such as C

Generic skills

On completion of this subject, students should have developed the following skills:

  • An ability to apply knowledge of basic science and engineering fundamentals
  • An ability to undertake problem identification, formulation and solution
  • The capacity to solve problems, including the collection and evaluation of information
  • The capacity for critical and independent thought and reflection
  • An expectation of the need to undertake lifelong learning, and the capacity to do so.

Last updated: 27 March 2017