Xierumeng's Personal Website

I may or may not know what I'm doing.

4-1. 2A

2022-09-19

Note: Course experiences


Skip table of contents


This is part of a 5-part series on the upper year experience at the University of Waterloo. In this series, I cover upper year: second year, third year, and electives. I will refer to the UW student as “you”.

Today’s topic will be on 2A. I will talk about each individual 2A course experience and the transition to online.

This is the last term that CEs and EEs have the same courses. If you want to switch programs, do it before the start of next term.

# ECE 2A W20 Courses

Courses:

  • ECE 109 Materials Chemistry for Engineers (Chemical structures)
  • ECE 204 Numerical Methods (Approximations)
  • ECE 205 Advanced Calculus 1 for Electrical and Computer Engineers (Differential equations and frequency domain)
  • ECE 222 Digital Computers (CPU)
  • ECE 240 Electronic Circuits 1 (Circuits is really hard)
  • ECE 250 Algorithms and Data Structures (Basic interview prep in C++)

Difficulty: (Hard) ECE 240 > ECE 205 > ECE 204 > ECE 250 > ECE 222 > ECE 109 (Easy)

Interest: (Cool) ECE 222 > ECE 250 > ECE 240 > ECE 205 > ECE 204 > ECE 109 (Tedious)

Disclaimer: The above two scales are relative, not absolute.

TODO More detail and transition to online.

# ECE 109 Materials Chemistry for Engineers

Chemical structures.

How many atoms are in this cube? It changes depending on how they’re packed! Also a bunch of other boring topics such as diffusion and magnetic properties.

Easy when I took it, apparently it’s harder now.

# ECE 204 Numerical Methods

Approximations.

Methods of approximating for noisy data, interpolation, and systems that are not algebraically solvable (e.g. the three-body problem).

# Copying Code Incident 2

ECE students never learn.

# ECE 205 Advanced Calculus 1 for Electrical and Computer Engineers

Differential equations and the frequency domain.

y’ = y(x) and others are fun (hard) to solve. Then onwards to Laplace transforms, Fourier series, and Fourier transforms, where functions react to changes in frequency rather than time. Much like complex numbers, it’s a new and confusing place (and useful tool).

The frequency domain will haunt your entire undergraduate career (and in courses where you need it it will get retaught in the first week or two every time).

# ECE 222 Digital Computers

How a basic central processing unit (CPU) AKA processor works.

Specifically, how a fully-pipelined RISC-V CPU works. Then goes on to caching and paging. Labs are done using RISC-V assembly, which teaches you why no one willingly programs in assembly. There’s a good simulator online for testing your code when you’re not in the lab.

RISC-V: Reduced Instruction Set Computer v5 (compare with Complex Instruction Set Computer (CISC) such as x86).

# ECE 240 Electronic Circuits 1

Circuits is really hard.

This is THE course of the term. Professor Levine is a good instructor, but has high expectations for students which means the exams are doomed. The content also gets hard when it gets to transistors.

Also, you will need ECE 140 knowledge, as there is at least one capacitor or inductor attached to a circuit where you need to figure out voltage/current at various time points. I gained a true understanding of feedback systems after taking ECE 380 over a year later.

The course is passable if you do enough practice problems to be able to solve them instantly.

# ECE 250 Algorithms and Data Structures

Basic interview prep in C++.

Once you have time and space complexity and know some basic algorithms and data structures you are ready for Leetcode/binarysearch/etc.

# Conclusion

The important information to take away is 2A courses.

Check out:



© 2023 Xierumeng. All rights reserved.