I've been asked the same questions many times... so this serves as an FAQ, as well as extra things that I wish I knew before coming to Waterloo CS.

Note: This is written from my personal perspective, and not supposed to be a comprehensive guide. I also don't know you personally, and you should take all advice with a grain of salt.

This is a lengthy resource, divided into several sections: academics, social life, applying to jobs, co-op sequences, and other miscellaneous notes. Feel free to jump around and read whatever interests you.

Unfortunately, I did not live on campus in my first year... so I'm unable to provide much insight into that aspect of uni life.

Academics

You (probably) came to university to further your education... I personally find university courses a lot more interesting than high school courses, since they dive deeper into (more interesting) content. You also get a lot more flexibility over what courses to take, as a CS major.

How should I study for my courses?

During the term, one of the most important things is keeping up with the content every week. There'll be weekly quizzes for Math 135 and Math 137, and the best way to prepare is to do the practice problems and quizzes, and ask for help (from your peers, your profs, the math tutoring centre) as needed. For your CS courses, you should start your assignments early, so you have time to fully work through your assignments.

I also highly recommend going to lectures, as that helps you make sure that you don't fall behind. It's super easy to get into the habit, once you start skipping classes.

Pro tip: you don't actually have to go to your section for lectures, especially for core math classes that offer many sections. Some profs simply don't teach well or don't teach in a style that suits you, so just go to a section whose prof you like learning from.

What are the exams like?

Exams will be a bit more difficult than the usual high school exam, since there's more content covered and you can't purely rely on memorization to get by (at least compared to high school courses). However, if you do sufficient practice and keep up with the content, you should be prepared for the exams.

Also, don't compare yourself with other students. Some students might've already learned the content in high school, due to taking AP or IB classes, but you can definitely learn the content if you put in the work. You can still do well on a final exam (and the overall class) even if you do poorly on a midterm.

Should I take an advanced class?

For me, I took CS 145 and CS 146, and I really enjoyed the advanced offerings of the classes. Take it if you have prior experience in CS/math and like thinking more than doing tedious work. In particular, CS 135 had to do design recipes, which I heard are very tedious and not fun. Generally, for an advanced class, you should be prepared to do more work/think more.

If you're undecided, try the advanced offering, and drop into the regular version if you decide it's not for you. There's a really generous drop deadline (until after midterm) in your 1A term for advanced classes. Relatively speaking, I would say the CS advanced class is easier than the math advanced classes (based on my peers' experiences, since I never took the math advanced classes). This is subjective since it highly depends on what you're good at, but here I'm talking about how much more difficult the advanced class is compared to its regular counterpart.

In university, you should also realize that GPA isn't as important as it was in high school (unless you're in math trying to transfer to CS). Personally, I think learning/understanding the content is way more important than trying to maximize your grades (a few percent will not make a difference).

This is something that might take time to get used to, especially if you spent all your time in high school getting a 99% just to get into Waterloo CS.

Social life

People say Waterloo students don't have a social life... I say it just depends on what you put your time towards. I've been able to find people I enjoy hanging out with, as well as cracked people that I can work on projects or go to hackathons with.

How can I meet new people?

Talk to people! Everyone else is in the same place as you are, and many others also want to meet new people! A lot of people are scared to make the first move or approach another person, and like when others are the first one to say "hi". Of course, please keep in mind that you should always be respectful when approaching others, and if someone isn't interested, you shouldn't keep bothering them.

Also, don't treat every interaction as "networking". It's easy to fall into that trap, since there's a big emphasis on the co-op search at Waterloo. There will be times when that's appropriate (such as at networking events), but most of the time, it's better to make genuine friends over "connections". You'll enjoy your uni life a lot more if your friendships are more than "transactions".

Where can I meet new people?

1. Go to your classes. If you see the same people a lot, chances are you'll start talking. One of the ways you can make friends is by studying together. For example, some of the friends I met (and still talk to today), we had the same Math 135 and Math 137 classes. We'd study together during our 1-hour gap between our math classes.

2. Go to orientation and other social events on campus. The more interactions you have with others means you're more likely to meet someone you get along with.

3. Join school clubs or design teams. This is a great way to meet more people with similar interests as you, whether that's bonding over cheese or building drones together.

Finally, make sure to keep in touch with people you enjoy hanging out with! You'll meet a lot of people in a short period of time. However, for most people, you likely won't talk to them again; I'd recommend putting in effort to stay in touch with a few people you're close with.

Applying to jobs

The co-op program is what Waterloo is best known for, and I've also heard staff-level software engineers say that "Waterloo students are very competent" (compared to their peers from other schools) because they get 2 full years of experience by the time they graduate (over 6 co-op terms).

How should I prepare my resume for applying to jobs?

1. Fix your resume template. Using a good resume template will automatically improve your resume by a lot. Jake's resume is a popular resume template.

2. You should have multiple versions of your resume (provided you have sufficient experience) for applying to different types of jobs, highlighting the skills/keywords that are relevant for the job you're applying to.

3. Ask your upper year friends to roast your resume. Resume critiques are super helpful and will guide you away from common pitfalls. If you don't know any upper years, go to resume critiques hosted by school clubs (like UW CSC) or your department. You can also book resume review sessions on WaterlooWorks.

Do I need to submit a cover letter?

Some hiring managers look at cover letters first, others don't read them at all. Having a customized cover letter for jobs you really want can help boost your chances, as this helps you stand out and show that you're very interested.

I got an interview! How should I prepare for one?

There are a lot of tips and advice on the internet, so I won't reiterate much here. But the most important ones are: learn about the STAR method for answering behavioural questions, preparing stories to common interview questions, be prepared to talk about anything on your resume, and practice through mock interviews.

How does WaterlooWorks work?

You apply to jobs in cycles. Cycle 1 posting 1 opens up in the second week of the term. In the first cycle, you get 50 jobs you can apply to. You can look through the job board and apply to jobs you find interesting, which you'll have to submit your resume (and possibly a cover letter) to. WaterlooWorks automatically includes your transcript and past work-term records with your application. You should also pay attention to the job posting to see if there are external Glassdoor websites that you need to submit your resume to.

Once the posting closes, you might start getting interview requests from companies. If you get an interview request, you should log onto WaterlooWorks asap to pick an interview time (these are first come first serve. I found this out the hard way and only had one time slot left when I logged onto WW).

After all the interviews are done, you might get ranked by the employer. You should read more about how matches and rankings work. There are also more resources about WaterlooWorks on UWaterloo's website.

Note that job apps accumulate, which means that if you don't apply to any jobs in cycle 1 posting 1, you will get 100 total job apps in cycle 1 posting 2 (even though cycle 1 posting 2 by itself gives you 50 job apps).

Can I apply to jobs externally?

Yes. If you get a job offer, you can choose to arrange your own job. Applications for summer internships can be open as early as the previous summer.

The co-op search is quite draining for most people, depending on how much prior experience an individual already has. It can take many cycles for students to get an internship, or even fail to get one and go into WE Accelerate instead. Don't be too stressed! What you get for your first co-op doesn't really affect what you're able to get in later co-ops, as told by many upper year students.

In the end, job search is (mainly) a numbers game, although other strategies, such as getting referrals and cold-outreach can go a long way.

Co-op sequences

Co-op sequences are great for maximizing the number of students employed, but terrible for social life. Many people you meet you may never see again, simply because your sequences are opposite of each others' 😭😭.

Summer terms usually offer the most job opportunities, but it's also the most competitive, since students from schools without co-op programs will also be hoping to get an internship in the summer. That said, fall and winter terms are not necessarily easier to find jobs for, because there are also less opportunities during those terms. Less companies hire outside of summer term, and companies usually also hire less outside of summer term.

Note that Waterloo calls their summer terms "spring" terms.

How should I choose my co-op sequence?

You should pick your co-op sequence based on what you're looking to get out of your study and co-op terms. Below, I've listed out the differences of each co-op sequence. Check out the different sequences here.

Why should I pick sequence 1/2?

Sequences 1 and 2 are the most popular, and are usually all filled up within a few minutes (since sequences are first come first serve). Sequence 1 and 2 both have summer term first co-op. If you pick sequence 1 or 2, you'll be on sequence with most other CS majors.

Sequence 1 also has the added benefit of being on sequence with all the stream 8 engineers. Sequence 2 is best if you want to take as many advanced courses as you can, since most advanced courses are offered in fall and winter term. Sequence 2 is also good for maximizing the number of summer co-op terms you will have.

You can freely switch your co-op sequence after your first co-op term, which means you can (probably) just email your co-op advisor and request to switch sequences/swap terms around. I know upper years who've swapped their terms around to accommodate 8-month co-op terms. This also means sequence 1 and 2 are practically the same (since you can easily switch after your first co-op term).

Why should I pick sequence 3?

You probably shouldn't pick sequence 3 unless you have a reason to, since you take your first summer off and consequently delay graduation by one term.

Why should I pick sequence 4?

For sequence 4, the first co-op term is in the fall, so you're in 2A (rather than 1B) when you're applying for your first co-op. This means you'd be able to gain more experience before your first internship. Additionally, if you're planning to do the digital hardware specialization, you should pick sequence 4 since that's one of the requirements for the specialization (although I've heard of people doing dh in sequence 2 too).

However, this also means that you will be taking three study terms in a row, so consider whether you'd be able to handle that (personally, I feel like I'd probably get burnt out), on top of applying for co-op in 2A (which is definitely harder than 1B in terms of course-load).

From what I've noticed, I wouldn't say it's easier to find jobs for your first co-op term in sequence 4 vs. sequence 1/2, especially if you already have some experience. There might be less competition, but there are also less opportunities. However, picking sequence 4 might be helpful if you don't have any prior experience and want more time to develop skills over your three study terms.

FYI, I picked sequence 1, so I might be a bit biased.

Other miscellaneous questions

What should I do in my last summer before my first year?

Personally, I'd say: enjoy your summer :) Hang out with your high school friends before you all go into different programs/schools and probably won't see each other as much. You won't have any breaks longer than 2 weeks once you're in university, and it's a lot of nonstop studying and job searching in your 5 years.

Other advice

Use your WatCard as your bus pass. Your tuition includes a bus pass that allows you to take unlimited rides on ion or bus.

You should also take advantage of the dental plan that is included with your tuition (or get a refund if you already have an existing dental plan).

If you want to read more life advice from me, check out what I learned in grade 12. Everything still generally applies--you're just a year older.

Conclusion

Enjoy your first year in Waterloo CS :) Time passes by super quickly...

I'm happy to answer any questions! Feel free to reach out (about anything that isn't already covered above).

Credit to Victor Huang for adding his insights. Contribute here if you're a current/graduated Waterloo CS student. Note that I'll only include advice/knowledge that I personally think is relevant.