Reviews and advice for all Computer Science, Cyber Security, and Data Science units I completed at UWA.

Yea as long as you do all the work and watch all the lectures you’ll be chilling

seph

I did my Computer Science degree from 2020 to 2023, coming out with a BSc. Computer Science, Cybersecurity, minoring in Data Science. I have omitted statistics units because I have nothing intelligible to say about them1.

Just do Coders For Causes, you will learn more in that than entire semesters of this degree. Learn how to use Git as fast as possible then force all your group project members to use it. Narrow down your problems as much as possible, then google the most generic possible description of it. If you see someone using semicolons mid-sentence regularly it's probably Chris McDonald.

First Year Units

CITS1001 Software Engineering with Java (called Object Oriented Programming when I took it in 2020):

CITS1003 Intro to Cybersecurity:

CITS1401 Computational Thinking with Python:

CITS1402 Relational Databases

Second Year Units

CITS2002 Systems Programming

CITS2003 Open Source Tools & Scripting

CITS2200 Data Structures & Algorithms

CITS2211 Discrete Structures

CITS2402 Introduction to Data Science

Third Year Units

CITS3001 Algorithms, Agents & Artificial Intelligence

CITS3002 Computer Networks

CITS3003 Graphics and Animation

CITS3006 Penetration Testing

CITS3007 Secure Coding

CITS3401 Data Warehousing

CITS3403 Agile Web Development

CITS3200 Professional Computing

Miscellaneous Advice

Labs are the only thing in the degree you can't get from youtube or the Internet. If you are bad, actually do the labs, go in and ask the instructors questions. It's annoying but they can help you bridge the gap between trash and passing.

Learn how to use the command line ASAP. Learn git. Seriously go learn git. So many people I met couldn't use git in their third year. How they made it that far sending code snippets over discord is beyond me. Bully everyone you know into using git. You will actually lose 20% mark if you don't use git+github for a group project because you will waste so much time trying to coordinate the project. If git is hurting your brain try using GitHub Desktop which makes it a bit easier to use for newcomers.

Have other hobbies. Doesn't matter what they are but gaming doesn't count if it's your only hobby.

Go to social events with clubs. The specific club doesn't matter, they are all fine. Alcohol helps, if you are so inclined (science union pub crawls are great). It's very easy in computer science to not make actually make any friends and do everything online. But you will need friends to not be sad and die alone.


  1. When I started my degree I was enrolled in Computer Science and Data Science as my majors. Data Science units come in two forms at UWA, the computer science ones and the statistics ones. The computer science ones were a somewhat random grab-bag of CITS units, all in Python. They tended to be relatively easy coding and not very deep. The STAT units, to me, were HARD. The code was all in R, which is a language made by mathematicians not computer scientists and it shows. You can use it to do some very powerful data manipulation very easily, it has incredible libraries for data processing and visualisation, but holy shit writing it breaks my brain and all I did was remember the 8 functions we had been taught in labs and remember which params needed to be switched out. Every two weeks there would be a "lab report" which was a worksheet based on the lessons where you do some data processing in R. These would always take me a full week to complete, which mostly consisted of trial and erroring the functions we had been taught until I had some data that kinda looked like it could mean something if you squinted just right (just like actual data scientists I suppose). I felt like the classes were taught poorly by angry men. The time spent on the foundational concepts never made sense to me, and did not make sense to any of the other students in my class that I spoke to. Inexplicably, I did well in pretty much all of the STAT units despite never understanding what I was doing or the underlying mathematical concepts. Being able to do well while understanding nothing, to me, is the biggest indicator a class is worthless. I came to feel that these classes only provided me stress and drew time away from other classes that I actually cared about. At least they were cheap.