Handbook home
Algorithms and Data Structures (COMP20003)
Undergraduate level 2Points: 12.5On Campus (Parkville)
About this subject
- Overview
- Eligibility and requirements
- Assessment
- Dates and times
- Further information
- Timetable (login required)(opens in new window)
Contact information
Semester 2
Nir Lipovetzky
nir.lipovetzky@unimelb.edu.au
Lars Kulik
lkulik@unimelb.edu.au
Overview
Availability | Semester 2 |
---|---|
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. Students will be introduced to 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. Leading up to an exam with a programming component, quality implementation of algorithms and data structures is emphasized.
This subject, or its cognate COMP20007 Design of Algorithms, is a prerequisite for many 300-level subjects in the Computing and Software Systems major.
INDICATIVE CONTENT
Topics include: justification of algorithm correctness; asymptotic and empirical analysis of algorithm performance; algorithms for sorting and searching, including fundamental data structures such as trees and hash tables; and graph algorithms.
Please view this video for further information: Algorithms and Data Structures
Intended learning outcomes
On completion of this subject the student is expected to:
- Present arguments for the correctness or incorrectness of a given algorithm
- Reason about and evaluate the efficiency behaviour of a given algorithm
- Choose appropriate data structures and algorithms for a given problem
- Implement the chosen data structures and algorithms.
Generic skills
On completion of this subject, students should have developed the following skills:
- Application of knowledge of basic science and engineering fundamentals
- Effective communication about computational efficiency
- Capacity to reason and solve problems
- Ability to undertake problem identification, formulation and solution
- Programming competency
- Capacity for creativity and innovation
- Profound respect for truth and intellectual integrity, and for the ethics of scholarship.
Last updated: 11 April 2024
Eligibility and requirements
Prerequisites
Students must meet one of the following prerequisite options:
Option 1
Admission into the MC-SOFTENG Master of Software Engineering
Option 2
One of
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP10002 | Foundations of Algorithms |
Semester 1 (On Campus - Parkville)
Semester 2 (On Campus - Parkville)
|
12.5 |
COMP20005 | Intro. to Numerical Computation in C |
Semester 2 (On Campus - Parkville)
Semester 1 (On Campus - Parkville)
|
12.5 |
AND
A minimum of 25 credit points of university-level mathematics
Please note, this rule is exclusive of MAST10012
Option 3
Students enrolling through VCE Algorithmics can take mathematics requirements concurrently. Please complete an Enrolment Assistance form, Coordinator approval is not required.
Corequisites
None
Non-allowed subjects
Students who complete this subject cannot also gain credit for
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20007 | Design of Algorithms | Semester 1 (On Campus - Parkville) |
12.5 |
COMP90038 | Algorithms and Complexity |
Semester 1 (On Campus - Parkville)
Semester 2 (On Campus - Parkville)
|
12.5 |
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 |
---|---|---|
Programming assignment 1 - Group/Team of 2
| From Week 3 to Week 4 | 10% |
Programming assignment 2 - Individual
| From Week 6 to Week 7 | 15% |
Programming assignment 3 - Individual
| From Week 11 to Week 12 | 15% |
Weekly Tutorial Activities
| Throughout the semester | 5% |
One mid-semester test
| Week 8 | 10% |
Closed Book Exam
| During the examination period | 45% |
Additional details
Hurdle requirement: To pass the subject, students must obtain at least: 50% overall; 22.5/45 in project work; 27.5/55 in the mid-semester test and end-of-semester examination combined.
Intended Learning Outcomes (ILOs) 2, 3 and 4 are addressed in all assessment components. ILO 1 is primarily addressed in the second programming project and the final examination.
Last updated: 11 April 2024
Dates & times
- Semester 2
Principal coordinator Nir Lipovetzky Coordinator Lars Kulik Mode of delivery On Campus (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 22 July 2024 to 20 October 2024 Last self-enrol date 2 August 2024 Census date 2 September 2024 Last date to withdraw without fail 20 September 2024 Assessment period ends 15 November 2024 Semester 2 contact information
Nir Lipovetzky
nir.lipovetzky@unimelb.edu.au
Lars Kulik
lkulik@unimelb.edu.au
Time commitment details
170 hours
What do these dates mean
Visit this webpage to find out about these key dates, including how they impact on:
- Your tuition fees, academic transcript and statements.
- And for Commonwealth Supported students, your:
- Student Learning Entitlement. This applies to all students enrolled in a Commonwealth Supported Place (CSP).
Subjects withdrawn after the census date (including up to the ‘last day to withdraw without fail’) count toward the Student Learning Entitlement.
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
This subject involves two 1-hour lectures and one 2-hour workshop each week. Although lectures are largely delivered directly based on the slides, often there are in-class discussions and development of computer code. The workshops are a blend of tutorial theory questions and implementation of algorithms and data structures in C.
INDICATIVE KEY LEARNING RESOURCES
Students are provided with lecture slides, and sample and scaffolding computer code in the C language.
CAREERS / INDUSTRY LINKS
With Big Data at the forefront of modern computing solutions, industry is ever-more focused on efficient computational analysis methods. Software engineers, developers and data analysts will find not only the analysis techniques, but also the fundamental algorithmic design concepts, highly applicable to the handling of significant datasets.
- Related Handbook entries
This subject contributes to the following:
Type Name Course Master of Software Engineering Major Computer Science Informal specialisation Science Discipline subjects - new generation B-SCI - 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.
- 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