Computer Science at University of Waterloo
Anonymous (Year 5)


What did you wish you knew before going to your university? What made you choose this institution over all others? What are advantages and disadvantages of your institution or campus? List any advice for incoming first-year students about your university.
Waterloo's coop program gives students a unique opportunity to gain real world experience to supplement their classroom learning. As most students pursue work after finishing their undergraduate degree, the coop system allows students to gain valuable work experience that can lead to better resumes, increased connections, and greater direction on the options someone wants to pursue after graduation. The nature of Waterloo's coop program allows students to explore different interests in their work and, in my field of computer science, often allows students to explore living in different cities within Canada and abroad. The constant shuffle between school terms and work terms does lead to decreased social opportunities. Making friends and maintaining friendships becomes more difficult when friends are often off stream or in different cities while on coop. To any incoming freshmen, I'd like to say that Waterloo is not a magic bullet. University will not spoon-feed you if you're not willing to put in the time and effort. The experience, academically and socially, will be yours to decide.
What did you wish you knew before choosing your specific program? What are the advantages and disadvantages of your program? List any advice for incoming first-year students about your program of study.
Studying computer science at Waterloo has afforded me many opportunities that I otherwise would not have been given. If I had to change anything, it would be my approach to academics and my social life within my first two years of university. In a way, I was still solely focused on trying to be at the top of my class and this came at the cost of time spent developing relationships with others and enjoying the social aspects of university life. There is a balance to be made for everyone, and I believe that in hindsight, the marginal benefits of the extra studying that I did were not worth the hours that I could have spent elsewhere. Personally, I don't think that computer science is a program that is incredibly difficult to do well in, but it is a program that will take incredible amounts of time if someone is stuck in a perfectionist mindset.
What was your favourite university experience?
Spending the best summer of my life in Chicago as a software engineering intern at Citadel. Meeting friends from MIT, Harvard, UC Berkeley, etc. that I still keep in touch with has been a great experience in broadening my horizons.
What was your least favourite university experience?
Dealing with the pressures of first year when I maintained my high school expectations of being the best in my classes but was now competing against students who were all best in their classes in high school.
What is the hardest part about your program and what were the steps that you took to overcome any difficulties?
Computer science at Waterloo can be as hard or as easy as someone really wants. There is a lot of flexibility in the types of courses and the pathways a student can pursue with their degree. As someone who is interested in math and its applications, I decided to enrich my degree with math courses ranging from different areas such as statistics, combinatorics, and optimization. While these courses were difficult, I found it very helpful to learn the content deeply and to try to place the content that I was taught in the context of different areas of my prior knowledge. Making these connections reinforced older ideas and allowed for a deeper understanding of previous topics, and it also let me approach newer topics with some core understanding of the fundamental concepts.
If you were able to take electives, what was your favourite elective? If you were not able to take electives, what was your favourite course and why?
CO370 taught by Bertrand Guenin was an excellent survey course into many of the different optimization methods used in the real world. Professor Guenin is an excellent lecturer that makes the content of the course insightful and engaging. The content is approachable and builds on the foundations laid by previous courses.