Welcome back to the Blogosphere! In this blog post, I’m going to give you some of my initial thoughts on this semester’s courses. For Computer Systems students, this includes three electives: ELECTENG 204, SOFTENG 283 and SOFTENG 284. I chose ELECTENG 204 as my elective, but don’t worry, I’ve brought a friend who can tell you all about SOFTENG 283 and SOFTENG 284.
Let’s begin with the mother-of-all courses: ELECTENG/COMPSYS 209!
ELECTENG/COMPSYS 209 🔨
Electrical/Computer Systems Design
This is the course where you learn things that “actually matter”, as our TA gracefully put it. Though so far, it’s actually proving to be true. 209 is all about “Electrical and Computer Systems engineering design”. You’ll spend hours in the lab thinking about and building circuits. Hopefully, you’ll also start to learn what it actually means to design and build electronics. So far, in the three weeks since the course started, I’ve spent approximately 21 hours in the lab alone. The lab is where you’ll argue about your project with your four team members. Almost everything in this course is done in 4 person teams that you’ll have to pick in the first two weeks of class, so make sure you choose the right team. Honestly, I could write an entire blog post on this course because it is so huge and time-consuming. But for now, here’s one of my highlights so far:
ELECTENG 292 🔦
Electronics
This course is a continuation of ELECTENG 291, which I wrote about in my previous blog post (check it out here ). ELECTENG 292 focuses on non-linear and active components, that is: transistors, diodes and all the things William probably name-dropped in ELECTENG 101. Mark Andrews is back for this course and he is great. So far, we’ve covered diodes, Zener diodes and most recently, Bipolar Junction Transistors. These are really fundamental electrical components that you will use lots in ELECTENG/COMPSYS 209 and other courses. For COMPSYS students, this is a required course and for good reason! The topics you’ll cover are essential in all areas of electronics because they are some of the fundamental components that make up modern microprocessors. You may not need to know the fine inner workings of these devices but having a good intuition can be really helpful.
ENGGEN 204 🃏
Professional Skills and Communication
This is another ENGGEN course that feels like the presentation part of 115 stretched out across 12 weeks. Every specialisation has to take this but Ashvin (the lecturer for the first half of 204) is quite the comedian and makes even the quite dry course somewhat entertaining. This has got to be my least favorite course this semester but it is not without its highlights. Right now, my eight person group is working on a video to teach an accounting student about Kirchhoff’s voltage law. Not only is this a nice creative outlet, but a good opportunity to see some of your friends in other specialisations because every specialisation has to take this course. Most importantly/helpfully, the workload so far has been quite light so it is a small break from the more demanding courses the rest of the semester offers.
ELECTENG 204 📡
Engineering Electromagnetics
ELECTENG204 is my elective this semester! This course feels like diving headfirst into Electrical Engineering. It very briefly touches on lots of different areas, like magnetics, transmission lines and radio engineering. This is a really interesting course if you enjoyed physics in high school, it focuses on the practical aspects of electromagnetics including how to choose transformers for your designs, how the power grid works and how you can model transmission lines (surprisingly common! Every USB cable and trace on your PCB can be a transmission line). Below is a screenshot from the oscilloscope of what happens when you send a signal down a piece of coax, you can see the effects of a bounce diagram for real!
SOFTENG 283 📄
Software Quality Assurance
I’m not taking this course, so I brought my friend over to tell you what it’s all about. Software Engineering student Callum Iddon says:
“Take 283 if you want to learn about how the entire software design life-cycle, not just writing code, is undertaken in industry.” Callum also told me about their first assignment for this course, where they used the java reflection API. He said this carried on nicely from SOFTENG 281, which we did in the first semester. In this course, they’re using Java again as well as JUnit, but are also developing their knowledge with more advanced Java APIs and libraries. This course also has plenty of group projects. These will be good practice for working with other developers, especially before you dive into the firmware with your group in ELECTENG/COMPSYS 209.
For Compsys students wanting more software, I would choose this over 284 because it relies less on the knowledge from SOFTENG 282 in the first semester.
SOFTENG 284 💸
Data Structures and Algorithms
Callum is back to say:
“284 is mostly about algorithmic efficiency, but really needs 282. This is because 282 teaches algorithmic correctness which is assumed in 284.” I know a lot of Computer Systems students chose this as their elective because it’ll show up a lot in interviews for software engineers (i.e. ‘LeetCode’). Callum tells me this course has a large workload and that the assignments can be even worse than those in SOFTENG 282.
I’ve heard this paper can be a real trial by fire, especially if you don’t have the discrete math background provided by SOFTENG 282 (which can only be taken by software engineering students). So, take this at your own risk!
Thanks for reading my second blog post! I hope this gave you some insight into what happens in Computer Systems semester two. We have just gone into lockdown so hopefully you will see a new blog post from me very soon! If you have any questions about Computer Systems, feel free to get in contact with me by emailing me at abai250 at aucklanduni.ac.nz
Love and ad astra,
Alexander Bailey