3B Term Overview


This term, we had 4 core courses, 1 elective, and 1 seminar course. Almost all our lectures were in the afternoon and two of our three labs were held in the morning. Coming into 3B, I had been told that it would be an easy term to pass. However, my personal experience were the opposite, as I found myself studying quite hard throughout the term, especially after midterms. Following in the spirit of my 3A term and learning from past mistakes, this term I strategically skipped the majority of our lectures. The only two courses that I did not permit myself to skip were ECE318 and PHIL329 (more about these later) because both courses were very interesting and the professors did an outstanding job explaining the concepts.

ECE318: Communication Systems

This course focused on the math behind modulating and demodulating signals. When I think about this course, the first words that pop into mind are “Fourier transforms”, “low-pass filters”, “sinc function”, “phase shift”, and “quantization”. This course also brought together concepts that were introduced in ECE207: Signals and Systems and ECE316: Probability. Although the course contents were a bit challenging to absorb, our professor, who has taught this course for many years, was very thorough in her explanations, and I made sure to attend every single lecture, almost always sitting in the front rows. Our labs were tangentially related to the course materials and unlike last term, my partner and I (same partner) both completed the pre-labs and post-labs before their deadlines. This was my favourite engineering-related course I’ve taken to date. Not easy but with the right professor, it is very educative.

Rating: 8.5/10
Lesson: A good professor can make a technical course interesting

ECE356: Database

Just thinking about this course brings up bad memories. First, I was not interested in the materials, since I did not foresee myself continuing to work with databases in the near future. Second, I couldn’t understand the lectures, which felt more like review sessions designed for students who were already familiar with the subject rather that learning sessions for students new to the subject. Throughout a lecture, I frequently wondered, “what’s happening?” As you could probably guess, I skipped many lectures. On the bright side, at least the textbook was informative, if not dry. Third, I mixed up the date of the final exam for this course, which is worth 100% of our overall mark if we score below 50 on the exam; and 50% otherwise, with that of ECE358 (notice that the course codes are somewhat similar). At 12:05am, the morning of the exam, just as I was about to sleep, I realized that this exam was to be held in 9 hours. If you ever wondered what it’s like to cram for an exam literally the morning of and to not sleep for a whole day, let me tell you that it’s not a welcoming experience.

Rating: 3/10
Lesson: Even if you think you already know the deadline for important events, like exams, still double check them well in advance.

ECE358: Computer Networks

This course was an overview of the TCP/IP model. Both the midterm and the final were straightforward. The concepts were easy to understand, and the lecture slides followed the textbook, which was extremely useful. The labs, on the other hand, felt disorganized. Because the lectures were based on the textbook and the pace of the course was slow, I typically skipped class to self-study the concepts by reading the textbook. Minimal in-class commitments, slow pace, interesting concepts make this course perfect for learning at your own pace.

Rating: 8/10
Lesson: Introductory courses that directly follow a textbook are great opportunities for self-studying.

ECE390: Engineering Design, Economics, and Impact on Society

This course introduced some equations for finding annuities, present worth, and future worth. It also overviewed project management charts, specifically Gantt and PERT charts, and contained a group project that analyzed the costs and impacts of a pre-chosen construction project. Before starting the term, I had been looking forward to this class. Finally, here’s a class dedicated to teaching about money! After the second lecture, my enthusiasm was dashed, primarily because there lacked clear organization and coherent explanations. Afterwards, I skipped almost every lecture. Once in a couple weeks, I would attend class just in case something important was explained, only to realize time would be better used to self-learn the materials. Fundamentally, this course was a non-engineering course but was presented as if it were one. It seemed like we were trying to fit a square peg into a round hole.

Rating: 5/10
Lesson: Teaching a subject in which you have personal domain expertise enables you to better persuade and engage the students.

PHIL329: Violence, Non-violence, and War

This elective examined pacifism, realism, and just war theory, with a focus on the latter. I learned about the ethics of starting a war, proper conduct during a war, and theories about how to reconstruct a nation after a war is over. I chose this course mostly because the professor had very high ratings. His lectures were insightful and the content was so refreshing compared to typical Computer Engineering courses. The class had 30 students enrolled and most of them majored in law studies, social sciences, and psychology. There was only one other Engineering student. I appreciated that the professor would place historical conflicts in context and presented various perspectives for analyzing situations, helping students to make their own judgements. Throughout the lectures, the professor referenced famous authors or historical figures who had contributed to the subject, which made it easier for us to learn more about on our own after class. There were three assessments: a midterm, term paper, and a take-home final, all of which involved several pages of writing. I attended every lecture and would highly recommend this course.

Rating: 10/10
Lesson: War is complicated.

New Activities

This term, I tried several new activities. Unlike previous terms, I didn’t work on any hobby software projects because, as predicted by the Law of Diminishing Returns, the advantages of building a non-trivial project no longer offsets the time investment to do so. This term, I decided to experience a little bit of academia and applied to be an Undergraduate Research Assistant, in which I worked with PhD Candidate Thilan Costa and Professor Zhou Wang to evaluate the perceptual uniformity of the ICtCp colour space. It was an educational experience. To participate in sales-related activities, I became a Sponsorship Coordinator of our campus’ Global Business Brigade chapter and prospected and pitched to potential sponsors. Collaboratively, we brought aboard two new sponsors and around $1800.

In the spirit of trying new things, I also volunteered at the Ontario University Fair, resume critiques, and brainstormed ideas on several IST issues. To learn more about careers outside of computer engineering, I went to info sessions hosted by Deloitte, EY, and pwc, and two conferences about nanotech and biotech.

In mid-December, during exam-season, my roommate and I decided to register for the upcoming Feds Council Election. One of the requirements to register was to obtain 25 nominations, so we proceeded to ask our classmates for nomination signatures while waiting for exams to be handed out. In one memorable moment, I remember walking up and down an aisle of seated classmates who were anxiously waiting for exams, individually asking each one for a nomination signature. Felt like a sleazy salesman, but hey, at least my asking didn’t hurt anyone. If you want something badly enough, you got to do whatever it takes to get it.

Standing up for myself

I also found the courage to stand up for myself against institutions that purport to have my best interests but actually don’t (cough cough, KW4Rent and CECA). It’s time for storytime…

Twice, after handing in post-dated checks to KW4Rent agents and asking them to provide proof that they had received these checks, they tried to avoid my question. I insisted that I needed at least a receipt as proof that they indeed did receive my checks, and made it clear without verbaling saying it, that I would not leave without proof. They conceded. (BTW, for anyone wondering, according to our subreddit, KW4Rent tried to scam many people out of their safety deposits, charge $300 for normal tear-and-wear damages, and delayed inspections by hours until the tenant threatened to report them to the Landlord and Tenant Board. My roommates and I have photographic proof of the terrible garbage-filled mess our living room was in when we first moved in.)

Dealing with CECA co-op “advisors” is a bit trickier than dealing with KW4Rent because they are clever. To provide context, according to our subreddit, CECA has a history of misleading/lying to students, being tone-deaf to students’ concerns of unfair wages or unacceptable workplace environments, and even outright threatening students. I have also been directly lied to by CECA representatives on at least two separate occasions. After interviewing for two positions, I tried to remove them from my co-op listing (so that it won’t be possible to be matched with them) because they either didn’t match the job description (eg, a web development position under the guise of “Embedded Developer”) or the interviewer had some form of inferiority complex, smirking whenever I answered questions hesitantly and trying to trivialize my previous experience.

Anyways, long story short, I met with CECA representatives and they denied both requests to remove the job positions. I found it disturbing that their meeting minutes were extremely one-sided and omitted significant details or included non-existent events. It’s ironic that they told me during our meeting “I’m on your side, I’m trying to help you”. I cannot believe that the deceptive meeting minutes was accidental and professionally called them out for lying: “Your claim…does not meet the facts of our meeting”. Since the co-op advisors were unwilling to help, I directly emailed the interviewer to ask him to cancel me for this position. Goal achieved! One down, another one to go.

When I told one co-op “advisor” that I found it unfair that a job posting about an embedded development position was actually a web development position, the “advisor” insisted that I accept the job and not remove it. I claimed I wouldn’t have applied for the position had I known in advance that the job posting was misleading. The next 20mins went by in a blur as the co-op “advisor” tried to hard-ball me into accepting the position, gaslighting me by saying that it was actually my own fault for misunderstanding the misleading job posting (to recap, there was no way to know that the job posting was misleading until the interviewer told me in person that the position was for web development), lying to me that not accepting this position would ruin my reputation and damage my career prospects, insinuating that I was wasting her time and “battling” with her, and interrogating me with loaded prompts: “This is a good position. Don’t you think it’s unreasonable to sign off on it?”, “This job is not about web development, like you say it is, it’s about backend development (Me: ‘well, backend development is a subset of web development’).”

Throughout our discussion, she frequently interrupted me half-sentence, so many times to the point that before I spoke, I predicted there would be a 75% chance that my next sentence would be interrupted. Strangely, every so often, she would look at the clock and announce that she didn’t have time to deal with me, suggesting that I was wasting her time, which was comical since I – not the co-op “advisor” – was the one with several midterms to prepare for. To this, I responded by agreeing that there wasn’t much time left and so she should hurry in removing me from the position. Anyhow, she really made a narrative that I was rude to want to decline a misleading job position. It took discipline not to say expletives.

Finally, in a bid to have me agree with her, the co-op “advisor” asked: “If you were an employer, what would you think of a student who declines a job that’s different from what was posted?” That was the wrong question for her to ask. Checkmate. At this point, I was beyond pissed for having been gaslight, lied to, and generally treated with contempt, that I removed my filters. Me: “If I were the employer, I’d think that the student knows what he’s doing and is confident to assert his needs. I would hire him”. Clearly agitated by my clever response, the co-op “advisor” then repetitively, like a small child who refuses to hear their parent’s words, accosted me by informing me that I was “unrealistic”. Already insulted, I countered that we simply have different perspectives on the job process. This went back and forth several times.

It’s funny that ~80% of my co-op fees ($709/term) goes directly towards paying for these co-op advisors’ salaries, and yet they contemptuously treat me like some unscrupulous dog and acted like a**holes –dismissing my concerns and then blaming me for even bringing up those concerns. Seriously, if I were their bosses, I would either remove them from interacting with students or outright terminate them, to prevent more students from being hurt by them. (I’ve mentioned it already but want to reiterate that many students have felt injustice when interacting with CECA. My experience isn’t the worst one.) Students need more caring people, not these no-good so-called overpaid advisors. Luckily, I had already told the interviewer during the interview that I wouldn’t be interested in the position, and thankfully, he didn’t ignore my words and so didn’t rank me for this position (note: there have been numerous instances of interviewers ranking students despite students explicitly requesting not to be ranked).

In dealing with CECA and KW4Rent, I learned that some institutions, despite their external branding of being helpful and despite its representatives claiming to want to help you, actually have no intention of being helpful and aim to do the bare minimum to pass by, even if that means hurting clients. These organizations typically also have rotten culture. Incompetency breeds incompetency; apathy begets more apathy; and the cycle of toxicity continues. It is important to be able to identify these organizations and stand up for ourselves against them.

Draft Petition Against CECA’s Proposed Fee Increase

I’m a regular browser of our subreddit, /r/uwaterloo. In early December, there was a post about CECA’s decision to increase our co-op fees by $20 purely to increase CECA staff’s salaries in the upcoming Spring 2018 – Spring 2019 Fiscal Year. Making students pay an extra $20 once every four months, which is well above the rate of inflation compared to the current co-op fees of $709, is, in itself, not a cardinal sin. But there are many reasons why I’m against the proposed fee increase, the biggest of which are that given 1) CECA’s crappy service towards students doesn’t warrant them to fatten their own wallets while students continue to suffer from their apathy, and 2) their attempt to rush this through without consulting our student union feels deceitful, especially since almost the entirety of CECA’s budgets comes directly from students’ fees.

Those, plus my recent experience of CECA trying to mislead/lie to me and trying to paint me as a rude student for refusing to accept a job whose written description was completely different than its verbal description, incensed me. The injustice of making students pay to increase their own salaries while they passive aggressively dismissed students’ concerns made me angry. Based on the number of upvotes the post received, many other students must have also felt the same way. My conscience compelled me to do something about this.

Fueled by a need to speak up, that same night, I wrote a 3-page petition against the proposed fee increase. But I didn’t know if the petition was accurately written and sought more feedback and editing. I wanted to post the petition on our class Facebook page for feedback but a friend recommended doing it after exams, since our classmates would be too busy studying. Okay, then Plan B: Reddit. Unfortunately, our subreddit was in the middle of a meme war with UofT’s subreddit and With memes collecting hundred of upvotes each, any draft petition, however well written, would quickly fall into the dustbin of past posts.

To increase the draft petition’s exposure to our subreddit community, I asked the moderators if they could pin it for a couple days. Doing so would encourages open-source contribution to the draft petition, and it could be used to validate if students really did care about the $20 increase. Thankfully, the moderators agreed. In the first couple minutes of posting the draft petition, it received a couple downvotes. I felt discouraged, but it turned out that these initial downvotes were outliers, and in the next 36 hours, it received tremendous feedback, and support, and has been viewed over 2000 times. It attracted the support of not only regular everyday students, but also several students serving in leadership roles in Feds, our student union, and department societies (eg, SciSoc). With the help of many anonymous and non-anonymous members of our subreddit, our draft petition was extended to 5 pages, with glaring errors removed and nuanced details added. One Feds member, Seneca J. Velling, who has been advocating for CECA changes and an executive of SciSoc, has helped me navigate the bureaucracy and bring it up for discussion at the upcoming Feds meeting in January 2018.

The support and collaborative feedback on the draft petition was truly inspiring: this petition started as a grassroot initiative, first appeared on an informal channel as Reddit with the help of our anonymous moderators, was collaboratively written by anonymous and some non-anonymous users of the Internet, and several students provided feedback on the next steps to take to make the draft petition a reality. This was really a group effort by the students and of the students. It is amazing that Reddit could connect so many people to a common goal.

When editing our draft petition, I went by the pen-name “Mike Lazzz” to prevent anyone from attributing it to a single person (kind of like Bitcoin, so that people could focus more on the petition than its first writer), and to prevent myself from being doxed in case it didn’t receive much support. To date, it has been viewed 4000 times and received 160 upvotes, demonstrating that students are willing to take a stance on this issue. I owe it to the many anonymous geese-in-arms on our subreddit who have dedicated their time to read or contribute to the draft petition, the non-anonymous individuals who contributed their valuable insights, and my fellow students who would be affected by the proposed co-op fee increase, to see this petition through and try my best to increase exposure and support for it. Hopefully, with enough signatures, our student union and relevant boards can stop the proposed fee increase.


Overall, this term was quite educative. I took a couple interesting courses and tried out new activities. Despite my exam switch-up, my grades were relatively acceptable. Working on a URA, standing up against CECA’s toxicity, and collaboratively writing a petition letter were all new experiences. Overall, this was an interesting term.


Sharing is caring!

Leave a Reply

Your email address will not be published. Required fields are marked *