Subject Code/Name: COMP2511 - Object-Oriented Design and ProgrammingContact Hours:- 2x 2 hour lectures
- 1x 1 hour tutorial, followed by 1x 2 hour lab
Assumed Knowledge: The formal prerequisites are
- COMP1531
- COMP2521 or COMP1927 (is there really anyone left who’s senior enough to have done 1927 but hasn’t done this course or the former 2911 yet, though?)
I might add that if you only recently completed 1531 (as in, within the last year), then the course may assume you’ve covered some domain modelling tools (most notably, UML diagrams) that you perhaps haven’t, so it is worth looking into this before term.
Assessment: Due to the continuation of online delivery in 20T2, assessment priorities shifted to take weight off the final exam and to place it on practical work (i.e. the project and labs). The precise breakdown was
- 3x lab assessments, worth 20% of your course mark (well, kind of - read my comments)
- 1x individual programming assignment, worth 15% of your course mark
- 1x pair project, worth 35% of your course mark (try to organise a partner beforehand)
- final exam, worth 30% of your course mark
Lecture Recordings? Yes, screen and voice recorded.
Notes/Materials Available: The course provides notes and lecture code, however there’s a number of online resources which prove to be invaluable for the more theory-oriented parts of the course - notably,
Refactoring Guru as a single point of reference for the design patterns you learn in the course. Some slides in the course take resources directly from Refactoring Guru, so if you don’t feel like listening to lectures, why not cut out the middleman?
Textbook: No prescribed textbook, however
Head First Design Patterns by Freeman and Sierra was recommended.
I can't comment on the usefulness of this book since I didn't use it, but some of the lecture examples were lifted straight from this book, so if you're struggling to grasp some of the patterns in lectures, you may be in luck.
Lecturer(s): Dr. Ashesh Mahidadia
Year & Trimester of completion: 20T2
Difficulty: 5/5 just because of how much of a time drain and organisational nightmare it was this particular term
Overall Rating: 0/5 1/5 this term - once again, take this with a grain of salt
(a 0 is pretty harsh on second thought, so I've been generous)
Your Mark/Grade: 96 HD
Comments: I did not have high hopes for this course going into it, expecting it to be similar in feel to 1531: a bit drab but it’s stuff you ultimately have to know as a CS/SEng student. I'm slightly skeptical of OOP, but the course content was more insightful than what was taught in 1531. The tutors and lab assistants were also great given what they had to put up with. These few points are about all I can say that was good, though.
If I had to sum up what was bad about this course this term, they just completely botched handling assessments, which was mostly the fault of poor planning and even poorer communication from the higher-up course staff. While I know quite a lot of vitriol was directed at the course staff during the term (some of it unsubstantiated and needlessly mean), I really do hope that they take the time to reflect on the genuine feedback they received, because there are many lessons to learn. If you’re the type who wants all of the precise details though, here’s a play-by-play account of the tragedy that was COMP2511 in 20T2 - if not, pick back up at the final paragraph for my final thoughts.
Our labs were made worth 20% of your overall mark, and these marks were distributed across 3 lab assessments scattered across 3 weeks during the term. The first of these assessments was a total disaster, on account of it being a ridiculous 6 minute interrogation format with your tutor/lab assistant in a Teams call asking questions scarcely related to the labs they were supposedly assessing. A lot of the grief this caused could’ve been avoided if there was clear communication telling students what exactly would happen, but they were oddly secretive and waited until a few hours before to even mention more details. Inconsistent messaging regarding whether you actually had to do labs to get marks plagued the other lab assessments too, with the third and final one being cancelled altogether and replaced by an automarked lab. That being said, the other lab assessments weren’t nearly as ridiculous as the first, and they were at least gracious enough to scale the result of that first lab assessment with respect to the others, considering that a lot of students performed very poorly in it.
The major project was also a huge nuisance and my least favourite part of the course by far. It started with not getting pair repositories until over 1 week after the release of the project. The first two milestones were also put too close together, due 1 week apart in week 7 and week 8 respectively. All of this culminated in the second milestone also being a bit of a hassle - we’re meant to have started working on it at the start of week 6, but we didn’t have repositories to allow us to do that properly until a bit into that week, and we were also meant to use the feedback we received from milestone 1, but you wouldn’t receive that until you demonstrated it to your tutor during your lab in week 7! The final milestone also involved a bit too much GUI work in my opinion, and felt much more like a graphic design exercise than OOP. Making extensions mandatory parts in order to get full marks in the milestone is a bit lame too. Perhaps it’s time to come up with a new project, since this one has been used for quite a while now (at least a year if I’m not mistaken).
The exam was a predictable mess. As absolutely no-one saw coming (/s), the load from students trying to submit caused WebCMS to wet itself at crunch time 10 minutes before the exam finished, leaving a lot of people in limbo and unable to submit their work. This isn’t the fault of the course staff as they aren’t responsible for the integrity of CSE’s infrastructure, but I think that going with a harder, lengthier exam with a 24 hour completion window would’ve been better in order to avoid concentrated load. It’s not as if this hasn’t happened before either - I heard one of the security courses last term caused some trouble with CSE’s infrastructure, and that was an even smaller course in terms of students enrolled.
The course is in major need of a return to form, or they need to try another way of dealing with online delivery for 20T3, because their plan this term didn’t work. I’m sure this was just an extreme reaction to having to deliver the course online, because there’d be no reason to do the things they did during physical delivery. Online courses are the meta right now though, and this course was a nightmare this term. It’s a shame that CSE students don’t have any choice but to do this course, especially while it’s in the state it is at the moment, but if you’re able to I would avoid doing it until 2021.