Introduction to Algorithmics

Course code COMP2230Units 10Level 2000Faculty of Engineering and Built EnvironmentSchool of Electrical Engineering and Computer Science

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.

Available in 2015

Callaghan CampusSemester 2
Previously offered in 2014
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-serach Algorithms.

(11) Introduction to the topics of computational complexity, heuristics, metaheuristics and approximation algorithms.
Replacing Course(s)n/a
Industrial Experience0
Assumed KnowledgeSENG1120, MATH1510
Modes of DeliveryInternal Mode
Teaching MethodsProblem Based Learning
Assessment Items
Examination: ClassProgressive tests and Midterm exam as per course outline.
Essays / Written AssignmentsAssignment. As per course outline.
Examination: FormalAs per the University's exam timetable.
ProjectsAs per course outline.
Contact HoursTutorial: for 2 hour(s) per Week for Full Term
Lecture: for 3 hour(s) per Week for Full Term
Compulsory Components
Compulsory Course ComponentStudents must obtain 40% in the final exam to pass the course.
Student achieving >25% but less that 40% will be offered an alternate assessment if, and only if, all other assessment items have been submitted.
Students obtaining <25% will not be offered an alternate assessment, and will fail the course, unless students have submitted Adverse Circumstances in accordance with the Adverse Circumstances Policy.
Timetables2015 Course Timetables for COMP2230