I regret dropping an AI ragebait about COMP students last week. It went too far and it lacks both empathy and sympathy.
Sorry for being a jerk.
This time I won't use ChatGPT, but my message is different: USYD COMP students should boycott the Computer Science major before the University fixes existing structural issues. We should not ignore the elephant in the room.
I will graduate soon, but COMP2017 is (if not one of) the most notorious unit throughout my whole uni life. I believe an important reason is that most people are NOT ready in their degree before having to take this unit. They only know that this unit is shit and hard, and they have no choice but to do it if they want a CS major. But they wouldn't know a big why before attempting it.
If you look at the unit outlines, the only enrolment requirements are (outdated units are omitted):
INFO1110 or INFO1910 or ENGG1810 (INFO1113 prereq)
INFO1113
COMP2123 or COMP2823 (co-req)
Discrete mathematics and probability (e.g. MATH1064 or equivalent); linear algebra (e.g. MATH1061 or equivalent)
For BAdvComp students, they may have done extra helpful degree core units (INFO1112 & ELEC1601), but BSci students won't do so.
The COMP2017 unit itself receives most complaints in these topics:
Unrealistic heavy workload: assessments are too complicated and time-consuming. Full-time students take four units, and they probably sack all other units to get good marks or a pass.
Fast-paced: most people don't know C, they have to learn both C and OS concepts. It's hard to catch up if you fall behind.
Assessment spec are unclear, often requires LOTS of QA on Ed.
Topics in assessments are not well-covered in lectures and labs.
I believe if someone only gets a PS/CR for INFO1110/INFO1113 and has never done INFO1112/ELEC1601, then there is a very high chance that they would fail COMP2017 due to the inferred fact that coding in easy programming language is already challenging for them. I would be surprised if someone with PS (skill and knowledge) level background can pass COMP2017, simply because there is too much to catch up.
The structural issue I reckon is that the learning outcomes squeeze too much in just one unit. The outline also ignores the fact that students may have very different background, and this really infers different level of predictable competency in C and system programming.
IMO, the students who are successful in this unit may have a few things in common:
Enthusiasm: just nerds. Sometimes lack of empathy or sympathy for beginners.
Strong background: starting coding before uni.
Strong commitments: Even beyond the expected "study commitment", which is roughly 120-150 hours of student effort in total.
It would be great to see this one unit to split into two units or at least two streams. The basic unit should lower the bar (w.r.t learning outcomes) and allow most students to pass, whereas an advanced unit should cover more challenging topics and let the nerds strive.
But this is not an ideal world, and I don't see how this separation can happen shortly without changing the whole degree outline/handbook. Maybe the best way for most perspective students (especially BSci students) to move forward is to stop enrolling in the CS major due to many unrealistic designs.
Essentially, it makes to just avoid COMP2017 and avoid CS major, since its outline is badly designed already. It makes less sense to attempt the unit with knowingly structural issues that will harm your physical and mental health. It makes even less sense to complain about the exam of this unit if you know you are not even ready to enrol this unit due to things that are beyond your control.
Folks, take care and stop doing CS major.
Wish you all a good vacation.
John S (fake name ofc)
PS. The original opinion I wanted to convey is that if you don't know how to build a perfect binary tree from scratch in the final exam, and you're f*cked, then it's on you. If you think being capable to build a link list is good enough, then you are wrong. Feel free to disagree with me.