Design of Algorithms

Subject COMP20007 (2012)

Note: This is an archived Handbook entry from 2012.

Credit Points: 12.50
Level: 2 (Undergraduate)
Dates & Locations:

This subject is not offered in 2012.

Time Commitment: Contact Hours: 24 one-hour lectures (two per week) and 12 two-hour workshops (one per week)
Total Time Commitment:

120 hours

Prerequisites:

12.5 points of university-level Mathematics

AND

One of the following subjects:

Subject
Study Period Commencement:
Credit Points:
Semester 1, Semester 2
12.50
Corequisites:

None

Recommended Background Knowledge:

None

Non Allowed Subjects:
Subject

433-253 Algorithms and Data Structures

433 298 Algorithms and Data Structures

Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support: http://services.unimelb.edu.au/disability

Contact

Associate Professor im Baldwin

email: tbaldwin@unimelb.edu.au

Subject Overview:

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. Topics covered include: dynamic programming; intermediate sorting algorithms (such as mergesort and heapsort); intermediate data structures (such as cuckoo hash tables, priority queues); graph algorithms (such as search, shortest paths, minimum spanning tree, network flow); introduction to approximation algorithms; organizing multi-module programs in C.

Objectives:

On completion of this subject, students should be able to:

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

Assessment:
  • Project work during semester, expected to take about 36 hours (30%)
  • A mid-semester test (10%)
  • A 3-hour end-of-semester written examination (60%)

To pass the subject, students must obtain at least:

  • 50% overall, 15/30 in project work
  • And 35/70 in the mid-semester test and end-of-semester written examination combined.
Prescribed Texts: None
Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject, students should have developed the following generic 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

Related Majors/Minors/Specialisations: Science credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Science-credited subjects - new generation B-SCI and B-ENG. Core selective subjects for B-BMED.
Related Breadth Track(s): Computing

Download PDF version.