Click to show Site menu [+]

Available in 2012

Callaghan CampusSemester 2

Previously offered in 2013, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004

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.

Objectives
(1) To introduce students to efficient algorithm design techniques.

(2) To introduce students to basic techniques regarding analysis of performance of algorithms.

(3) To make students familiar with the most important basic algorithms used in various computer science application and theoretical areas.
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.
Replacing Course(s)
n/a
Transition
n/a
Industrial Experience
0
Assumed Knowledge
SENG6120
Knowledge of discrete mathematics.
Modes of Delivery
Internal Mode
Teaching Methods
Problem Based Learning
Lecture
Tutorial
Assessment Items
Examination: Class
Progressive tests and Midterm exam as per course outline.
Essays / Written Assignments
Assignment. As per course outline.
Examination: Formal
As per the University's exam timetable.
Other: (please specify)
Assessment tailored towards MIT students needs.
Projects
As per course outline.
Contact Hours
Lecture: for 3 hour(s) per Week for Full Term
Tutorial: for 2 hour(s) per Week for Full Term

Timetables