This course is one of the immediate continuations of COMP1511. It replaced COMP1927. UNSW CSE recommends taking it in second year, however there really is no problem taking it in the second semester of first year. It is a prerequisite to almost all future computer science courses.
The disappointing amount of marks I threw away in the final exam killed a bit for me. It's really my own fault and the course ain't to blame for it, but it does skew my rating quite far away from what it should've been.
Algorithms are perhaps the most fundamental tool computer science students use. The study of algorithms involves trying to solve problems as efficiently as possible and also create the program to do so. On one hand, you need to understand how the algorithm works, but then on the other hand you need to know (or figure out) how to implement it. They're quite fun to explore when you sit down and attempt to understand it.
This course serves as the introduction to algorithms, with two areas of focus: sorting and graphs.
Sorting is quite self explanatory, but I think this video helps introduce the fun behind it all. The graph structure forms the basis for shit tons of stuff we do (it becomes clear that even Facebook is essentially just a huge graph). It leaves you with pretty much all the basic needs for you to get a job as a computer scientist, and you really should never forget what you learn in this course. It's just that important.
At times, I found some of the lab exercises and assignments quite draining. The only thing that bugged me was that occasionally, our tasks weren't clear enough with what we had to do.
I feel like the rumours that maths helps computer science starts here. My mathematical background certainly simplified a lot of bizarre algorithms for me a lot. But I don't think they're necessary though. At the end of the day, the algorithms are backed by logic, and that's a skill any computer scientist must have.