You always thought Computer Science was kind of… well, awkward. They never talked to anyone at school, always smelled like stale pizza rolls and had a ton of stickers plastered on their laptop. Now, Computer Science is in every industry, and account for almost 70% of the top companies in the world by net revenue, with the other 30% assuredly relying on software built on complicated algorithms and statistical models backed by warehouses full with data. Even if you swear by Extension II English and your dream degree in law – it’s impossible in this age to make rational decisions out there without having at least an inkling of the capabilities of technology. Hell, the job you want in five years time, might have been entirely absorbed by software – in fact 80% of jobs today won’t exist by the time you graduate. From Google and Tesla’s self driving cars to particle tracking at the CERN supercollider. Like when computers pretty much guaranteed the presidential election for Trump, to keeping your location private from any unsuspecting eyes on Tinder – studying Computer Science (or any quantitative field like physics, economics or mathematics) brings you closer to solving questions that people the world all over are scratching their heads at.
What even is Computer Science?
However, if you were to think Computer Science is simply how to write software or the key to making million dollar startups, you’d be missing the point entirely. Computer Science is no more about computers than astronomy is about telescopes. Computer Science is about tackling fundamental, quantitative problems and using rigorous, mathematical arguments to prove a solution correct, often implementing these solutions as programs. (Unlike high school, problems in university are open ended and often have no known solution!) If I had to give a figure, only 20% of my university life is dedicated towards programming, and the rest on crafting solutions to problems and procrastinating and to finish, instead of iOS Development 101, you’ll probably face this beautiful monstrosity in your degree:
Some notes for an introductory programming language semantics course I took this year. Absolute fun, but definitely doesn't look like iOS Development 101.
“Computer Science is no more about computers than astronomy is about telescopes.” – Edsger Dijkstra
From mathematical computing theory, robotics, artificial intelligence to cryptography, Computer Science is a hodgepodge of people using mathematical tools to solve pressing problems. The Silicon Valley allure surrounding a degree in CS is definitely well founded, but it’s not a representative look into what you’ll be studying in a four year degree. Yes, most students are employed by technology giants with starting salaries upwards of 100 thousand dollars, however, that’s due to the problem solving abilities you’ll develop in your degree, rather than your inherent programming skill. In any case, you’re sure to find companies in finance, hard sciences, agriculture, defence, social sciences (and all the thousands of other industries) who are desperate to hire people who can take a problem, quantify it, and solve it.
It’s understandable if you’re thinking that your four year CS degree is basically mathematics lite from what you’ve just read. This isn’t the full truth though! If you want to grow in your programming skills, then you can take more practical, project based courses in CS like: software engineering workshops, software construction, systems etc. Similarly we’ve got theoretically slanted courses like: algorithms, complexity theory, formal methods etc. which aren’t typically project based (although they very well could be!) but the insights you learn in these courses allow you to program solutions to more advanced problems.
But Adrian! I’m not like one of those 1337 programmers who were born with a keyboard slung on their back – I don’t even know how to code! Fear not appropriately anxious reader, I didn’t start learning how to properly code until I started my first semester at university and anyway, coding comes second to problem solving skills! It’s a total myth that you’ll be surrounded by confident programmers, who will ridicule you at any question you ask, no matter how valid. In fact it’s completely the opposite. You’ll meet some of the most supportive and eager people in CS, who are excited to bring you to their level and beyond (I’m currently a university teaching assistant for UNSW’s introductory data structures and algorithms class, and at any one moment, you can hear students grouped up discussing and improving on neat solutions they’ve devised – literally nothing makes me happier.)
It’s a total myth that you’ll be surrounded by confident programmers, who will ridicule you at any question you ask, no matter how valid. It’s the complete opposite.
Extra bonus: You know how I’ve been spouting that companies can’t get enough of Computer Science students? Time to put that to (admittedly skewed) facts. Almost 60% of 2nd year CS students that I know of already have an internship lined up for the Summer (yes, the ones where you solve interesting problems and are paid handsomely to do so), where most of the other 40% are instead planning to go travel. Point is: don’t worry, you too can solve interesting problems for a living! Australia is in need of people with technical, quantitative skills and it’s definitely showing in the Software Engineering market. If job security motivates you – at the rate jobs are evolving – the desperate lack of CS skills in Australia will open an array of opportunities to you in your second year of university (yes, only after one intensive year, you’re able to contribute effectively to most CS related entry level job). How to get those jobs? Don’t slack around, be active in your courses and extracurriculars and constantly apply things you learn in class to problems you face in your own personal projects.
Who enjoys Computer Science?
If you think attacking problem sets with a bunch of mates is enjoyable way to spend a Friday night (often leaving with no solution in sight), then I’m sure you’ll excel and enjoy CS. Getting bogged into technicalities, from my perspective, you’d love (and do well in!) CS if:
- You can see yourself enjoying mathematics. I caution stating that you should be amazing at mathematics simply because its treatment in the HSC isn’t at all indicative of the rigour and skill you need in university. Even then, math is just a litmus test for your analytical skills – if you love solving those infuriating logical puzzles, then CS is a great fit for you.
- You never settle for a that’s just how it is explanation.
- You enjoy working collaboratively. The stereotype of a basement dweller who eats, sleeps and dreams code alone is long gone. Whether it be coding, writing mathematical proofs, or struggling on problem sets, it’s very likely you’ll do it in a team.
- You don’t lose hope or give up as soon as you reach a roadblock. Trust me, you’ll be running into a ton of those.
- You try out programming and find that it’s addictive! (it’s like those coolmathgames but actually cool)
- You’ll need to meet the entry level requirements for University study (a 93 ATAR with Mathematics Extension I for UNSW as of 2018), but these aren’t the be all end all.
- If you’re unsure of any of the above, if you’re curious, resilient and willing to work hard, I’m sure you’ll go far.
If you take anything from reading this, it should be that there’s so much more than what we’re fed in high school. Take the time outside of the study grind (or boatloads of free time for you HSC finishers!) to explore things that interest or challenge you – the best way to get a feel for any field is to try it out! Computer Science is no exception. In a coming article I’ll be posting what I believe would be a great way to get a head start in a degree in CS – I think it’s such a great head start, that if you successfully complete all the milestones, you’ll be ready to head straight into industry and compete for those internships before you even touch your first year of university!
I’m not saying that you should abandon your dream degree for CS and I’m definitely not saying you should study CS to cash in on the large salaries. Get in touch with some programming and see if you have that itch to explore the world of CS more!