ENGN2219: Computer Systems & Organisation
NOTE: this course has been regularly changing since it switched from simulation in MATLAB (pre 2018) to computer architecture and (originally) also some simulation in Python (2019 on). It continues to change now that Shoaib has taken over from Ramesh, and 2022's incarnation should be very different again.
This is a comp course with the “ENGN” label slapped onto it. Although the prerequisite is COMP1730 OR COMP1100, COMP1100 students are gonna struggle with the python syntax if they’re not familiar with it. Mind that most comp sci students don’t take this, but if you’re doing a double of engineering and comp sci, you’ll have to take this course for the engineering degree.[1] As an engineer who took this course with COMP1730 as my prereq, I found this course heaps of fun because there’s a physical board on it with lights that go blip-blip (yes, there’s an entire lab dedicated to making the LEDs light up). The content is a bit dry, but most of the tutors are really nice; so nice that I became one of the tutors because they thought I could be a good tutor.
Some pitfalls of the course is that VSCodium can be fairly difficult to wrangle/set up. If you don’t set it up early on your laptop and actually use it on your laptop, you’re bound to find some debugging bugs while doing your assignment. Would recommend using it early to find the bugs early (last thing you want is the debugger to break the night before an assignment is due). If you’re an engineer, you’ll have to get use to the 100% late penalty (i.e. if you don’t submit on time, it’s worth 0%), but usually there’s ample time if the management in the background is going okay. There is also some disjointedness between the ARM assembly content and the python content. By the time you figure out how ARM works, you have to swap to Python.
Overall, it’s a fairly good course (from a student and tutor point of view). There’s some interesting history with this course (drop by CSSA if you want to hear about it) but the tutor team is fairly good. I wouldn’t do this course online because it wasn’t very engaging, but if this course is offered in person, I recommend you get it done and out of the way (since it’s usually a prereq). Feel free to take this as an elective if ARM and python is your thing, but it’s not comp sci focused if you wanted more in-depth detail.
- ↑ Actually, this might not be true; from 2019-2021 you could take COMP2300 instead and count it. Unsure if that'll still be the case, or whether it might actually be preferable to take ENGN2219 now, as it's going more in-depth with the comp. arch..