Computer Systems Semester Two: Projects Galore

Semester Two in 3 words:

Projects, labs, Assignments.

Notice one word missing? Exams. Ok sure we did have one exam, but we had two weeks to prepare for it.

The ECSE department at UoA wants us to leave university with practical experience. After our first semester, we don’t have a single semester without projects. If you’re looking for a specialization that jumps straight into the problem solving & design aspects of engineering, you’ll see below in the course summaries that Computer Systems is an immensely fulfilling spec.

ELECTENG 209 (Analogue & Digital Design)

Keywords: Design, Practical, Semester One, Teamwork.

Electronics Is the meaning of life

– Travis Scott (2019)

In 209, we get to design a smart energy meter that calculates power by measuring

Designed by my team!

current and voltage. In our first semester, we learnt how to amplify signals, filter them, and how electronics components work In ideal scenarios. Further to this, we learnt how to program microcontrollers, and process analogue signals to digital. Where does this come into use? All of the theory we learn in Semester One gets utilized in this course. We not only design the circuit, we put it together, get its output and process it digitally with our own code. It’s immensely satisfying to see a physical product at the end of all your theory. 209 reflects the electronics design and programming aspects of Computer systems, which well prepares you for embedded systems and electronics design. Although 209 is a group project, you do get to choose your teammates so it’s not as bad as it sounds.

How to prepare for this course:
  • If you have no electronics experience, a good confidence booster is to have a go at a few Arduino projects. You’ve learnt the basics of microcontroller programming in 101, but here is an affordable starter kit. However, most people have no experience so you do get a lot of support from the teaching staff.
  • Make friends in Semester One so you don’t get stuck in a team with people you don’t know
How does this carry on to Part III & IV?

  • In Part III course COMPSYS 301 we have a project where we design the circuit and program a line following robot! This was mentioned in last year’s bloggers post here. If you want to know more about this course, Part IV student Salina has a great blog on it. (Her blog also contains more info about Part III courses, and a blog post about how to job hunt as a compsys student!)
  • Some of the teaching staff (notably Travis Scott who you can learn more about here) run the power electronics course at UoA (ELECTENG 734), where you design and build a contactless, Inductive Power Transferred (IPT) regulator, allowing remote control cars to move through wireless charging rather than a battery. You can learn a bit more about power electronics here.
Some related projects Part IV students did:
  • Fit Mirror – Your Personal Trainer. They developed a mirror that can measure your heart rate, as well as tell you motivational quotes (done by Salina who wrote compsys diaries)
  • Indoor orchard robot system – (An automatic garden, useful for those of us who are responsible for too many plant deaths from a lack of water)
  • Application-Specific Processor to Accelerate Machine Learning for Autonomous Vehicles

 

COMPSYS 202 (Object Oriented Programming)

Keywords: Software Design, Assignments, Programming

202 is like 131 expect instead of mindlessly coding (debatable), we learn about programming design principles and data structures. We not only have the opportunity to program in C++, but also learn how to do it well! 60% of your grade in this course comes from projects, so if you’re sick of being tested for how well you can write code in pencil, you’ll be excited for the 202 projects. The projects not only put your problem-solving skills to the test, but you also gain a better appreciation for software design principles and debugging.

Our projects:

  1. Object-oriented programming – Creating a financial management system
  2. Sets & Relations
  3. Linked Lists (Data Sturctures) – Programming a traffic management system.

One part of our course involved examining the time complexity of different sorting algorithms, which is fun to visualise!

Image result for sorting algorithms
Source: https://www.toptal.com/developers/sorting-algorithms

How to prepare for this course:

If you’re excited about learning these concepts, I’d recommend you have a look at this website: teachingtree.co. It contains lectures from a wide range of youtube videos on CS topics that get ranked by other users. Another useful site is geeksforgeeks.org and saved me during the first half of the course.

How does this carry on to Part III?

Next year in COMPSYS 302 we develop a game (this year it was Zelda) and a web app (this year they made a twitter duplicate). If you search online for COMPSYS 302 you will find a few repositories on github containing past years students work

Some related Part IV projects done by compsys students:
  • Who am I? – Developing an interactive 3D game for psychometric testing
  • Names Sayer: A Names pronunciation app

Further reading: https://student-editorials.blogs.auckland.ac.nz/2018/10/13/oops/

 

ELECTENG 204 (eLeCtRoMaGnEtIcS)

Keywords: Exam, Electrical Students True Love

This course is probably the least related to computer systems. It’s not a course we are taking so that we can become experts in electromagnetics, but we can’t pretend it doesn’t exist because with every current there is a corresponding magnetic field. We learn about things like transmission lines, transformers, electrostatics, magnetic fields etc, so basically a step up from 101 and NCEA electricity. It sounds difficult until you realise it ends up boiling down to manipulating numbers and our one true love, the equation sheet. The attendance rate for the lectures is about 30/130 students at best, because we only have 2 tests and one exam, so the course can be neglected after the 2nd test and crammed 2 weeks before the exam (which is what I did for the past 2 weeks). It’s the only pure theory we get the entire semester, so it is a nice break from projects.

 

ENGGEN 204 (Management & Communication)

Keywords: Public Speaking, Report Writing, Subjective Marking

Taking this course has made me, and many of my friends, question why we even study engineering. It’s off-putting and is enough of a reason to switch to comp sci. However, with all the fun I’ve had this semester with all the projects and programming assignments from my other courses which reflect engineering design and problem solving, I am yet to drop out. I personally enjoyed the assignments and the group report (it was on AI this year), but the subjective marking gave me persistent anxiety. They also shove you into the deep end by making 25% of your grade a presentation in front of your tutorial group. I managed to survive the presentation due to my experience in the public speaking group Biztalk Toastmasters if any of you are interested in also getting a free 25%. You have to take this course no matter your spec, so I will pray for you all next year.


Closing remarks: Compared to first year, semester two is project heavy and gets you applying your theory quick. We only have one exam, so yes, we had a lot of assignments and projects throughout the semester. My pro-tip for not losing your sanity: Have other parts of your routine that don’t involve 8am lectures

For me, this consisted of being part of weekly clubs so I could talk about things besides programming and electronics. For example, during semester, as part of Robogals (one of the clubs I’m part of) I went to Brisbane for a conference! Having a break from uni in general was useful. Also part of Robogals, it’s immensely rewarding to go out to schools to introduce them to robotics. Seeing their joy and innocence is rejuvenating when your soul is getting crushed by assignments.

If you’re interested in learning more about Semester 2 of compsys, check out this video done by Current Part  IV’s back when they were in Part II! How to survive second semester of Computer Systems Engineering