COMP20007
Design of Algorithms
COMP20007 is rated by StudentVIP members:
Textbooks
We don't have any textbooks for this subject yet.
Why don't you be the first?
Sell your textbook for COMP20007Notes
View all COMP20007 notesWe don't have any notes for this subject yet.
Why don't you list yours first?
Sell your notes for COMP20007Tutors
Become a tutor for COMP20007Chiquitta
$45 per hour
𝐎𝐧𝐥𝐢𝐧𝐞 𝐓𝐮𝐭𝐨𝐫𝐢𝐧𝐠 𝐯𝐢𝐚 𝐙𝐎𝐎𝐌 𝐢𝐬 𝐚𝐯𝐚𝐢𝐥𝐚𝐛𝐥𝐞. Hi, I am a recent graduate of Bachelor of Science at the U...
Hoan
$45 per hour
As a University of Melbourne graduate in Data Science and Computer Science, currently working in cyb...
Mah
$50 per hour
we offer expert tutoring across a diverse range of subjects and fields. Our team of experienced tuto...
Stuart
$70 per hour
Maths Graduate with First Class Honours| 5 Years, 3000+ hours of tutoring experience| 99.80 ATAR| Fr...
Jack
$50 per hour
Dux and experienced tutor offering help to excel in your FINAL EXAMS. I offer packages to help you p...
Ryan
$50 per hour
Hey! I'm Ryan (H1 & 99.95 ATAR). I graduated in Dec 2023 from UniMelb, and currently work as a Softw...
Dominic
$55 per hour
Hi there, my name's Dominic. I'm a recent graduate from The University of Melbourne, graduating with...
Austin
$50 per hour
Hey there! I'm a software engineer with 4yrs professional experience, looking to help undergrads....
Lucy
$60 per hour
Bachelor of Science (major in computing and software system); Two internships: - Software engi...
Reviews
Grade: H1 (91) - I'm not gonna act like I know exactly how I got this score, and I will elaborate on why I think that. Lectures: Lars, bless him, while his accent is great and all, is a very mixed lecturer. From all the smart people I knew, they seemed to love him and his personality and enjoyed his lectures thoroughly. Speaking as a non-smart person, however, I can thoroughly say that anytime Lars went through a tougher or a completely new algorithm/concept I had no flipping clue what was happening. For some reason, whenever Lars goes through one of these tougher concepts, he magically speeds up and also becomes incoherent at times as a result. To make it worse, the lecture audience (yes, the other students in this class), are possibly the most insufferable people ever (jk I love you guys :) ) because whenever Lars would go through such concepts at light speed, and whenever he asked the audience if anyone had any questions, magically everyone would seem to become algorithmic geniuses who had zero questions and fully understood the concepts. Now you say to me, why art thou not asking a question? Well the issue is, I didn't even know what question to ask in that moment, that's how out of my depth I felt. The only possible thing I could ask in that situation was to get him to repeat everything he just said, which he would probably turn down or ask me to come after class. Daniel came through the second half of the semester, and I feel he fell into the same issues as Lars - skipping through what I felt were harder points of content at light speed and then spending ten years explaining simple stuff. On top of this, Daniel for whatever reason decided to use some new copy of the slides that weren't immediately available to us from the start, so going to his lectures would mean he would be using a completely different set of slides to what you use, which was again frustrating. In the end, apart from the easy parts of the subject, I found myself having to almost always go to YouTube and watch channels like Abdul Bari to understand the algorithms and data structures taught. It just felt like a far cry from the amazing teaching quality of Alistair who really helped us go through the algorithms with detailed animations and repetitions that made the content stick in our heads. Daniel tried to do this to some extent, but Uno cards and Nintendo Switch games can only help you so much for some of the algorithms. Also, the audio quality of the lectures is actual garbage, in both recordings of the live ones and the prerecorded ones Daniel had. And as I mentioned because of the tendency of both Daniel and Lars to mutter at high speeds, watching it live is not that fun either. Tutorials: Had a great tutor, Aidan, who really kept it real with us. Tutorials are structured as a 1 hour block of doing theory questions, and a 1 hour coding exercise lab. I'll be honest, I think I did the coding exercise like once, and the other times I'd just be overhearing our conversations with Aidan and having a chat. This was actually a more productive deployment of our time, because to be completely honest, you don't need to know how to code in C other than to do the 2 assignments, which used C at an FoA level. The exam is all in pseudo-code. The tutorials were really valuable because it gave Aidan a chance to teach us some of the more difficult concepts which they rush through in lectures and give us little tricks and tips to approach the questions. Highly recommend attending them, or watching the pre-recorded ones Grady put up. MST: We had our MST pretty early in the semester, covering like 4 weeks of content. It was a bit of a disaster, as it wasn't released on time and had people panicking. I think that made many of us think the MST was really difficult, when it was not really. I scored just below an 80% on it, so it's not like you need to score a 100% on it or anything, but it definitely is achievable to do so. Assignments: Assignments were made up of a coding part and theory part. For assignment 1, there was one tricky question on implementing a data structure they don't teach called a skip-list. This was annoying because of how many seg faults you can run into. Second question was a very straightforward graph coding question, you pretty much just had to implement an algorithm they give u the pseudocode for, and they provide a very generous amount of starter code too. Third question was theory-based written component and if you give it a bit of thought and ask for help to clarify things its possible to get it right. Assignment 2 was a bit weird. The first question was a coding based question on a very weird cryptography thing called a sponge. Basically, it was more of a test of can you understand and make sense of the instructions we provide you, and write code that shows you do. You didn't really need to problem solve anything, more reading comprehension. They gave a lot of starter code again, which made implementation easy. Question 2 was basically a coding question dealing with 2-3-4 trees, it was actually kind of tricky, but again doable with work put in. Question 3 was a very easy theoretical question to do with complexities. Overall the assignments with solid work put in and no last minuting can hand you some very good marks, they marked fairly. Exam: Exam is 60%, so obviously it is a bit menacing, since it means that one bad day can mess up your final result. To be honest, the content really started to come together for me when I reviewed the whole course and made review notes. I started to understand the algorithms and how they worked. However, I left this review very late, and I found myself doing the 1 sample exam they gave... on the morning of the exam. I didn't even bother doing more than 2 questions and I ended up plan Cing it by just reading over the solutions.... Come the exam, I did not have high hopes, but I will say this. The exam was very accessible to pass, as in 50% of the exam is definitely doable as long as you know how to run all the algorithms and know how to calculate summations and so on. There is only 15%, which is like the Dynamic programming question and one tricky coding question, that really can be hard to do. I still am unsure how I got such a high score though, since I straight up left the dynamic programming question blank. The sample exam was definitely reflective of the actual exam, maybe the actual exam was a little more difficult. So it was definitely great there was no big jump like with other subjects. Overall, this subject is more theoretical, with some enjoyable pieces of content. However, I feel like the teaching could definitely be improved.
Anonymous, Semester 1, 2022
To be fair I don't think Lars really cared, which I suppose made his lectures quite fun to listen to, at least in its own way. He seemed unconcerned about the students. But at least his genuine love for algorithms showed. On a more serious note, Lars knew the lectures were pushing a lot in terms of pacing, which he acknowledged. And I suggest to make it easier for the students, pre-recorded lectures should also be included, like how Daniel did. The recorded live lectures from Lars are of poor audio quality and was never easy to follow if you missed it live. So more effort should be done on that, I think. Daniel has made more effort in helping the students this way. Some students may have issues with his teaching methods, but I think at least the pre-recorded lectures showed that he knew the fast-paced and content-packed nature of the lecture, and made a reasonable decision to make it better for the students. I think the tutorials are most helpful. I've heard lots of complaints from students with their tutors, though. But I really appreciated mine a lot, so I guess I was lucky. Either way, not that bad of a subject, but I think there could be rooms for improvements. I really expected more considering everything.
Anonymous, Semester 1, 2022
Grady is best boi. Lecturers are also very good. Assignments are challenging but I liked this subject very much
Anonymous, Semester 1, 2022
Very disappointed with teaching and grading
Anonymous, Semester 1, 2020
DONT TAKE THIS. Really bad subject, with unfair marking and really bad coordination. Better take COMP20003 if its a core subject. They give unfair scores for assignments with no reason/feedback at all and when asked about it, they were so unhelpful. I dont even know if my work was marked properly and they frankly dont care. All they can give are a bunch of excuses and not one solid reason relating to quality of my assignment. The marking criteria is just too vague. Its not like this subject had a really good structure or curriculum either. Certainly expected more from a unimelb computing subject. Do yourself a favour and skip this one.
Anonymous, Semester 1, 2020
More theoretical than its Cognate comp20003, the concepts are good if you wish to pursue more theory and understand computer science theory better
Anonymous, Semester 2, 2019
Got a 90. So, a good subject.
Anonymous, Semester 1, 2019
This is easily the worst 2nd year Computer Science subject. It is unnecessarily hard and poorly taught. The lecturer speaks very slowly and always goes off on a tangent every 10 minutes. The content of the subject includes Big O, Sorting, Quick select, Binary Tree, Graph, Hash table, Dynamic Programming, Information Theory. There are two assignments. For 2018, the first one was basically implementing counting sort and heap sort and the second one was applying hash table. Most of the code was given to you. Everything is pretty easy. As I said above, the subject is very poorly taught. Most of what you learn will be from the tutorial, NOT the lecture. The tutors are extremely nice. The mid-sem was a disaster. The lecturer overestimated the exam and had to give everyone an extra mark. There is nothing that prepares you for it. The final exam is unnecessarily hard. They had to make the exam much harder because too many people 'passed' the subject in the previous year. Again nothing prepares you for it. I managed to get a H1 but with a bad taste in my mouth. Overall, bad and useless subject. Good luck to you.
Anonymous, Semester 1, 2018
Very interesting and engaging subject overall. The content was a bit tricky to understand at times (Graph algorithms, Hash table algorithms etc.) but if you persist on the material presented to you, you will succeed! Assignments were very well structured and of reasonable difficulty. The exam was extremely fair and although a bit tricky, if you have studied all the lecture slides and completed the tutorial exercises (good indicators) you will easily get a H2 and above