Takeaways from 1A software engineering at Waterloo


Hurray, I’ve finished my first term at Waterloo! Term 1A starts early September and ends mid December, just in time for the holidays. I want to take some time to reflect on my first term, and share some tips with any prospective incoming students.

Fall Pic

Fall shots from my room

Orientation Week

Before classes started, I attended Orientation Week (Frosh Week). Faculties host a week-long event to get incoming first years familiar with the campus in a fun way. It’s not unlike the grade 9 orientation done at high school. Software Engineering falls under both the faculty of Engineering and the faculty of Math, so I shouted team chants with my engineering team while I danced to a song with a group of cs students. Despite what some people have said, I found the experience to be very positive overall.

If spending most of your time doing team building activities like scavenger hunts is not your cup of tea, that’s completely understandable. But keep in mind that this event is one of the best ways to make some friends with people outside your program. SE is a cohort based program, so all your classes are with SE students. I took the effort to really get to know the people in my team, and I often bump into them on campus. I think it’s important to not limit your social circles to the people you meet in high school and SE.

Orientation Pic

TLDR: Go to orientation week. It’s worth the new friends you’ll make there.


The SE class schedule is pretty packed. This term, my courses consisted of:

CS137: Programming Principles
ECE105: Classical Mechanics
MATH115: Linear Algebra for Engineering
MATH135: Algebra for Honors Mathematics
MATH117: Calculus 1 for Engineering
SE101: Introduction to Methods of Software Engineering

I won’t be going into detail about the courses in particular, as their descriptions and tips about them can be found on Reddit and the Waterloo website. Combined, these courses add up to around 35 hours of class each week. They are all usually scheduled right after each other, so the overall timing is similar to high school.

The courses I had the most trouble with were ECE105, MATH117, and MATH 135. The main reason was my lack of background knowledge, as I was unfamiliar with concepts like integration, mathematical proofs, and physics situations involving rolling and moments of inertia. This is completely normal. I chose the SE program because I believed that its rigorous academic environment would best enable me to learn. Every other day, I would encounter a concept that would leave me utterly lost, but that pushed me to put in the time to study and practice. I think my studying skills have definitely improved as a result of this.

With regards to the midterm and final, I know now that I far overestimated the difficulty of my first exams. Although you do need to study well for your examinations, just keep in mind that university courses are not be designed to fail as many students as possible.

TDLR: Trust the process. Put the time in to study, and you will do well academically.

SE cohort

One of the highlights of my term was definitely the cohort system in SE. What this means is that you‘ll be taking classes with the same 120 or so people in your program. For me, this had two main benefits: academic support and social company.

When you’re learning the same course content, doing the same quizzes, and assigned the same homework with the same people, it becomes exceedingly easy to make friends out of a natural sense of community. Moreover, you’ll find that it’s much easier to seek help from people who are sharing the same experiences as you in school. Whether it be quizzes, midterms or exams, I’ve always joined a study session with my classmates, and it has worked wonders for my grades.

Another thing that stood out to me was the feeling of having common interests with like-minded people at the program. SE is one of the most competitive programs in Canada, so the admission process naturally does favor people who can demonstrate their passion about technology. There are many individuals in my cohort who have built some really cool projects, and my discussions with them have inspired me to step out of my comfort zone and learn new languages and frameworks.

Overall, I found the culture within the cohort to be very positive overall. I don’t think I’ve heard any major complaints about this aspect of the program from the upper year students I’ve talked to.


I’m very happy with my first term in SE. There’s a common saying in the program that you will consider switching to CS sooner or later. As for how my first term went, I don’t think that statement applies to me yet.

Winter Pic
Winter shots from my room

If you have any specific questions regarding the application process or the program itself, feel free to reach me on Twitter.