Exploring Electronics and Algorithms: ELECTENG 292 and SOFTENG 284

ELECTENG 292 : Electronics

This course starts off amazingly with opamps. The thing that EVERYONE understood and LOVED in 101…

If you’re scared about these dodgy triangles and didn’t understand anything (like me), then you’re literally chilling. I was sacking it for a bit when I realised how important these components are in electronics, but because the uni assumed we were all clueless about these things, they decided to reteach it like we’ve never seen them before and they really eased us into them. They were really well taught and a good foundation was built so that we could progress on and understand more complex models.

We basically spent half the semester looking at these learning about all the different types of behaviours and use cases. The midsem test for this was an opamps test basically showing the importance of these powerful components.

The next thing we moved onto was diodes. You’ve probably seen them in high school and sort of know what they do already so 292 decides to go a little more in depth and technical with these and its related questions. And as of now in the semester we are learning about transistors.

Transistors are perhaps the most important invention in the modern era. Everyday laptops and phones have BILLIONS of these inside of them allowing for all the computational abilities that they have. So learning about them is so integral when learning electronics.

I have not talked about everything this course has to offer as it’s week 8 and there is a lot we still have not learned (I’m behind on lectures…)

This course is very similarly laid out to ELECTENG 291. There are 3 lectures a week, a weekly tutorial and bi weekly labs. The tutorials are a good place to apply theoretically the content learned in lectures and the labs are a good place to apply practically content learned in the lectures. The labs work in the same way as 291 where you have to build a circuit using a breadboard and circuit components and then use the lab equipment like an oscilloscope, digital multimeter and a DC power supply to record and take measurements and contemplate lecture theory and how it relates to the real world applications.

Overall, I would say that this is such an important course, especially for COMPSYS engineers in that we have to deal with a lot of hardware which directly involves stuff taught in this course

This is not a project or assignment heavy course so staying on top of content is KEY! (I need to catch up rip)

SOFTENG 284 : Data Structures and Algorithms

This course make you rethink about all the code you have written. Before doing this course, when you write code all that you cared about was the output and if the code works then leave it alone.

284 teaches the fundamental principles about writing efficient code which is fast. So the code you’ve written so far is really not that advanced in courses like 131 or even softeng 281 and so how fast your code runs is not really a priority. The main goal in those courses is to get familiar with writing code. 284 however is about speed. Because in the industry when you have huge projects and enormous amounts of data with remote servers, deadlines to meet and clients to work for, you want efficient and fast code. For example you learn faster methods of finding a particular value in an array rather than going through ever element and checking whether it is right or not, because if it happens to be the last element, you’ve gone through the entire array and wasted time. Also in 284 assignments, you don’t just get marks for you code to work. It needs to run fast enough. Then you’ll get your marks

So the first half of the semester teaches a bunch of different sorting algorithms and searching algorithms with different speeds and application uses as well as some data structures. And for the compsys engineers, you’ll be introduced to discrete maths for the first time (whereas software students do an entire course on discrete maths in sem 1). For me personally, it was a bit of a jump and can be confusing. This math is very useful because it lets you anaylse the speed of the code you’ve written and some of the concepts learned will be used for the rest of the semester because of how universal they are.

Sort of a side note: If you end up studying compsys and want to work as a software engineer, then this course is probably very important. It is very common to get coding interview questions on things covered in this course. If you are doing compsys and don’t care about getting a software/developer job and you don’t want a lot of work then don’t take this course. It is a very very tough course and you would be better off taking SOFTENG 283 as your elective. I’ve heard from many people that 283 is a pretty chill course, nothing like 284. Especially because ELECTENG/COMPSYS 209 (course review on this will probably be in the next blog) will literally take up all your time (no joke), you may be better off with a back burner course like 283. But it is your choice at the end of the day


As we wrap up our journey through ELECTENG 292 and SOFTENG 284, it’s evident that these courses have been both eye-opening and intense. ELECTENG 292 took us into the realm of electronics, delving into opamps, diodes, and transistors. In contrast, SOFTENG 284 pushed us to rethink our approach to coding, focusing on efficiency through sorting algorithms, data structures, and discrete mathematics.

292 is a core paper so can’t change that but when choosing your elective, give some good thought. You can choose between ELECTENG 204 (core paper for electrical), SOFTENG 283 (core paper for software) and SOFTENG 284. So go read other blogs from the other specs about what they think about the courses that are available to help with your clarification.

Leave a Reply

Your email address will not be published. Required fields are marked *