I completed my first term (1A) in Computer Engineering at Waterloo and here are some of my thoughts on the major as a hwole, this post was heavily inspired by Xierumeng and Jordyn Mindorff, both of which wrote similar posts on their 1A experience.
I think as a major, Computer Engineering is not all that difficult, the content is definitely challenging, but everything is comprehendable. What I think makes ECE challenging compared to other majors is simply the courseload. In our 1A we have a total of 7 courses (2 are worth 0.25 credits as opposed to our regular 0.5) which all have their own combination of labs (sometimes), assignments, and written assessments/projects.
This paired with the fact we have a relatively stressful co-op search plus many other minor courses/things to complete makes the major as a whole difficult.
In any case, here are my general thoughts on all the courses that were taken in 1A:
I'll start with the fact that this in my opinion, was the hardest course in 1A. Though the midterm average was technically lower than our ECE150 midterm (Fundamentals of Programming), it was definitely harder for me.
I think I struggled heavily with this course for 2 reasons, for one, you will have no resources. You can expect to never have answers, or at most, have an occasional value if the question asks for that over a generalized formula. Though there is a textbook, it's quite long, and there are few questions that match the difficulty you can expect to see on quizzes/exams. Even then, only the odd numbered questions will have answers, and no questions will have full solutions. This means that you'll end up just having to trust you did everything right if you don't want to directly confirm with your professor.
You could try asking the TA's as well, but that also seems to be a hit or miss. It was painfully obvious that my TA was never prepared, nor could he answer any questions. He was finally removed from the course a few days before finals, which was much too late.
You will also have to buy a code for Mastering Physics which is a platform that you will use to complete your homework. I thought it was a massive scam since it's literally just a platform to put questions on and automatically grade your final numerical/symbolic answer, and a presentation by one of their representatives only confirmed this. In any case, this will be one of the harder courses of the term, so don't worry if you're not doing as well as you'd hope.
I really enjoyed this course for a multitude of reasons, for one, it was ran extremely well. The teaching team was hands down one of, and if not, the best one for this term. You have access to a lot of resources, including a great set of course notes, python snippets demonstrating how we can actually apply what we learn, along with genuinely helpful tutorial sessions.
The content itself is also very digestable and I think most students tend to enjoy the new kind of content that you may not have seen before.
This was a pretty standard Calculus Course, AP Calc AB helped a bit but not overly so. There were lots of resources and you could always ask the professor/TA's for help. Dr. Krivodonova was ok in my opinion though I know many did not share the same sentiments.
A lot of students did consider this course to be one of the harder ones as our midterm was similar to that of ECE105 (Classical Mechanics). Both averaged around a 60 but I believe from a pure content standpoint, ECE150 is much easier. If you have any programming experience this course is a breeze and you won't be doing much studying for it.
Taking a step back I think the low grades are partly due to overconfidence in a lot of students. The content seems easy and it is, but being able to apply it trips a lot of people up and probably led to this. As for Dr. Dietl I thought he was fine as a lecturer however, he isn't as engaging as he could be and so a lot of students would end up skipping or just not paying attention in his lectures.
This course was interesting but unfortunately in the grand scheme of things I think a bit of a waste of time. Though a lot of the conversations and practice in public speaking here was invaluable, I think that this could've easily been achieved in half the time. I want to make it clear this was in no way the fault of the professor as I did enjoy talking a lot about some of the topics brought up in class. However, in the end, this time could've been spent on more important topics within ECE.
I had high expectations for this course coming into 1A, from a short description I read online it genuinely seemed like a fun course where I could apply a lot of what I would learn and have learned from before. However, this was met with a lot of disappointment. For one, we're forced into a small scope in both what we can create as well as what we can create it with. Specifically, we're forced to make use of an STM32F401re Nucleo board along with a certain theme and no external libraries, I didn't have too many complaints about this however considering a good majority of students have limited experience with hardware already, this is a pretty daunting first project.
In addition, this course does not provide any help as to how to actually program and use the STM32. The documentation linked is often quite long and just not helpful. I refuse to believe that any student, especially in ECE has the time to read through a 1100 page manual on the STM32. In fact, the only help you will get in this course comes from outside sources and events run by other organizations on campus.
In addition, I think this course is extremely disorganized, as you get further into the content and what everything actually says, everything is subjective and purely based on the TA's opinion. There are many typos, as well as content that literally have notes saying that they need to be removed in the future. The TA's also seemed to vary heavily especially in terms of grading, expectations, and just overall helpfulness.
I think my primary issue with this course is also that the majority of your mark is based on pure writing and not actual ECE content. It will be around 95% reading and writing, and maybe 5% programming/hardware if you do end up deciding to finish the project. I think this course was a waste of time and definitely could've been done better.
As Waterloo's main selling point, I had an interesting experinece with the co-op process. If you want to know the stats of my co-op application process:
In any case, I only ended up doing one interview in which I got an offer and so I cancelled the two others.
My official position is a Software Engineering Intern at a company based in San Francisco, California, called Fuego.io. I'm really excited to start working there and I think it'll be a great experience.
If you are interested in our co-op stats, you can check them out here: