Somewhere at the very start of the year, an early lab for one of my classes asked something along the lines of “Why are you studying Computer Science?”. For a little introduction to me, this is what I said:
“I’m doing a Computer Science conjoint with Communication! I’ve always been a big fan of media, art, and technology, and have been pretty interested in computers since I was a small kid trying to install Minecraft mods. I’ve been led on a journey across a range of computer-aligned fields throughout high school – from digital art and visual effects to software development – and enjoy seeing the many ways in which computers can be used in creative fields (and elsewhere, of course!).”
Okay, so maybe that’s a little flowery, but like every choice of degree and major at university, Computer Science students will come from a huge range of backgrounds.
Maybe you’ve loved programming ever since you toyed around with electronics as a kid. Maybe you’re really passionate about artificial intelligence after years of cool robot films. Maybe you’re just a huge fan of building gaming computers.
Or maybe you were struggling to pick a major and decided to go with the first thing that came up when you Googled “highest paying uni majors in 2022” (and wasn’t biomed).
Admittedly, everyone’s a little bit guilty of the last one… but either way, you’ll end up here – in what’s probably one of the Faculty of Science’s most popular subjects.
… What’s that like?
Your first-year experience
As a major under the BSc, Computer Science students get a fairly straightforward degree plan to start off.
There’s three areas of computer science – computer systems, theory, and development – and you take one course in each area, every year, for your first two years. That’s three core courses per year. Then, in your third year, you get to pick a few more specialized courses in whatever area/areas you’re interested in.
You can mess around with these timings a little (you don’t actually have to do Stage II or III papers in your second or third years), and many people do, but that’s a little outside the scope of this blog.
I can’t speak about classes second-year and beyond yet, but I’ve been lucky enough to take the three required first-year papers already, so here’s some quick takes that’ll sum up your first few experiences in Compsci:
COMPSCI 110 is the introductory course for computer systems, and it’s kind of an all-you-can-study buffet overviewing various topics related to computers and computer hardware. There’s lectures on everything. I’ve covered artificial intelligence and circuit design, assembly language and computer networks, plus a whole lot more – it’s a little content heavy, sure, but I find the wide range makes it pretty interesting, and there’s bound to be a topic that you’ll find at least mildly entertaining.
COMPSCI 120 introduces you to computer theory through some unique mathematics that you probably won’t have seen before. There’s a big emphasis on proofs – where you explain why something is the answer to a problem rather than what the answer is… which is a little different to what you or most other ex-high schoolers might be used to. Not everyone picks up this new flavor of math immediately (though some do), but don’t discredit it if you’re not a big math fan! The different style of content appeals to some people more, and they end up liking this type of math regardless of their past experiences.
As with all math classes, I’d say a generous mix of reviewing lecture material and tutorials, combined with a little “practice makes perfect”, is key if you’re not too confident from the start.
COMPSCI 130 covers some principles of computer programming in Python: some basic data structures and basic algorithms. With a new topic (or two) per week and two accompanying coding labs, it’s a fast paced course. Unless you’re already very proficient in programming (and you know it), I would strongly encourage making the most of these labs and the additional programming practice tasks the course kindly provides – the exams can be tightly timed and difficult without getting into a confident position first!
As a lil’ sidenote here, many Compsci students will take the basic introductory programming course, COMPSCI 101, prior to 130. You might do this because you have to (you can only take 130 straight away if you have prior experience in NCEA Digital Technologies or equivalent), but others elect to.
I know plenty of students who could have gone straight into COMPSCI 130 yet didn’t – instead opting to hone their foundational skills before jumping into the deep end and therefore ease the transition a little. If that sounds like you, or you’re not entirely confident in your programming skills, it’s certainly a valuable option.
The learning experience in Computer Science is also pretty exciting! We get a mix of essays (yes, you’ll still have a few of those, even if they’re short), worksheet-based assignments, online quizzes, and programming tasks, depending on the class. Online programming tasks might be something you’re new to. The University uses this platform called “CodeRunner” for them, and they usually involve receiving a programming question of some kind, having you write code, and then running it against a series of “test cases” – scenarios – to check if it works correctly. I find them pretty engaging, and it’s kind of like a fun, relaxed problem-solving game… if you overlook the whole bit about your grades being dependent on your performance in them and all that.
What else can I do?
With three or four core papers for your first year, there’s still a few spaces left for other things. In my case, I filled out the rest of my courses for the year with some required classes for my conjoint, and if you’re doing a double major, your other major might fill the rest of your slots. If not, though, you’re lucky enough to get a couple electives to finish up! Part of the fun of university is getting to explore new horizons and new adventures – and indeed, new topics – so make the most of them!
The University also has a bunch (like, many tens) of technology-aligned clubs or societies that you can participate in. Having just visited the Clubs Expo this week, it’s safe to say you’ll probably be interested in enough that choosing which one becomes the hard part. From a game developers’ guild to a robotics association, programming contests to a web development club, you’re pretty spoilt for choice here at uni.
As an example, a friend of mine, Chris, whose also in his first year, is part of UoA’s Formula SAE team. He described his work for them as such, which I’m sure is exciting for those electronics or car people out there:
I got given a microprocessor and custom pcb and had to design, research, and create firmware for a car’s steering wheel buttons and paddle actions.
Look at all the options!
Despite the somewhat all-encompassing name, Computer Science definitely isn’t the only major (or degree!) for people interested in computer-y things.
There’s this somewhat frequent question that gets posed, which is that over in Engineering, there’s a specialization in Software Engineering – the choice between that and Compsci is difficult and often confusing. I’m not in a position to give you recommendations, but I, like many others, struggled with this choice too. Conveniently, UoA has this webpage that helps explain the difference, but ultimately it’s a specific decision to you that might require some work.
As a quick sidenote, I’m also a bit of a conjoint advocate. You can always combine Computer Science with anything! My conjoint – with the shiny, brand new Communication degree (more on that in another blog) – probably isn’t very common. If there’s something else, as similar or dissimilar to computing as you want, that you really love, be sure to go for it! Part of the wonder of computer science is its diversity: you can apply it to every industry, from fine art to international relations!
Sidenotes aside, if you’re thinking about studying Computer Science, or you’ve already applied, or you’re basically about to do it, you’ve got a great first year ahead of you! Make the most of your opportunities, try to keep on top of your classes, and read through some other blogs on this site to navigate university well 😊