Courses I have taken in Waterloo as Computer Engineering major, and some comments.

I just wanted to comment on every single course I’ve taken so far in Computer Engineering. I’ve been asked by some people – a few in high school coming into ECE, and a few friends not in ECE, regarding how I feel about my university career.

Note that the ECE curriculum has drastically changed since 2010, so don’t expect the identical courses in this order. There were a lot of shuffling the order of the courses for the first two years, introduction of new courses in 1A 1B, and ECE 100 has been split into two.

Also note that for 1A-3B, unless I say a course is an elective, it’s a mandatory course for CE.

Some background information:

I went to high school in BC, hence my bitterness toward Ontario-centric curriculum.

All my co-op positions have been in software. I never had a single EE job.

I don’t plan on going to grad school, for now (because if I wanted to, I would have done the 6-year accelerated program at Waterloo).

1A (Fall 2007)

1A was an easy term if we’re talking about just courses here. I wasn’t sure how much I was supposed to study in university, so for my first set of midterms, I studied for weeks. It paid off, but I don’t think I ever put that much effort into midterms (or any other exams) ever again.

CHE 102, Chem for Engineers

This is the easiest course I’ve ever taken, ever. I learned most of the material in grade 11 chemistry (not even grade 12). Midterm and final were purely multiple choice, so that was quick and simple.

ECE 150, Fund. of Programming

The course should have been easy, but I didn’t put much time into the actual course material and relied on my prior knowledge for exams. The assignments were time-consuming (to 1st year standards) but doable. This course was taught with C#, which is not really common in uwaterloo – ECE and perhaps SE were the only departments that teach C# to first year students. I still believe that they should have taught us C in 1st year, because CE students will hardly ever use C# in their courses.  Although, many people listed C# on resume for the first couple years, and it was probably useful and enjoyable for few.

GENE 167, Intro. to Methods of ECE

This has nothing to do with methods of ECE, it’s a generic “introduction to professional engineering” course, a required course the sake of being accredited as a proper engineering program. It had heavy focus on information specific to P. Eng. in Ontario. The course was marked based on something like two “mock work term reports”, and multiple choice quizzes regarding what we read about engineering practice, such as ethics and law.  We also had some sessions to help us do resumes and interviews during the first term.

Side note: although I knew I was going into a co-op program, I was not aware that I have to do co-op in my second term. This means that during the third week of school, I had to apply for jobs, and do interviews right after. I assumed that co-op starts in second or third year like in many other Canadian universities, and I thought that not getting a co-op job means you just try again in later terms… oh boy I was wrong.

MATH 115,  Linear Algebra

I had a hard time with this course, while the majority of the class did not. I found out after midterms that linear algebra is taught in Ontario’s high school in grade 12.  In BC, it is not – not even basic matrix multiplication.  Although, only the basic material up to the midterm is prior knowledge for Ontario students, so after the midterm, it was hell for everyone.

MATH 117, Calculus 1

Repeat of grade 12 calculus with some proofs thrown in. I don’t remember much about this course, other than the moment during the midterm when I forgot some trig identity and failed to present a proof for some other trig identity.

PHYS 115, Mechanics

This course is notorious for Oktoberfest – the hardest midterm in 1A. The material taught in class is not too advanced when compared to high school physics (classical mechanics), but the midterm was like a physics competition. For example, here’s a wooden block on a surface with friction, attached to another block with some spring, hanging from a frictionless pulley, what is the velocity of the first block?… you get the idea.

Continue reading “Courses I have taken in Waterloo as Computer Engineering major, and some comments.”

Proper forwarding and filtering from UWaterloo engmail to gmail

Warning: Engmail may fail to forward items on time, in extreme cases, taking up to 2-3 days or even completely fail to forward at all.  Do not rely on this to manage your school email – I am not responsible for missed e-mails because you failed to check the actual UW account through getmail.

  • Log into
  • Click on Deliver/Divert/Forward
  • Check “Foward mail to”, enter your email address with the gmail’s + sign hack. For example,
  • Go into your gmail.
  • Create a filter.  For the field “Has the words”, enter:

with the correspoding email address you set up previously.

Now you can properly label and organize your forwarded emails.

Getting uw-secure to work with Ubuntu 10.04 (Lucid)

Right click on wireless icon, Edit Connections.

Click on Wireless tab.

Find uw-secure, click on Edit.

Fill in the following information:

Security: WPA & WPA2 Enterprise
Authentication: Protected EAP (PEAP)
PEAP version: Automatic
Username,Password: Your UWDir username, password

If you can’t use uw-secure for some reason, uw-wireless is OK too. One caveat is that you must use Firefox to authenticate first before accessing external (outside domain) websites – Chrome doesn’t seem to bring you to the login page.