University Subjects

COMP20003: Algorithms and Data Structures

COMP20003: Algorithms and Data Structures

University
University of Melbourne
Subject Link
View Subject

Subject Reviews

showtime

5 years ago

Assessment
2 x projects [15% each], 1 x mid-semester test [10%], 1 x final exam [60%]
Comments

ADS is exactly what it says on the tin. Here, you'll learn about both the theory and implementation of some basic algorithms and data structures used in computer science. The focus is fairly evenly split between searching, sorting and graph algorithms.

The first 3-4 weeks are particularly designed for students coming in from Eng Comp rather than Foundations of Algorithms. This time is spent introducing complexity analysis and binary trees, so if you're from the latter you will probably find this period very slow. Even if you aren't, you'll probably still find the first weeks slow. Don't worry, though, it picks up from then on.

Lectures are generally well taught, but in this subject in particular, there's a big difference between understanding what's explained to you and being able to apply these things. Naturally, this comes into play with the assessments.

The projects look simple on paper, but don't be fooled- unless you're stellar, programming them is brutal. Don't leave them to the weekend before the due date, if you can help it. You use C again, so you have to be adept with pointers and memory allocation.
This semester, Assignment 1 involved implementing a dictionary using a binary search tree from scratch. More practical non-algorithmic aspects like I/O, file manipulation and makefiles were also included. These things weren't directly related to the content of the course, but they took a good chunk of time to code, so it wouldn't be wise to underestimate them.
Assignment 2 was a bit easier to program since we were given a near-complete template, and had to basically translate a few given lines of pseudocode into actual code in order to solve a 15-puzzle. However, it was more conceptually difficult and computationally intense than the first. If you didn't want to wait literal hours for your experiment results, you had to make further optimisations.

The midsem and the final exam were both pretty reasonable. Generous amounts of time were given, and while the questions did challenge depth of understanding, there were no real tricks or surprises.

Workshops were good places to revise and practise content and ask questions, as the tutors and demonstrators made a lot of effort to help. But in my opinion, many of the programming exercises felt irrelevant to the topics being taught, were difficult to understand, and ultimately took more time than they were worth. I appreciate the work put into making them and I don't say it without shame, but I think it's far better to spend the hour to understand the assignments, lectures and the tutorial questions instead. If you can do all the exercises, great! But you're not disadvantaged if you don't.

My biggest piece of advice to get through this subject is to make good use of the forum and your friends. ADS is quite theoretical and getting unstuck alone is not easy, even with Google. Chances are, someone else has already had the same problem as you, and if they can't help you, a tutor will.
Overall, ADS is quite a solid subject. It may not be the most fun computing subject, but it does teach interesting new content and ways of thinking, as well as encourage you to understand concepts instead of parroting them. If you are willing to put in a lot of work, you will be rewarded accordingly.
Lectopia Enabled
Yes, with screen capture.
Lecturer(s)
Nir Lipovetzky
Past Exams Available
Yes, including sample solutions.
Rating
3.5 - 4 out of 5
Textbook Recommendation
S. Skiena's The Algorithm Design Manual, is "recommended" but completely unnecessary.
Workload
2 x 1-hour lectures, 1 x 2-hour workshops
Year & Semester Of Completion
Semester 2, 2018
Your Mark / Grade
H1

Did you find this review helpful?

Australia Treasury

Help shape the future for all Australians

Want to make an impact to your local community and across Australia? Join Treasury, the Government’s lead economic advisor and be involved in developing policies and providing well informed, innovative and sound advice on key issues that impact Australians.

Find out more