Handbook home
Design of Algorithms (COMP20007)
Undergraduate level 2Points: 12.5Dual-Delivery (Parkville)
From 2023 most subjects will be taught on campus only with flexible options limited to a select number of postgraduate programs and individual subjects.
To learn more, visit COVID-19 course and subject delivery.
About this subject
- Overview
- Eligibility and requirements
- Assessment
- Dates and times
- Further information
- Timetable(opens in new window)
Contact information
Semester 1
Prof. Lars Kulik
Overview
Availability | Semester 1 - Dual-Delivery |
---|---|
Fees | Look up fees |
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).
Intended learning outcomes
on completion of this subject the student is expected 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
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: 11 April 2024
Eligibility and requirements
Prerequisites
Option 1
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP10002 | Foundations of Algorithms |
Semester 2 (Dual-Delivery - Parkville)
Semester 1 (Dual-Delivery - Parkville)
|
12.5 |
AND
a minimum of 25 credit points of University-level Mathematics subjects
Option 2
All of
Code | Name | Teaching period | Credit Points |
---|---|---|---|
ECON10005 | Quantitative Methods 1 |
Semester 2 (Dual-Delivery - Parkville)
Semester 1 (Dual-Delivery - Parkville)
|
12.5 |
COMP10002 | Foundations of Algorithms |
Semester 2 (Dual-Delivery - Parkville)
Semester 1 (Dual-Delivery - Parkville)
|
12.5 |
AND
a minimum of 12.5 credit points of University-level Mathematics subjects
Option 3
Admission into the MC-SOFTENG Master of Software Engineering
Corequisites
None
Non-allowed subjects
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20003 | Algorithms and Data Structures | Semester 2 (Dual-Delivery - Parkville) |
12.5 |
COMP90038 | Algorithms and Complexity |
Semester 1 (Dual-Delivery - Parkville)
Semester 2 (Dual-Delivery - Parkville)
|
12.5 |
433-253 Algorithms and Data Structures
433 298 Algorithms and Data Structures
Inherent requirements (core participation requirements)
The University of Melbourne is committed to providing students with reasonable adjustments to assessment and participation under the Disability Standards for Education (2005), and the Assessment and Results Policy (MPF1326). Students are expected to meet the core participation requirements for their course. These can be viewed under Entry and Participation Requirements for the course outlines in the Handbook.
Further details on how to seek academic adjustments can be found on the Student Equity and Disability Support website: http://services.unimelb.edu.au/student-equity/home
Last updated: 11 April 2024
Assessment
Description | Timing | Percentage |
---|---|---|
Two projects during semester, with the first (worth 10%) due at the start of week 6 and the second (worth 20%) due at the start of week 12. Intended Learning Outcomes, (ILOs) 1 to 4 are addressed by the project.
| From Week 6 to Week 12 | 30% |
One mid-semester test. ILOs 1 and 3 are addressed in the test.
| Mid semester | 10% |
One written examination. ILOs 1 to 3 are addressed in the exam.
| End of semester | 60% |
Additional details
Hurdle requirement: 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.
Intended Learning Outcomes (ILOs) 1 - 4 are addressed through the projects and in workshops. ILOs 1 - 3 are assessed in the mid-semester test and the final exam.
Last updated: 11 April 2024
Dates & times
- Semester 1
Coordinator Lars Kulik Mode of delivery Dual-Delivery (Parkville) Contact hours 48 hours, comprising of two 1-hour lectures and one 2-hour workshop per week Total time commitment 170 hours Teaching period 28 February 2022 to 29 May 2022 Last self-enrol date 11 March 2022 Census date 31 March 2022 Last date to withdraw without fail 6 May 2022 Assessment period ends 24 June 2022 Semester 1 contact information
Prof. Lars Kulik
Time commitment details
170 hours
Last updated: 11 April 2024
Further information
- Texts
Prescribed texts
There are no specifically prescribed or recommended texts for this subject.
- Subject notes
LEARNING AND TEACHING METHODS
The subject is delivered through a combination of lectures and workshops (combination of tutorial and individual/group work in a computer lab). The subject consolidates the introductory C programming exposure students will have attained through COMP10002 Foundations of Algorithms or COMP20006 Programming the Machine.
INDICATIVE KEY LEARNING RESOURCES
Students have access to lecture notes, lecture slides and tutorial worksheets. The subject LMS site also contains links to recommended resources relating to programming and algorithmics, and advanced problems for students who want to extend themselves.
CAREERS / INDUSTRY LINKS
The subject provides students with intermediate-level, multi-module programming experience in C, and hands-on practicum with algorithmic analysis and development. It is highly relevant to any career involving “big data”, and covers the staple of technical interviews by companies such as Google, Microsoft and Amazon. There is every expectation that the subject will incorporate guest lecture(s) from leading figures in algorithmics.
- Related Handbook entries
This subject contributes to the following:
Type Name Informal specialisation Bachelor of Design Elective Subjects Informal specialisation Science Discipline subjects - new generation B-SCI Major Computer Science - Breadth options
This subject is available as breadth in the following courses:
- Bachelor of Arts
- Bachelor of Commerce
- Bachelor of Design
- Bachelor of Environments
- Bachelor of Fine Arts (Acting)
- Bachelor of Fine Arts (Animation)
- Bachelor of Fine Arts (Dance)
- Bachelor of Fine Arts (Film and Television)
- Bachelor of Fine Arts (Music Theatre)
- Bachelor of Fine Arts (Production)
- Bachelor of Fine Arts (Screenwriting)
- Bachelor of Fine Arts (Theatre)
- Bachelor of Fine Arts (Visual Art)
- Bachelor of Music
- Available through the Community Access Program
About the Community Access Program (CAP)
This subject is available through the Community Access Program (also called Single Subject Studies) which allows you to enrol in single subjects offered by the University of Melbourne, without the commitment required to complete a whole degree.
Entry requirements including prerequisites may apply. Please refer to the CAP applications page for further information.
Additional information for this subject
Subject coordinator approval required
- Available to Study Abroad and/or Study Exchange Students
This subject is available to students studying at the University from eligible overseas institutions on exchange and study abroad. Students are required to satisfy any listed requirements, such as pre- and co-requisites, for enrolment in the subject.
Last updated: 11 April 2024