John
Foresight
After the completion and award of my CompSci degree, and in light of the lack of information on the courses I've taken at UNSW, I've decided to compile and review the courses I've undertaken at UNSW so you, the reader, have a better idea of what to expect when taking a subject, and won't have to scour Reddit threads to know.
Also, if you happen to be in desperate need of looking for notes, I highly recommend checking out Luka Kerr's website. He's got excellent notes on many subjects that you will be thinking of doing or are undertaking if you're a CompSci student.
Disclaimer
This is my opinion and your experience/opinion may vary, especially if it was a long time since I completed the subject. This post will also be updated as my own sentiment changes and new information arises. Don't solely rely on this as a universal source and use your judgement to see if you want to avoid/drop or take a course.
Also, you may notice that this list does not amount to the credits required to graduate. This is because there are courses I've done when I used to take a double in CompSci/Media Arts which I have chosen to not include for various reasons.
Last updated: October 16, 2022.
The Criteria
For my pride reasons, I'll be sticking to a standard criterion inspired by ATAR Notes and Weilon's reviews (check them out to add to your wealth of knowledge) that includes (in order);
- Completed Period (for context)
- Commitment (Contact hours, assignments, etc)
- Usefulness (NA= Cannot be validly rated, 1 = Not integral/not required, 5 = Integral and fundamental knowledge)
- Difficulty (1 = chilled out, 5 = what is the sun)
- Enjoyment (1 = Hell, 5 = Take it in a heartbeat)
- Summary
Just remember that higher = more.
Note that my criteria (now) does not have any final recommendations or scores. This is because the experience that you will have taking these subjects are very subjective on your own preferences and thus I think it's not really fair for the course to provide an ultimate score. Read about what courses may interest you and let that influence your decision, but not finalise it.
Core Courses
COMP1511: Programming Fundamentals
Completed: 19T2
Commitment: 2 assignments, weekly labs and lab tests, coding final
Usefulness: 5/5
Difficulty: 4/5
Enjoyment: 5/5. Mark Chee is an absolute legend 🏆! (It's taught by someone else now)
Summary:
The introductory course for all computer science courses. The course teaches the fundamentals of coding; variables, loops and data structures. When I completed COMP1511, it did not include recursion but now it does and recursion becomes quite essential in general later on if you decide to pursue more computer science.
Don't be fooled by the "fundamentals" name of this course as it's one where many fall into the pit trap. It's not easy for those who have never coded before (like myself), with such difficulties being exacerbated by the fact that they teach in C. Some Reddit threads sarcastically suggest this course as a WAM Booster. For the love of everything valuable, do not take it to boost your WAM. You'll be in for a rude awakening.
However, for those who are invested, even slightly into coding, this course is like a light shone into a very dark and deep tunnel. It gives you a taste of the potential for a few lines written on a screen and introduces you to a world that is ever-growing and limitless in potential.
COMP1521: Computer Systems Fundamentals
Completed: 19T3
Commitment: 2 assignments, weekly labs and lab tests, coding final
Usefulness: 2/5
Difficulty: 4/5
Enjoyment: 1/5
Summary:
Taking this course sucked. Quite possibly the most unenjoyable course I have done in my entire time at UNSW. This course teaches you the inner workings of how computers execute programs which means working with things that most people loathe working with; bits, MIPS and writing shells. For those who enjoy the researching/lower-level aspects of how machines execute code, this is a godsend. However, for people who enjoy the practicality in code, it's an entirely different story.
You might think that after the revelation that is COMP1511, that this course would be a great follow-up but in every and all aspects, it is quite possibly the greatest detraction from it. It is not difficult because it is inherently hard, but rather is tedious, demoralising and sad. The content is dry and the weekly exercises are beyond belief at times. It's not the lecturer's fault, it's the fact that the stuff is just a massive lug, with perhaps the sole saving grace being the final not being too bad. This all combines to make this course painfully unenjoyable for people like myself who want to see the practical value in code and is a feeling that Victor Fang puts very well in a spontaneous video posted of him ranting about this very course.
For those who are like me and have to take this course, take it with easier stuff, and/or courses that you enjoy in an attempt to divert your inevitable sadness away from this course. Be prepared to get sad over the weekly tutorials, be put in boring situations where you'll question why you code and tedious exercises and assignments.
COMP1531: Software Engineering Fundamentals
Completed: 19T3
Commitment: 1 major assignment (3 stages) + demonstrations, weekly labs (except for demonstration weeks), theory and coding final
Usefulness: 3/5
Difficulty: 2/5 for a solid group. 5/5 for an unorganised group.
Enjoyment: 4/5
Summary:
For most CompSci students, this course is the first taste into what it means to do group work at UNSW and in COMP subjects. Yep, that means you've gotta either come into this with a good group or your life will be hell for 10 weeks, and I mean hell.
You'll be writing a python flask backend for a provided frontend in multiple stages; testing, implementation, improvement. The work itself is fine if all members commit to completing equal amounts and delivering on time. Else it is absolute development hell and crunch for a minimum of 5 weeks, after which you are exhausted and have neglected all other studies.
With my group warning aside, this course is a great introduction to backend development and working within a software environment (though nothing is much better than real experience).
COMP2511: Object-Oriented Programming
Completed: 20T2
Commitment: 1 major assignment (game), weekly labs, 3 lab assessments (debug under pressure), theory and coding final
Usefulness: 2/5
Difficulty: 4/5
Enjoyment: 1/5
Summary:
I've seen so many horror stories written in contempt of COMP2511, like the ones here, here and here. You know there's an issue when there is a YEARLY complaint thread of students taking a dump on it.
From the chaos that is the administration, to the impossibility of the assignment, to the un-reasonability of the content, COMP2511 has built somewhat of a horrid reputation at UNSW. My turn was no different and was made worse with the adjustment to online-only learning. Our assignment was to essentially code a game in a week, the midterm was a disaster for those who could not see issues with the code in under a minute or so and people were submitting the final over 2 hours after the due date because the submission system died.
It got so bad that people started to take their grievances to the student help forum and flooded the page with sarcastic complaints.
You have to take it. You have to brunt the blow of this sad and unfortunate reality and pray to the CSE gods that you pass the hurdle to just get it done and over with.
COMP2521: Data Structures and Algorithms
Completed: 20T1
Commitment: 2 major assignments, weekly labs, mid-term, coding final
Usefulness: 5/5
Difficulty: 3/5
Enjoyment: 1/5. First COVID Term so lots of last-minute changes had to be made!
Summary:
This course provides a deeper exploration into the topic of Data Structures and Algorithms and is considered essential knowledge for any CompSci major. That considered, you might find yourself wondering why I gave it a 1/5 for enjoyment and the reasoning is quite implied.
Because of covid, everything we knew pretty much was chucked into the air, with many classes moving to online delivery and professors hustling to adapt, and as a result, the quality of the experience was dropped. This not just meant that the quality of the classes dropped, but everything else including administration, testing etc. Because of that, my opinion of this course is neutral as my own experience was fine and I greatly appreciate all that the administration team had to do to scramble covid changes.
Suffice to say, it's hard to judge the quality of delivery of this course after I did it. Though as some indicator, It is suggested that this course has been absolute hell for those who have taken it in recent times and that depending on the lecturer, your WAM will either be devastated or left alone (or even increased).
That being said, the content was interesting enough for me to keep going and is integral for you to be able to get an internship and form the foundations of your coding skills. Stay focused and put your best foot forward; you have to if you're CompSci.
COMP3121: Algorithms & Programming Techniques
Completed: 21T3
Commitment: 4 assignments, optional tutorial exercises, theory final
Usefulness: 5/5
Difficulty: 3.5/5
Enjoyment: 5/5
Summary:
It stands as one of the best courses I've done at UNSW.
I would like to state this now, this course and the understanding it provides is of the highest technical value, bar none, to what I have done in my uni time. There is not one other course that I can say, yep that changed the understanding I had for CompSci more than this one. Not only does this course provides you with the knowledge that you can use to get internships and grad jobs, but it can change how to think like a problem solver.
I cannot recommend this course enough and most likely you'll have to take it anyway. You need to understand this content as it is integral to your degree and possibly your future skillset.
Some tips I would give is to be diligent and attempt all of the tutorial challenges. Don't last-minute questions on assignments and give yourself time to absorb the content well.
COMP4920: Professional Issues and Ethics
Completed: 21T3
Commitment: 2 Lecture reviews and peer assessment of reviews, 2 assignments, 1 presentation, weekly tutorial discussion contribution, NO FINAL
Usefulness: 3/5
Difficulty: 2/5
Enjoyment: 2/5
Summary:
COMP4920 is the course that most CompSci majors don't want to do. In most aspects, it is a detraction from why we took the degree in the first place. For the entire course, you are taught about the various ethical dilemmas that exist within IT and are made to discuss the various aspects of actions and whether they can be deemed as ethical or non-ethical.
For the longest, time, I was petrified about this course. The horror stories that arose from word of mouth like tutors yelling at students, bland coursework, unfair marking. Things got so bad that other CompSci students were recommending taking electrical engineering ethics instead of this course.
"Comp4920 is the crucible through which any comp major at UNSW must pass eventually. It is pain and tedium incarnate. The content is dry and poorly explained and not very useful, the labs are the most painful experiences I've had at uni and usually divulged in shouting matches, total silence, or boredom." - Sability via Reddit
However, I think that after many changes and iterations, this course has become somewhat viable.
For what it was, the experience wasn't much to complain about and I believe that from previous iterations, it has made leaps and bounds to improve the course. Alot of content has been cut from the course to make the content more manageable and engaging and I think that has made this course much more digestible.
However, there are issues that stem from how marking and the like is done. There are many, and I mean many, instances of just strange marking tendencies. You lose a mark here, and there and there again for almost arbitrary reasons (that aren't provided to you in detail) and it all feels almost impossible to get full marks. Just really strange, though this is not a dealbreaker for me as I don't really care so much about my marks but rather value what the course offers to my skillset.
For those who do not like to write essays (most of the CompSci cohort), this course is definitely not your cup of tea, but you have to do it anyway. The coursework can be bland at times however if you immerse yourself in that ethical debate, you might come out the other side a better and more perceptive CompSci student.
COMP3900: Computer Science Project
Completed: 21T2
Commitment: 1 Major Project with milestones, peer performance marking, reports for milestones + final long report
Usefulness: NA/5 (You create a project so it's not applicable here)
Difficulty: 1/5
Enjoyment: 5/5
Summary:
I loved this.
You work in a team to get a practical project done. That's literally the entire course.
Choose a good group and watch the (literally) 3 lectures that are recorded.
Practical, useful and easy if you've got a good well-rounded group (frontend + backend + design).
Hell if you don't. Thankfully mine was great!
Check out Task Master for my group's submission :). Not much else to say otherwise.
MATH1131: Mathematics 1A
Completed: 19T1
Commitment: Weekly tutorials (~6 topics each week), assignment, 2 lab tests, Maple/Mobius final
Usefulness: 3/5
Difficulty: 4/5
Enjoyment: I hate math/5
Summary:
These reviews are kind of implied but if you haven't gotten the message yet, I really don't like university maths. Also, note that the difficulty is high for all MATH core because I hate math that much but that might not be the case for you.
All UNSW first-year mathematics courses do a great job at encouraging you to do well. Do well in your internals and you can propel yourself to higher marks in the final (or at the very least get 15% and pass).
That being said, I only really did listen to the parts relevant to CompSci. 1A didn't contain much of that and encouraged me to delay the rest of maths to my last year. This didn't affect me much to be fair and I didn't feel behind until I did COMP3121 where there were topics covered in that course that was done in 1B (next) that I had yet to do.
As a result, I leave my ratings for the mathematics subjects ambiguous. It's up to you to determine if you want to take these as electives (not so much if it's a core subject) however if you are someone who wants to take this, it'll be fun. Daniel Mansfield is the GOAT.
MATH1231: Mathematics 1B
Completed: 21T3
Commitment: Assignment, Weekly tutorials (~6 topics each week), assignment, 2 lab tests, Maple/Mobius final
Usefulness: 2/5
Difficulty: 5/5
Enjoyment: I hate math/5
Summary:
My same sentiment for MATH1131 echoes here too. If you enjoy math, you may find this subject very entertaining, easy even. By the time I had taken this, it had been almost 2 years since I did any strong maths and the difficulty rating shows. Granted that was my fault, however, this subject didn't feel so useful to my degree so I was fine with it.
Some say that this subject is even easier than MATH1131, I beg to differ, however, I can see how such a situation can occur. For those who did what I did and left this for late, revise on matrixes and your vector algebra and you should be good to go. The course does well to ease you into the hard stuff (starts ~ week 7) but be prepared to be overwhelmed by the sudden increase in difficulty during that time. At least for me, all the symbols and theories got strange very quickly after week 7.
MATH1081: Discrete Mathematics
Completed: 21T2
Commitment: Assignment, weekly tutorials (~6 topics each week combined into one), 2 lab tests, Maple/Mobius final
Usefulness: 3/5
Difficulty: 4/5
Enjoyment: I hate math but this is a 2.5 (hey it's something)/5
Summary:
HAHAHA.
I loathed taking discrete maths before actually doing it. The course is very, very well run and is interesting in its different approach to Mathematics. People who do not enjoy thinking abstractly will not enjoy taking this course, however, its logic and approaches provide very interesting perceptions to problems.
I genuinely enjoyed taking this course more than the applied Mathematics in MATH1131 and 1231 (Also, you don't have to finish LOOONG tutorials unlike 1131 and 1231!). It was a fresh breath of air and itched more places than I would like to admit.
Finally, for those afraid to fail in this course, be comforted as the course takes every chance to allow you to at least pass (just like every other 1st-year Mathematics course).
COMP Electives
COMP2041: Software Construction
Completed: 20T2
Commitment: 2 assignments, weekly labs, coding (regex) speedrun final
Usefulness: 2/5
Difficulty: 4/5
Enjoyment: 3/5
Summary:
NOTE: I undertook COMP2041 when there was no longer any javascript taught.
Regex, regex, regex, regex and even more regex. That is how I would sum up this course. It taught us how to scrape data from websites, how regex worked, how to code in Perl and some more topics on how to make software development easier. Overall, it seems on the surface to be a relatively useful subject to take.
However, I just don't think it's worth it. A great deal of the content now can be learned by yourself, especially regex. If you are on the fence about this, I would say don't take it. However, if you are strongly interested in the course, I would slightly consider taking it, but also consider self-learning instead and replacing it with a more useful course/elective.
The higher difficulty of the course also doesn't stem from the content itself, but rather the trauma that I still have over the final as implied here and here. I've never had to debug so much regex in such a short amount of time.
COMP3311: Database Systems
Completed: 20T3
Commitment: 3 assignments, coding final
Usefulness: 4/5
Difficulty: 2/5
Enjoyment: 4/5
Summary:
Jas is awesome and similarly, COMP3311 is great.
It's a great intro to SQL databases, why we use them and how it works. If you have any interest in data or working with databases in general, this is the main COMP option. The assignments were very practical and you can perceive the value in why you use databases through these assignments, though they were at times annoying and tedious. The final was not too hard either making this a great course to take while in UNSW just for the experience and knowledge.
COMP3331: Computer Networks and Applications
Completed: 20T3
Commitment: 1 Major assignment, weekly theory labs, moodle final
Usefulness: 4/5
Difficulty: 2/5
Enjoyment: 3/5
Summary:
Networks; a useful subject but bland in content.
This is not to fault the staff but learning about networks is just boring for me. There is just so much content to work through and very little incentive to keep interested. From learning TCP networks to requests to general infrastructure, it all gets alot really, with the number of slides getting a bit out of hand.
Though at least one great thing to come out of the subject is the assignment. You get to create your version of the internet via a client and server written in either Python or Java. This was a great step into seeing what learning networks could result in but still, it just became a little too much for me.
Would still suggest taking it for the KNOWLEDGE and EXPERIENCE and I believe it is still very much worth it if you are willing to stay awake, or at the very least, try to get the most out of the content and assignment.
COMP3411: Artificial Intelligence
Completed: 21T1
Commitment: 2 assignments, moodle final
Usefulness: 3/5
Difficulty: 2/5
Enjoyment: 3/5
Summary:
As expected for the introductory course for AI, it shotguns the majority of topics in AI and tries to feed as much as possible about the subject as is realistically possible to digest. When I say there is quite a lot of stuff, I mean it, though it still does not trump the amount in networks.
It kind of is a cruise. You come in and learn about the subject that week, revise and do the assignment that comes every once in a while and chill. It very much feels like an introduction and rightfully so. Nothing else much to say here apart from that Prolog can be weird sometimes (get used to recursion).
COMP3511: Human-Computer Interaction
Completed: 21T2
Commitment: 2 Major assignments with some milestone requirements, moodle speedrun final
Usefulness: 3/5
Difficulty: 2/5
Enjoyment: 2/5
Summary:
I wanted to like this course. I really did, especially since I took it because of the design teachings in COMP6080.
COMP3511 is an introduction to all things design and theory. It teaches you how to think like a designer but not act like one.
For much of the course, I felt like I knew the theory, but couldn't learn how to apply it effectively and efficiently. Like I was told what was a good way, but never learned how to do it well. Too much time was taken on covering as much content as possible, and not enough on practical work, and how to apply the theory. The theory means nothing if you're unable to apply it to a real product.
Ultimately, when you're studying CompSci, you're expecting practicality, real-life value and digital impacts through human-computer interaction. You're not expecting to write essays about it, nor are you expected to do interviews. Unfortunately, that is what COMP3511 does. For those who expect a practical design and development experience, COMP6080 seems to be the closest thing in COMP from what I have experienced. For a course that teaches you about UI design, it does very little to reinforce people actually designing such UIs and should really put that practical aspect as its sole focus.
In combination with this, I got the impression that alot of the time, more issues were created by the administration than actions that resulted in benefit. Small things like not releasing uncompressed versions of slides (so we couldn't control-f to find stuff), not being able to go backwards in questions in the final exam, many "red tape" things like copyright and etc, all lead up to it being very frustrating when attempting to get things done. It was almost like I had to jump through hoops to learn effectively...
Altogether, it results in a course that is both heavily theoretical in its content and weirdly constricting in its delivery, which makes it hard for me to confidently recommend, even in light of my awesome tutor.
P.S: From what I have seen in the recent iterations of the course, more efforts have been placed into creating assignments (and an environment) where the practicality of HCI is at a focus. No longer are you focusing on doing interviews but rather, the major assignment (2) is creating 1 well-designed UI (both as a physical prototype and a digital one), an improvement I had suggested in my review of the course. So knowing this (and after reading the most recent course outline), judge for yourself if the changes are worth the investment of your time.
COMP6080: Web Front-End Programming
Completed: 21T1
Commitment: 3 assignments, optional weekly labs, coding speedrun final
Usefulness: 5/5
Difficulty: 3.5/5
Enjoyment: 5/5
Summary:
If COMP3121 was the pinnacle of technical value, then COMP6080 stands to be the same but for emotional value.
COMP6080 is an introduction to React and front-end systems. It teaches you the fundamentals of web building and the technologies that we use to create usable interfaces. This is the course that allowed me to fully perceive the value in my code. It is what opened my eyes to see why Zucc could make a billion-dollar business in his dorm room. It all clicked after I finished this course and for good reason.
The core subjects in CompSci provide many opportunities to expand your skillset and breathe many different flavours, languages and functions of code. However it never really comes together into one course. You never really see why or what your code can accomplish; that is until this course came along.
It is a struggle. Long nights of debugging, getting stuff done, weird spec requirements, and different approaches to code. But in the end, you are getting one thing that matters; replicated real experiences.
You get to create a button that a user will use to do a specific function. You create pretty user interfaces that you can feel and fix and/or break. You create and see VALUE.
That is the real value of this course. For those who are having existential crises as to "why you ever picked CompSci", this is the course for you. For those who aren't as strong at Algos, this is for you. For those who want a challenge and to see how much code/value they can push in 2 weeks, this is for you.
An eye-opening experience and would wholeheartedly recommend it to those with the time to undertake and complete it in its entirety. And if all this ends up not being enough for you to consider taking it, there are guest lecturers from Google and Canva that teach you (some even take tutorials too)!
COMP6441: Security Engineering
Completed: 21T1
Commitment: Weekly blogs and challenges, curiously fun final.
Usefulness: 4/5
Difficulty: 2/5
Enjoyment: 5/5
Summary:
There are many reasons why Richard Buckland is a legend at UNSW.
COMP6441 is one of the reasons why.
Providing an unorthodox way of approaching university lectures, COMP6441 is a refreshing flavour of approaching your everyday life. It allows you to perceive the nieces in security and appreciate why certain mechanisms around you exist and facilitate certain actions. However, the true value of this course though lies in the Lectures themselves.
You may walk into the lecture theatre and hear Buckland shouting the most preposterous things and using the weirdest of ideas to deliver the content and It all might seem ludicrous and daunting at first. However, you are forcefully engaged and roped into his scheming analogies and driven to the point of inspiration from his lecture and finding yourself looking for those very niches in each place you visit.
For this experience alone I recommend this course. You won't want to miss a Buckland lecture and if not that, then the pizza afterwards. It's an experience and one that you wished you had more of (and can eventually). Though I might sound a bit over the top at first, most of it will come into place when you are sitting in on the first lecture in awe of how different his lectures are. There is a reason why it's hard to get a spot in this course and why so very few people drop it (the weekly blogs and challenges are also fun!).
General Electives
PSYC1022: Psychology of Addiction
Completed: 19T2
Commitment: Weekly quizzes and activities, essay, 80 MC final.
Usefulness: NA/5 (Not applicable to my field of study)
Difficulty: 1/5
Enjoyment: 2/5. A vital lesson on taking electives.
Summary:
This course taught me one thing; to not pick electives just because people said or wrote that they were easy/fun.
Coming in thinking that everything will be fine, I was hit with a topic I didn't enjoy very much, stuck writing about things that I didn't enjoy and studying in a style I wasn't very accustomed to. I could see why people enjoyed doing it, but not so much why I should do it.
In the end, I didn't learn very much from it and to be honest, don't really remember much from the subject as my interest is detracted very far from psychology.
PHYS1160: Introduction to Astronomy
Completed: 19T3
Commitment: Weekly quizzes and forum contribution, essay (now "written assessment"), Moodle final exam
Usefulness: NA/5 (Not applicable to my field of study)
Difficulty: 1/5
Enjoyment: 4/5
Summary:
Okay, I know what you're thinking and yes, I did take this just because it was "easy" (even in light of what I said in PSYC1022) and guess what, it was, but I just really needed something to curb the COMP1521 feels.
PSYS1160 was everything that it set out to be. A relatively interesting general elective that you could use to destress from all of the bits and bytes of CompSci. I mean you literally get to learn about space and topics that were easily digestible and "fun" to talk about with others.
Take it if you want a fun, easy and approachable elective.
CDEV1112: Creating Your Career: Employability for the Future
Completed: 20T1
Commitment: Interactive seminars, weekly exercises, portfolio development (resume assignment), online interview
Usefulness: NA/5 (Not applicable to my field of study)
Difficulty: 4/5
Enjoyment: 2/5
Summary:
- NOW CDEV2000 -
Want the stress of interviewing, but none of the approachability? That is what happens when you try to condense the variety of the recruiting needs of companies into a university course. This course tries to do too much for a field that is too vast.
CDEV1112 is a course that tries to put you through the paces of real live recruiting and job hunting into a markable course.
To be fair, the intentions are well found, just fall flat when you consider that there is just too much variety and change to make anything they judge within the criteria meaningful in the real world.
Doing your own research about your own career is the alternative you should be taking. Research about where you want to work, where you want to be and how to get there. Reach out to people in positions you want to be at places where you want to work and those opinions are much more well hitting than those provided in this course.
ARTS2374: Ways of Reasoning
Completed: Summer 2021
Commitment: 4 Multiple Choice quizzes, written final exam
Usefulness: 3/5
Difficulty: 3/5
Enjoyment: 4/5
Summary:
To graduate, I needed a course for the summer. After researching deeply and reading a good amount of course outlines, I settled for ARTS2374 and I'm glad I did.
Philosophy is deeply rooted within CompSci and especially AI and this course taught me a great deal about how we approach reasoning between one another. Would it be surprising if I said that I learned about truth tables in this course first and not discrete? That's because I first learnt about truth tables in Ways of Reasoning.
In general, it provides an overview of how people, namely philosophers have attempted to rationalise the arguments that the human conscious makes in reaction to certain situations. You break down the reasoning of statements and attempt to rationalise why they are so.
A very interesting elective to take and though not traditionally "easy" by any means (each multiple choice quiz is worth 15% of the final mark), it is one that is easy enough for you to enjoy what it provides.
Recommendations
Apart from the courses I have listed above as recommended, here are some more course codes that I have seen thrown around as ones you should check out at UNSW in no particular order;
Comp Electives
- COMP3141 - Software System Design and Implementation: You code in Haskell and learn what is implied by the title. It is supposedly difficult but is rewarding and interesting.
- COMP3231/3891 - Operating systems: Touted as one of, if not the best COMP subject at UNSW. Said to be difficult. Did COMP6441 instead of this.
- COMP4128 - Programming Challenges: Said to be the pinnacle of difficulty at UNSW as well as one of the most intriguing.
- COMP6771 - Advanced C++ Programming: Interesting and challenging if you're into "showdowns with the compiler".
- COMP9243 - Distributed Systems: Has COMP3331/TELE3018 AND COMP3231/3891 as prerequisites. "coding like OS [COMP3231] except you get no starter code" - kolotripa
- COMP9447 - Security Engineering Workshop: Delivered alongside AWS. A great course to learn about Security and DevOps culminating in a project that you pitch to engineers at AWS.
General Electives
- SCIF1004 - Science and the Cinema: You watch movies and write essays about them. It doesn't get cooler than that!
- ECON1101 - Microeconomics 1: You play a game to simulate microeconomics. Was about to take this but did ARTS2374 instead because it was more interesting to me.
- SOMA2818 - Media Apps and Digital Publication: You conduct/create your own media project provided a set of skills. "Some of the projects included animation, 3D modelling, choose-your-own-adventure digital stories, installation works, websites etc" - u/unconfirmedpanda via Reddit.
- ENGG1811 - Computing for Engineers: You learn basic python and general computing skills for engineering and is the ENGG equivalent of COMP1511 for non-CSE majors.
These lists will grow when more come to mind.
Thanks for coming all this way! Hope this article helped out. Feel free to contact me if you have your own suggestions and/or any opinions you would like to express to me. Also, comment below if you're into that as well :). Have a good one.