Life in Electrical & Computer Engineering

A Waterloo Engineering Student Blog

3B ECE – Experiences and Conclusions

Readers out there might be thinking “What?!?! 2 posts within a span of a couple hours?!?!”

Yea, since I’m already on a roll, might as well just continue with my most recent term. 🙂

So, again, just like past terms, these are mainly courses taken by CE’s and some by EE’s. I’m going to avoid the long speech about this so let’s just get into it.

ECE 318 – Analog and Digital Communications

Aha, ECE 318 was definitely my favourite course in 3B, along side my elective, Quantum Mechanics. We usually joke around with other people when we bring up this course “no, it’s not THAT communication that you are thinking about” :P.

Anyways, Analog and Digital Communications is one of the two shared courses in 3B. This is a very practical course in the sense that what you learn from this course is already implemented in the real world. Now, 3A was essentially all Laplace Transforms. In 3B, it’s all Fourier Transforms (covered in ECE 205, 207). You learn about how signals are modulated at the senders end, and demodulated when the signal reaches the receivers side. From a computer networks perspective (more in ECE 358), this is essentially how you implement a lot of Layer 1 technologies. You do some review on Fourier Transforms and Series, and then you will dive right into the first topic, which is Amplitude Modulation (AM). If you picture a sinusoidal signal (we call this the carrier signal), and a data signal, you can change the sinusoidal signal’s amplitude to match the amplitude of the data signal, and then when you demodulate it you just need to read the peaks of the carrier signal. There are various types of AM, such as DSB-LC (Double Sideband – Large Carrier), DSB-SC (Double Sideband – Suppressed Carrier), QCM (Quadrature Carrier Multiplexing), SSB (Single Sideband Modulation), and VSB (Vestigial Sideband Modulation). You then learn about Angle Modulation (Phase and Frequency Modulation – PM and FM). Essentially this is the same idea as AM except that you play around with the phase and frequency of the carrier signal.

The course then changes gears and starts talking about analog and digital conversion, such as sampling, quantization, and PCM (Pulse Code Modulation). You might think that sampling is simple in the sense that you adjust your sampling frequency and and you get an approximation of your original signal, but there is actually a universal sampling formula such that you can sample and get the original signal exactly without adjusting the sampling frequency. The course then concludes by talking about how digital signals are transmitted and encoded, where we leverage the idea of QCM to perform certain things. This course does teaches you about the circuits needed to perform the modulation and demodulation, but it’s just extra knowledge and isn’t crucial if you don’t understand it too much.

As for the labs in this course, you will learn and investigate certain topics covered in the lectures, such as AM, FM, digital transmission, etc. These concepts that you learnt in the lectures are actually implemented in the real world. Your radio uses AM/FM, your phone uses QCM, and your internet arguably uses some of the digital transmission concepts. A lot of students say that ECE 318 labs are the best of all labs compared that they had in the past, which I totally agree with that. It is also unfortunate that I won’t be taking more courses in this field… 🙁

ECE 390 – Engineering Design, Economics, and Impact on Society

ECE 390 (not gonna bother typing out the full course name) is the second of two shared courses in ECE. This course will be your first course focused on Engineering economics and project management: identifying costs, time value of money, rate of return analysis, project comparison methods, depreciation, gantt charts, uncertainties and risks, and decision trees. This is a really odd course to throw into 3B and feels like it should be in first year. Needless to say, this was a pretty easy course so it was a guaranteed pass. If you fail ECE 390…no you can’t fail ECE 390. It’s impossible! This course also counts towards the MSCI option, which I am trying to work towards.

There is a lab component to this, where you just complete problems calculating the rate of returns and determining which project is better to do given the situation. Also very simple.

I don’t think I need to say anything more about this course.

ECE 356 – Database Systems

If there’s only one thing I hate about this term, it’s about how much this term is software oriented. Absolutely hate it. But it is just one more term before 4A, where I can take courses I want to take, so whatever. Also, if you think that mySQL is the only thing you will learn in this course, you are wrong.

Database Systems is one of two CE specific courses. This course claims that you don’t need any prior background in databases query languages such as mySQL, but it was taught rather quickly, so for somebody like me who never has touched mySQL before, this will be a steep learning curve. Anyways, they begin by giving you a brief overview of the things that make up a database, and “teach” mySQL. After that’s done, you continue on and learn about database theory such as the mathematical formulation to represent queries (aka, another way of writing mySQL, except more mathy). You learn about functional dependencies: how they relate to the database schemas and how tables are related using primary key, foreign key, superkey, candidate key. In this topic, you also learn about whether or not a relational schema has ambiguities in them and what not, and how to resolve them by applying decomposition techniques such as 3NF (3rd Normal Form) and BCNF (Boyce–Codd normal form). You will also learn about the physical schema (how data is stored – similar to some stuff you might have learnt in ECE 254, algorithms to access records in the database), transactions (integrity of the data if there are two concurrent operations modifying the value  – really similar to threads and locks in OS), data analysis and ER modelling (entity relationship, not Emergency Room 😛 ).

The labs are essentially just database assignments, where you access a database and answer some questions by writing queries to do so, as well as performing some normalization on dependencies to satisfy BCNF rules You also learn how to speed up queries by using certain constructs, and finally perform some elementary data analysis techniques to make predictions and all. Overall, it can be challenging at times, but I absolutely hated database because of the teaching team, which degraded the quality and value of this course.

ECE 358 – Computer Networks

Computer Networks….probably the most important course in terms of how the internet works. This is the second of two courses CE’s take in 3B. Unlike the CS version of this course, this course teaches us from a bottom up approach. If you are familar with the OSI or the TCP/IP model, you learn about the Physical, Link, Network, and Transport layer. The physical and link layer are generally taught together, and it teaches you about how individual networks are formed. It is here where you are introduced to the different types of network transmission (networks, coaxial, wireless…oh hey this is really similar to ECE 318, but with more abstraction!), as well as how computers and devices are connected together to form individual networks. It is here where you learn about switches, access points, MAC addresses, etc. Afterwards, we take another step back and learn about how individual networks are connected and how data is transmitted between networks, called the Network layer. You learn about routers, IP addresses, subnetting IP address space, different reserved private addresses, etc. You also learn about IPv6, but it is not a huge topic. Finally, you learn about the transport layer, where you learn about reliable communication such as TCP and UDP, port numbers that maps to certain common applications such as FTP, SMTP, etc. In between all these topics, you also learn about how data is propagated via switching (CSMA-CD) and routing (RIP, OSPF, BGP).

The labs are (again) essentially 3 projects that you need to complete, two of which are programming-based. The first project is dependent on the second. Altogether though, you are essentially trying to simulate the CSMA-CD protocol, in which the 1st lab is to implement a queueing system to mimick a computer sending out packets. The last project was essentially learning the different commands in the terminal to help debug any network issues on the user end. Honestly, if you’ve done a co-op in IT, this would be something you already know.

PHYS 233 – Introduction to Quantum Mechanics

Whenever I tell people that I took PHYS 233, they ask me why because this is a list 1 NSE, and I have already completed that in 3A (ENVS 200), or why did I not do a list 2 NSE in 3A? Well, because in 3A there wasn’t anything that fit my schedule other than ENVS 200, so I took ENVS 200 just to make sure that I had my list 1 NSE completed (in my opinion, its much easier to get into list 2 than to do list 1 since they generally only have one class per week).  But above all, I genuinely wanted to learn Quantum Mechanics because quantum computers are a thing, and so I wanted to learn more about quantum mechanics. I didn’t really care if it was list 1 or 2; I just wanted to take courses I like or want to take, and that’s exactly what I did.

So, QM is pretty interesting. It heavily relies on courses that you have taken in the past (ECE 106, MATH 117, MATH 215, ECE 205, ECE 316 – not too important, but still would help you understand some material). In one of the lectures, my prof said “If you think you know QM, you actually don’t!”, which is interesting because there are a lot of research going on in this field of study. But anyways, this course begins by talking about the history or build up to the study of quantum mechanics, and the basics of quantum mechanics are taught using a simplified experiment called the Stern Gerlach Experiment, shown below. 

In this experiment, you essentially have a beam of silver atoms coming out of the oven/furnace. It passes through a non-uniform magnetic field, and its a screen. In the classical prediction, you would think that the magnetic field alters the path of the silver atoms, and would produce a wide array of results. But that doesn’t happen: you noticed that the atoms hit only one of two spots, and nothing in between. There are different cases about how this system is arranged and all, but we won’t get into anything too deep in this post. We then learnt about the different exioms of quantum mechanics, all in which relies on linear algebra to explain what is happening. You learn how to calculate the probability that an atom is in a certain state, or the expected value of the wave function. All of this is what you call a discrete quantum system. You also learn about continuous quantum system, where instead of using linear algebra to model the system, you use calculus. You also learn about the Time Independent Schrodinger Equation (TISE), where it is used to describe the quantum mechanical behaviour of particles. You learn about the applications of it such as the free particle, finite and infinite potential well, quantum harmonic oscillator, and the hydrogen atom. You are able to calculate the different excited states of the lone hydrogen atom. I’m not sure about you guys, but in high school chemistry, when we learnt about the energy levels, we were just given formulas that we can use. This course derives these for you and gives you a much deeper appreciation about where they come from.

Overall, this course is a difficult course. You need to be comfortable with your math that you learnt in first/second year. Some people asked why the heck I took this course when it depends on probability? It really isn’t that bad, and the probability concepts we need to know is far easier than the probability material from ECE 316. Besides that, I had to dig up the integral table that I have not had to use since first year. It really serves as a nice refresher about the math you learnt early on as well as applying those math into quantum mechanics. The final exam was rediculously hard. Even the smartest person that we know felt that the exam was brutal. But luckily the exam curve balanced out, and I ended up doing extremely well.


And there you have it ladies and gents, my 3B term! Honestly, coming off from my depressing 3A term, I knew that if I let my issues from 3A linger in 3B, I knew that things were gonna be bad again. So, I made sure that all my family problems are fixed, figured out what went wrong, and tried my best to short up the gaps as much as possible. It really did pay off. In terms of academics, I actually did really well in comparison to past terms. I’m really happy that it paid off at the end. Granted, I’m not any genius like some people in our program, but relative to how I performed in past terms, this is a significant improvement on my part.

And finally, after one year of inactivity on this blog, I’ve finally updated everything about 3rd year ECE! If you are actually reading this, thank you! I didn’t really expect this blog to explode like this. It really feels great to see people actually reading this, whether it be future students, parents of the future students, etc. Thank you again! 🙂

David Vuong

1 Comment

  1. I thought I left this comment earlier, but thanks for these posts! Congrats on the big improvement and good luck with ECE 316 🙂

Leave a Reply

Your email address will not be published.