The idea of finally being done school hasn’t sunk into my head yet. When you finish all your finals, you will get the feeling of accomplishment and relaxation of not having to study for awhile — especially as a UW engineering student, it means you can forget about schoolwork for about 4 months as you go on your co-op term. But it’s different this time — school is over for me and it is strange to think that I won’t be writing any exams or doing assignments anymore, as I am not planning to take the grad school route.

This term, I had 4 day weekends in my schedule for the first time — unheard of for engineering students in their first 3 years. I was able to arrange interviews in other cities and not miss any class. I was also able to actively help out with social media, promoting, and planning for a FEDS Club (uWAFFLE for those wondering), and meet & befriend a group of really amazing people through that association. I realized (pretty late in the game) that I enjoyed having a group of dedicated people to plan events and work with (not in the schoolwork sense, but in the recreational sense) — I haven’t had many extracurriculars throughout undergrad and it was great to have some again.

So, here is my last set of course reflections on my 4B term (see this post for previous sets):

CS 486 (Intro to Artificial Intelligence): I took ECE457A last summer, which was considered ECE version of AI — although it seemed way too specific. We never dived into any modern AI. CS 486 on the other hand provided a great range of topics, all very relevant and taught by other top CS schools. The profs were both great and the assignments (though sometimes tedious) were a good mix of programming, written, and societal/ethics topics. It’s exactly what I wanted out of an AI course. It has a bit of stat,s but I’d say that there’s more to worry about with the in-depth/abstract algorithms and concepts than the stats.

For the first time in my undergrad career, I had more than two weeks to study for my first final exam (AI). For whatever reason my past schedules have always started fairly early, and ended fairly early — usually at least 1 week before the last exam date. Not this time! I had two weeks to prepare, which is more than enough time for any exam. I had the time to quite literally relearn the course, and then some. The availability of AI related content on is amazing. From UWashington to Stanford to CMU, I relearned all of the more interesting and difficult topics (SVMs, Neural Nets, etc) with full understanding — though unfortunately because our offering was a breadth approach, none of the hard stuff was actually on the exam. Note that I did it out of pure interest, but if you have limited time to study for the course - don’t do what I did.

SE 465 / CS 447 (Testing) - the last of the 3 SE courses. If you’re in CS and are thinking about trying the software option, this is definitely the most useful of the 3. It doesn’t have SE 464 / CS 446 (Architectures) as a prereq like it used to if you want to try this course first. Yes I thought this was the most useful course but for reasons outside of the concepts we learned. The assignments encouraged us to analyze and write C++/Java using various testing suites, which wasn’t bad and I really appreciate the ability to practice writing Java. I also picked up LaTex this term — something I gave up on a few years ago simply because I had very little guidance on how to get started. Patrick Lam who teaches the course provides all his notes in pdf as well as tex format so you can easily look at his examples to see how to format random little things. It’s too bad I didn’t pick it up earlier in my undergrad career — I’ve always loved the default LaTex font that my math and CS assignments were formatted in /nerdtalk; Anyways. Lin Tan also teaches it and she’s quite an engaging prof. These two profs make the course very worthwhile. I don’t regret having to take it, and plus who doesn’t love open book exams?

The really interesting thing about this school term was being able to take 3 non-technical electives. Well, I had an extra elective I could have used towards another technical elective, but the opportunity to take absolutely anything overrode that idea.

RS 100 (Religions of the east): Unfortunately due to misinformation, I thought MUSIC 246 was a List C (took it 2 years ago), but it was not, so I needed another List C. It was between your typical Psych 101 or this course. I could not stand the teaching style of Psych 101 when I went to audit the course (essentially fill in the blank notes.. which works for some people, but not me); plus I was not attracted to the amount of readings that needed to be done. RS 100 had readings too but not nearly as high in magnitude as Psych 101, plus I was somewhat interested in learning about the East Asian religions.

Anyways, this course had no final and several tests — 5 to be exact. It got to a point where I needed to study for something almost every 2 weeks. The tests weren’t bad though, and I actually really enjoyed the content. I was surprised to relate to so many things the professor, David Seljak, presented to us. To be honest with you guys, I am very religiously unaware. Although my grandmother was Buddhist, my parents didn’t really practice it. so I wasn’t very educated in that regard. I never took religion in elementary/middle/high school either, so this was basically my first time getting formal religious education. This course also had a lot more history than I expected, which was fairly interesting, and a ton of information about how various religious groups keep up their culture or practice when immigrating to Canada. I’m pretty much an immigrant myself (though much earlier in my life) so it was super interesting to hear my experiences being put into technical terms. Added on with this really funny and interesting professor really made the course. Highly recommended if you’re looking for a worthwhile List C.

JAPAN 101R (1st Year Japanese) - my extra elective. Waterloo has a very established anime club as well as a known Japanese culture and language club called KonJa. It’s no surprise how popular Japanese is as an elective across faculties. Taught by an extremely enthusiastic professor (Fumie-san) and tutorial professor (Eri-san), it was probably the most engaging course I’ve ever taken. No laptops allowed, but you cannot fall asleep in this class. It’s interactive and assuming you’re coming in already interested in Japanese culture, you won’t be bored. People mention that Chinese people like to take this course, thinking it will be just like Chinese and apparently doing horribly — this is not true. I think this course is WAY easier than any Chinese Saturday school and summer classes I took back in high school. You only have to memorize maybe 50 or 60 characters and some really basic grammar. No kanji or katakana yet. The only downside is the trek to Renison, which one can take advantage of the bus stop by Environment 2 if living off campus to shorten the walk there.

EARTH 122 (Intro to Environmental Sciences) - Ah, the final science elective. To sum this one up, I was originally going to take PHYS 246, then realized I needed to relearn some of my 1st year physics — which seemed like more effort than it was worth. I decided to go with the memorize a ton of random terminology route. It’s too bad there aren’t more options for the natural science electives, because I don’t think I got much out of this course. Ah well.

SE 491 (4th year design project / FYDP / Capstone): This course ended in March so I pretty much forgot about it until I saw a mark uploaded for it on Quest. This guy was a dangling matter for 3 terms. We also changed our idea after the 3B term due to conflicts with our customer. We are encouraged to work on FYDP during co-op terms, but it can be pretty difficult to do that when everyone has their own matters to take care of, in addition to varying time zones, etc. The bulk of our work was done in the 4B term, but we did our best to spread out the work and get things done a week before the deadline. The Capstone day itself was brutal. We were assigned to a 9-6pm time slot. Standing around for 10 hours was already a battle. I also lost my voice that day which wasn’t pretty. Overall, happy with our resulting grade but wish it was condensed into just 2 terms like nearly every other engineering discipline, and a reduced Capstone day schedule would have been lovely.

So that’s that. I have always considered taking an extra term just to take random awesome courses I missed out on, but one thing I realized is that you can learn a lot of these things on your own, outside of a university. Coursera is really killing it with these free offerings, and learning from a community centre or not-for-credit institution is less pressure and probably cheaper, as long as you’re motivated enough.

I’m starting full time work in late July / early August, and I’m hoping to pursue my hobbies leisurely until then. It was really tough being able consistently keep up with my interests throughout co-op at UWaterloo, but I’m excited to have some permanence now.