First Year Compsci Crash Course

26 minute read educational

This article is a crash course for students studying computer science at UNSW. If you have any questions, feel free to reach out!

Degrees
UNSW Basics
What to look out for in COMP courses
Setting up your laptop for computer science
Societies and Extracurricular Activities
Competitions
Transport
Interesting Opportunities
Miscellaneous

Degrees

What is computer science?

The best way to describe a degree in computer science from a first year perspective is learning how to develop software. This means there is a lot of coding but also lots of other components like learning how to design a program to solve a problem, work on a team and break down large problems.

I remember coming into uni, it seemed very daunting talking to students with years of coding experience, but there’s no reason to worry! The degree is structured in a way that caters to students with no experience and what you’ll find is that most students have never written a line of code before uni!

Software Engineering or Computer Science??

Short answer: both have the same content but different structures.

  1. Degree Length. Computer Science is a 3-year degree with lots of flexibility in what subjects to take. Software Engineering is 4 years long, with the 4th year being the honours year (you write a little research paper over the year and do some extra courses).

  2. Flexibility. At UNSW, you complete 48 units of subjects a year. In a standard computer science degree, you have to complete 66 units of core courses and then get to choose the rest from any computer science subject offered based on your interests. In software engineering, there are 126 units of core courses and then the rest can be chosen from any computer science, information systems, mathematics, electrical engineering or telecommunications subjects.

    If that sounds too complicated, basically in computer science you’re forced to do less main subjects and can choose more comp subjects based on your interests. In software engineering there are more compulsory subjects but most are really good subjects and there are more options for your other subjects.

image-right


That’s about it! Most of the time, software engineering and computer science can be used interchangeably!

NOTE: Computer Science also has honours if you’re interested in research, however, you apply towards the end of your 3 year computer science degree and it adds an extra year onto your degree.

Single Degrees vs Double Degrees

There are many differences between picking a single degree and double degree. There is no correct answer to which one is better and it’s more of a personal choice!

  1. Flexibility. Single degrees give you many more electives than double degrees. This means you can experiment more in other faculties and take a course for something completely unrelated to your degree.

    As a computer science and maths student, I don’t have room in my degree to do a language or finance course, however, if I were to only do a computer science degree, I would have 48 units (an entire year) of courses to do that can be totally unrelated to my degree.

  2. Career Pathways. Doing a degree like mine (computer science and maths), I have realised that I’m much more unsure of what I want to do in the future than I was before uni started. Doing both of these degrees gives me options to work in either field or to combine both. This is an advantage of doing a double degree, however, it does mean a lot of extra time at uni.

Honours

Some degrees like software engineering have honours in their name. This just means that in the final year of uni, you write a research thesis and do more elective courses. This can be very useful if you’re considering a career an academia and are curious about research but doesn’t make a big difference in most typical careers.

Computer science does not have an integrated honours within the degree. This means doing honours is still possible but you have to apply in your 3rd year to get into the honours program. Again, if you’re not too interested in research, this doesn’t make any difference and most students in computer science don’t choose to do honours!

UNSW Basics

Registering for courses and picking your timetable

Registering for a course

Before the start of each year of uni, you can register for courses for the entire year. I highly recommend planning out what courses you want to do during the year and registering for them all as soon as you can. There are some courses which are really popular and fill up fast, so even if you’re unsure about whether you want to do it, it’s better to register for it and then drop it if you change your mind later on.

One extremely important thing which isn’t described clearly when you sign up for uni is that you can enrol and drop and swap any courses you want before you start them (as long as you meet any prerequisites). For example, lets say I want to do COMP1511 in Term 1 and enrol in that, but then realise I’m going to be too busy and want to do it in Term 2, I can simply go to the MyUNSW website, click drop on the course in Term 1 and then add it to Term 2.

There’s lots of advice around for when you timetable your subjects. I’d recommend not stacking multiple subjects on a certain day because it can get very tedious and exhausting. However, no matter what you decide, it won’t make any big difference! Just try to sync your timetable with friends and timetable your courses around any personal commitments like work.

Picking your timetable

There are many timetabling websites that can help you plan your classes before enrolment for the term opens. The two most popular ones are Notangles and Crossangles.

image-right

NOTE: These websites help you pick when you want to do subjects but you still have to enrol for your subjects before the start of each term on MyUNSW. Each class has limited capacity so if you want a particular class, make sure to pick it early!

Timetable Abbreviations

When picking your timetable, there are a few abbreviations you might be unsure of.

LEC

LEC stands for lecture. These are typically 2 hours long and are usually recorded (so you can watch them whenever you want). These are probably the most passive type of class as it is simply a lecturer presenting course content.

TUT

TUT stands for tutorial. These are in a similar format at high school classes and you’ll typically be in a small room on campus with a tutor teaching content and helping with homework questions.

image-right

LAB

As you can probably guess, LAB stands for lab. Labs can mean a variety of things depending on the subject. In computer science, lab means a computer lab where you complete coding problems with the help of tutors. In chemistry, physics, biology etc lab usually means a science lab where you conduct experiments.

OTH

OTH stands for other. This is an extremely broad class and can be anything from an extra tutorial to a timeslot reserved for one exam. Don’t worry too much about this but make sure to put it in a slot when you’re typically free.

TLB

TLB stands for tutlab. This is typically a computer science term and consists of a 3 hour class where the 1st hour is a tutorial followed by a 2 hour lab.

Census Date

Census date is the Sunday at the end of week 4 each term. You’ll get a lot of email reminders from uni and the course as that day approaches because it’s the last day you can withdraw from a course without having to pay anything or having it appear on your transcript!

This means that if you’re halfway through week 4 of your course and you’re finding it too hard to keep up with deadlines or the course isn’t interesting enough, you can drop the course and not worry about it affecting your grades or costing you any money.

NOTE: Many courses ramp up the content right after census date. It’s not something to be concerned about but just be aware that courses that might seem easy at first might become a little harder after this date.

Important Subjects

There are a few important subjects that are really helpful to do in first year or much easier to do coming from high school than later on in your degree.

  1. COMP1511 is the introductory comp course. Try to do this in Term 1 because almost every computer science and software engineering student tries to take it Term 1 of first year and this is a great way to make friends in your course! Refer to the COMP1511 - Full Summary for more information about the course.

  2. MATH1081 is discrete maths. It covers a lot of very similar content to COMP2521 (which I’ve covered below). This includes logic and graph theory, two very important comp concepts! From my experience, taking this before or at the same time as MATH1081 is very useful! Refer to the MATH1081 - Full Summary for more information about the course.

  3. COMP2521 covers data structures and algorithms. It is a really important course within a computing degree and covers a lot of fundamental data structures. It’s a prerequisite course for almost every other computer science course so try to take it as early as possible! As stated above, there is a lot of graph theory within this course and doing it at the same time or right after MATH1081 is useful. Refer to the TO BE RELEASED for more information about the course.

  4. COMP1531 is the most important first year course in my opinion. Most people say that COMP2521 is most important, however, there are some extremely foundational concepts taught in COMP1531 which are very useful in software engineering jobs. I apply what I learnt in COMP1531 at work everyday and I recommend paying full attention to all the content of the software development life cycle. Refer to the TO BE RELEASED for more information about the course.

For full guides on every subject I’ve taken so far, refer to my subject reviews.

What are electives?

Elective courses are ones you can choose from a big list of options based on your interests. There are two types of electives offered at UNSW, free electives and general education electives. You typically don’t get any of these if you’re doing a computer science double degree but depending on the overlap you might get a few free electives.

Free Electives

These are usually courses you have to take within your own faculty or towards an optional minor. In computer science, these include courses in accounting, finance, information systems, marketing, psychology or mathematics.

NOTE: These subjects don’t have to be related to your degree and you should use them to explore other faculties to find more interests!

General Education

Gen-ed courses have to be taken outside your faculty. That means you can’t do it within the school of computer science and engineering if you’re doing a computer science degree. This gives you a huge amount of flexibility to explore! You can choose a course from arts or law or business or science or other faculties!

What do my grades mean?

At uni, courses are much harder and marked to a much stricter standard than at high school. Make sure to lower your mark expectations compared to high school and set a goal for yourself each term. There are two grades you need to understand.

  1. Course marks are the marks you receive in individual courses. These are usually not scaled at all and are the sum of the raw marks you receive for assignments, labs and exams. Make sure to check out the coruse outline for each of your courses for more specific information about how the course is graded.

  2. WAM stands for weighted average mark and is the average of each of your courses. You get a term wam based on your subjects for a particular term and your overall wam based on all the subjects you’ve done at uni so far. You can find out more about wam here.

Grade Definitions

Grade definitions are the category that your marks in each subject fit into. These are as follows:

High Distinction: >85
Distinction: 75 - 85
Credit: 65 - 75
Pass: 50 - 65
Fail: <50

NOTE: There are other grades for certain courses (like satisfactory for pass/fail courses). You can find the full list of grade definitions here.

Double Pass

Some subjects are double pass subjects. This isn’t very common but there are some comp courses which are double pass depending on who’s running it. This basically means that in order to pass the course, your overall mark needs to be 50+ AND in the final exam you need to pass a certain hurdle (typically scoring 50% in the finals).

What to look out for in COMP courses

Lectures and Tutorials

Computer science lectures are typically 2 hours long and occur twice a week. These are usually very slow and go through each concept incrementally. My advice is to try to watch them before doing labs as there’s a lot of useful information and sometimes shortcuts to the labs. All lectures are recorded with lecture code and slides available on the course website.

Don’t be afraid to miss a few lectures during busy periods of uni, however, try to catch up before assignments and exams as there might be important content that you’ve missed!

I haven’t found tutorials or labs really useful for any 1st year computer science courses. They are good if you’re getting very confused and need some support with the content you’re learning, however, there are so many other avenues of support like the CSESoc Discord Server and the course forum.

NOTE: Use the course forums. I was so skeptical about them at first but you get quick and useful responses from tutors.

Assignments

Computer science assignments range from very easy to extremely hard. They usually follow a really supportive format, where completing approximately the first 30% of the assignment is worth 50% of the marks, the next 30% is worth 25% of the marks etc. This means if you only complete part 1 of an assignment, you’ll still get a passing mark!

Although the final few stages of each assignment are called extensions, they are very helpful to your understanding of course content and most of the time they’re not too hard if you put in a bit of time and patience. My advice is to try them out but not be disappointed if you can’t complete them.

Exams

Exams are probably the worst part of uni. They occur from the Friday after week 10 and last about 2 weeks. Each subject typically has one exam, although some don’t have any. Here are my main tips for studying for exams.

  1. Work through the term consistently. Studying for 3 exams in one week is very stressful and not really realistic so if you consistently put in effort throughout the term you’ll be in a position to not need much studying before finals.
  2. Binge lectures at 2-3x speed or skim through lecture slides. Sometimes there are concepts that you’ll forget about throughout the term so by quickly looking through everything again, you can minimise the chance of completely forgetting something that might be essential.
  3. Don’t stress! Exams always have a range of easy to hard questions and as long as you’ve done a few practice questions beforehand and are relatively comfortable with course content there’s no need to worry.

Setting up your laptop for computer science

VSCode vs Gedit

There are two primary options for coding you’ll learn about at the start of computer science. These are using a virtual computer connected to the CSE machines at uni or using Visual Studio Code and connecting to the CSE servers via SSH. Don’t worry if you don’t know anything about either of these, there are some really detailed guides you can follow to set everything up!

image-right

Which method is better?

The first method is incredibly simple and there is a lot of course support on setting everything up. This involves connecting your computer to the CSE machines and using an application on their servers called Gedit. While this is really simple to use, it doesn’t offer some very useful tools like code snippets and bracket matching. These are definitely not important and when I learnt how to code I started off with something similar to Gedit but after you do one or two comp courses you probably want to go to the 2nd method.

I prefer the 2nd method because it allows a much better and efficient coding experience once you set everything up. However, the main drawback is that setting stuff up is significantly harder and there is no course support if something goes wrong with Visual Studio Code.

How to set up Visual Studio Code

There is already a detailed beginner-friendly guide to setting up your workspace with Visual Studio Code written by another UNSW student. I recommend looking through that as it is much better than any guide I could write about this topic. You can find it at CSE and VS Code.

Societies and Extracurricular Activities

Events

O-Week

O-Week is the week before uni starts and most societies at uni have a stall. This is the best way to learn about exciting opportunities and societies to join! It’s also a great way to run around campus collecting a billion freebies and lots of merch. Try to go to O-Week for at least one day during the week.

NOTE: Certain societies get stalls on specific days so if you go twice a week you’ll probably see some different stalls each day.

CSESoc Peer Mentoring

Peer mentoring starts in the first week of uni and is the quickest way to meet new people. Because CSESoc Peer Mentoring groups you with people doing similar degrees, it’ll allow you to make friends who will be in your classes throughout your degree.

There isn’t too much commitment in peer mentoring and there aren’t really any drawbacks so I’d encourage you to sign up even if you don’t think it’ll be too useful!

CSESoc First Year Camp

This is singularly the best way to make new friends at the start of uni. The camp lasts 3 days and is filled with fun actvities to get to know others. Although it isn’t essential to go to camp, I would strongly encourage everyone to buy a ticket as soon as they’re released because it is one of the best first year experiences!

NOTE: Tickets sell out really fast so make sure to buy one quickly!

Subcommittees

Subcommittess are basically the volunteering committees behind each uni society. Typically they are filled with 1st years who progress to director or executive society positions the year after. There are a variety of opportunities joining a subcommittee offers. For example, as part of the CSESoc Careers Subcommittee, I learnt how to write more professional emails and got to make more friends. Subcoms usually go on roadtrips and have bonding events so even if you don’t enjoy the work, there are almost always lots of fun things to do and good vibes.

I recommend joining a subcommittee for a society you are interested in or passionate about. In first year, I joined a subcommittee in CSESoc and SecSoc and I would say that two subcoms should be a soft limit you set for yourself so you don’t overcommit.

Some of the societies that I participated in and really recommend include:

  • CSESoc - Computer Science and Engineering Society
  • SecSoc - Security Society
  • Med Revue - Comedy sketchshow for anyone interesting in acting, singing and dancing (you don’t have to do med to join!)
  • Puzzlesoc - Puzzle society (has good vibes)

Competitions

There are two main types of society run competitions you should look out for!

Case Comps

I can’t speak too much for case comps since I’ve only done one, however, these are focused on problem solving and presentation skills. Basically, you form a team and get some sort of problem that a company has and you have a set period of time to come up with an innovative solution. Then you present your solution and answer a Q&A panel.

These are usually non-technical so don’t feel like you don’t have the skills to participate! They’re all about creativity and are a really good way to learn something new.

Hackathons

Contrary to its name, a hackathon has nothing to do with hacking. It’s very similar to a case comp in that you have a problem you’re trying to solve and you need to present a solution. However, hackathons are more technical than case comps. This means that you need to try to solve the problem using software or hardware and typically, teams code up a very basic prototype to demonstrate during their presentation.

Hackathons are much shorter than other similar competitions and only last 24-72 hours. They are really fun but also very draining, however, the skills you pick up in hackathons are very valuable so I’d encourage you to try to participate in as many as possible even if you don’t think you have enough coding experience yet.

image-right

I’ll be writing a full length post on doing hackathons as a first year sometime in the future so be on the lookout for that if you’re interested!

1st year friendly events to look out for

  1. CSESoc’s Annual Hackathon is usually held at the end of term 2 each year. It caters to all skill levels and there are specific prizes for beginner teams as well as more experienced ones.
  2. SYNCS Hackathon is held by the Sydney Uni Computer Science Society. It is also a very popular hackathon and caters to everyone regardless of coding experience!
  3. DataSoc Datathon is also held annually. It isn’t a hackathon and focuses more on analysing and presenting large sums of data. Being very different from a typical hackathon, it’s a great opportunity to learn new skills and see if you enjoy analysing data.

Transport

Upper and Lower Campus

UNSW is built on a very steep hill. This means that there are two parts of campus: upper campus and lower campus. There are light rail stops at both upper and lower campus and it is about a 10-15 min walk between the two stops. The computer science building is located at lower campus and almost no classes you’ll have in first year will be in upper campus unless you’re doing a medical related course.

image-right

Light Rail

The light rail is typically the way people get from Central Station to uni. There are two light rails, one to Juniors Kingsford (L3 Line) and one to Randwick (L2 Line). Both of these light rails start at Central station light rail stop and have their own UNSW stops, however, the Randwick light rail stops at UNSW upper campus and the Juniors Kingsford light rail stops at lower campus.

NOTE: Don’t go all the way to Randwick or Juniors Kingsford, there are actual UNSW stops for each light rail.

Parking

The first time I drove to uni, I didn’t realise there would be absolutely no parking anywhere. It took me half an hour to find parking even though it was barely 8am. There are some very good parking spots near uni but they’re hard to find!

Kennedy St

Parking here is right next to upper campus and is the closest parking you’ll get to uni. It’s very quick to get from here to anywhere on upper campus including the library, however, because of this it is very hard to find parking here.

Most of the parking here is 1-2 hour parking, and even that is usually taken during busy uni days. The only time I’d recommend trying to find parking here is on weekends or if you come to uni really early in the morning (before 8am).

Doncaster Ave

Located near lower campus, it’s about a 10 min walk from here to uni. Although it’s much further away than parking on Kennedy St, there’s usually parking here. If you can’t find any parking here, follow the road to Addison St and Grosvenor St and there’s almost always parking here (it can be a 15-20 min walk to uni from here).

image-right

  • The red rectangle is the UNSW Computer Science Building.
  • The blue rectangle is lower campus street parking (approx 10-20 mins walk to computer science building).
  • The green rectangle is upper campus street parking (approx 5-10 mins walk to computer science building).

Interesting Opportunities

Internships

Internships are basically the university version of work experience. They typically last 3-6 months, are paid and relate to your degree. Internships are the best way to get actual industry experience during your degree and put you in a better position to ponder what your career interests and aspirations actually are.

As a first year, getting an internship isn’t easy and there are many companies that don’t even read 1st year applications. This is because internships are aimed at students in their penultimate year (3rd year students if you’re studying a 4 year degree). However, this is only a hurdle and there are many people who do get internships as first years!

My advice is to start thinking about your interests and then find companies that match those. Then, when their internship applications come out, apply and try your best! Although it’s very unlikely to get an offer straight away, there are skills like resume and cover letter writing, and interview skills which will naturally improve. By the time you’re in your penultimate year, you’ll be much more experienced in applying to companies!

Exchange

Exchange is the opportunity to study at a university overseas. It’s a fun excuse to travel and stay in another country for 3 months to an entire year. The full list of partner universities you can apply to are listed here.

Some things to keep in mind are:

  1. Getting into an exchange university is completely dependent on WAM and nothing else! Applying when you’re happy with your wam is probably a good idea so that you have the highest chance of getting into the uni you want to. Here’s a list of WAM cutoffs for 2018 and 2019.
  2. Make sure you save up enough for exchange. UNSW recommends a budget of $3k per month overseas. Because I haven’t been on exchange yet, I’m not sure whether it’s accurate but it’s probably a good guideline to go by.
  3. You can apply to go on exchange as early as 2nd year, however, you’ll have to apply for that around September of your first year. There aren’t really any reminders or emails about exchange information so you’ll have to do a lot of research yourself and not forget to apply. You can read more about exchange here.

Miscellaneous

What to buy before uni

Laptop

There is no definitive laptop for uni and there are so many really good options to choose from! To the question of Mac vs Windows, it really doesn’t make any difference which you choose as there are ways to install everything you need regardless of what operating system you choose.

Some of the things that do matter when choosing a laptop:

  1. Good battery life is very important if you’re planning to come to uni often. Try to get something that lasts at least 5 hours if not more.
  2. Lightweight laptops are handy, however, not necessary as you probably won’t have anything else to carry to uni anyways.
  3. Having a good keyboard is something I value because it helps me type faster and make less typos. This comes up to personal preference but as you’ll be writing lots of code and typing a lot in general, it’s a good idea to do some research about this before choosing a laptop.

iPad

iPads are definitely not necessary for compsci students. However, as I also do a maths degree, I’ve found my iPad to be one of the most essential things I’ve bought since coming to uni. This is because the combination of an iPad with the Apple Pencil makes annotating pdfs and organising notes really easy, and you always have everything you need stored on one device.

For my computer science subjects, I rarely use my iPad as I’m mostly coding and taking notes on my laptop, but for physics and maths courses, an iPad is a great investment if you have the money!

Here’s a list of the best notetaking and productivity apps I have iPad.

  1. Nebo is a notetaking app which is extremely simple to use and has an infinite canvas to write on. I use this app as it lets me keep scrolling across the screen as I write and continues to add more writing space underneath. It also allows PDF annotation and exporting documents to PDFs, however, these are paid features.
  2. Goodnotes is another notetaking app which is a little more complex than Nebo but has many more features. It allows notes to be taken in “books” and you can not only pick what type of paper to be displayed on the screen (ruled, dotted, blank) but also the colour of the paper (black or white) and the book cover. This app is really good for taking notes, however, it doesn’t have an infinite canvas like Nebo so I don’t use it for working out paper.
  3. Replica is an app I don’t really use for uni but I do use for tutoring. I find it extremely useful as it allows me to cast my iPad screen to my laptop by clicking one button. It doesn’t have too many features but that makes it easy to use. When I bought it, it only cost a few dollars but I’m not sure if it’s more expensive now.

image-right

Productivity Apps and Chrome extensions

Notion

Use notion, it’s the best app ever!!

Notion is a productivity app which combines most of the functionality of google sheets, docs, a calendar and a notetaking app. It allows for an infinite page hierarchy, meaning you can create pages inside pages infinitely, and it has tables that work similar to excel and google sheets but are most beginner friendly and don’t have any complex features.

I use notion for my calendar so I can keep everything organised, as a notetaking app for each of my subjects and as a planner/brainstorming app when I have to write something long, such as an application or a post like this one!

image-right

Video Speed Control

I typically watch recorded lectures rather than the live ones. Most lectures in CSE talk really slow and speeding up lectures to 2-3x speed is very normal and makes learning much more efficient! Here are the extensions I use to speed up videos.

  1. Most lectures and lecture recordings are handled by a platform called Blackboard Collaborate. I use the Bb Collab - Playback Speeder chrome extension to speed up my videos on this platform.

  2. For videos on youtube, there is a much simpler extension I use called Youtube Playback Speed Control. It allows lots of small speed increase increments and makes watching lectures on youtube so much faster!

Updated:

Comments