The Start of the First Semester of my Final Year at University

The Start of the First Semester of my Final Year at University

Currently, it is the first week of my final year at university! The units that I am taking this semester:

  • Capstone Computing Project
  • Design and Analysis of Algorithms
  • Computer Communications
  • Human Computer Interface

The capstone project is a group project that is meant to simulate what you would encounter in industry when developing a software application from start to finish using the Software Development Life Cycle. Most of the projects are supervised by Curtin University, while some are hosted by industry partners. Apparently, there are a lot more students this year, so getting the industry projects is very competitive, with the cut-off CWA being higher than ever. The students who get the industry projects will be announced over the next few days, so I’m anxiously waiting to find out if I have been selected. Even if I don’t manage to get one, there are still a few of the Curtin-hosted projects that look interesting.

After the first workshop for this unit, it is made apparent that team-work and communication is paramount, and that no ‘slackers’ will be tolerated. Every week requires at least 10 hours of individual work, with evidence to back it up. Honestly, as someone who actually contributes to group projects, this seems a bit annoying and limiting (in a way), but i guess it is necessary to expose those who don’t put in any work. Another fun thing to look forward to is using Git within a group. Apparently, the first Git merges can be a bit of a mess, so we will have to put more focus into coordinating this aspect of software development.

I have heard that the first few weeks of ‘Design and Analysis of Algorithms’ is notoriously difficult, apparently due to computing students being out of practice with their math skills. These first few weeks is more analysing the time-complexity of algorithms in detail, including recursive functions, proving by induction and using the master theorem. I started the material in this unit a bit early and will try to put more effort in initially so that it won’t be too much of a problem. This unit builds upon the more basic ‘Data Structures and Algorithms’ unit, so now we will be taught techniques such as divide and conquer, greedy, and dynamic programming. These techniques will then be applied in sorting algorithms, graph algorithms, data compression, 0/1 knapsack, string searching, matrix-chain multiplication, longest common sub-sequence, and parallel and distributed algorithms.

Computer communications is the main networking unit of the course, with detailed analysis of the OSI model and its layers. During the first computer lab, this unit used to allow students to take the Cisco ‘Certified Network Associate’ (CCNA) exam at the end for an extra fee, but no longer does. Knowing this, I may take the CCNA exam after semester ends as I’m sure it would look good on my resume :). This unit also teaches students ‘Cisco Packet Tracer’, which so far seems quite interesting. During a demonstration in the lab, I saw some settings for soil properties, such as pH and mineral contents (I hope I’m remembering correctly). This really blew my mind because I didn’t realize at first how powerful Packet Tracer can be. I’m definitely looking forward to learning it – and a little scared too!

Finally, Human Computer Interface teaches how to design and evaluate GUI’s to a high standard, taking many factors into consideration, such as usability. This seems to be interesting as we will be looking at application designs from several different user perspectives, so that the app is as easy to use to as many people as possible. I am looking forward to this unit as it is important for front-end software engineering, which I have limited exposure to so far. This will be the third unit this semester where a group project is involved. Hopefully I will be able to manage being part of 3 teams at the same time.

This semester seems it will be pretty full-on. I was hoping to fit in some extracurricular learning this semester so that I can be more competitive in the job market when I graduate, and also in graduate program applications. Assuming I can fit some in, I want to learn some more web app security, as I found it quite interesting during ‘Cyber Crime and Security Enhanced Programming’. I also hope to learn more front-end, starting with basic Javascript/HTML/CSS, before moving onto React. I may also get the ‘Microsoft Certified: Azure Fundamentals’ certificate when I can. Additionally, I need to work on my resume projects, as sadly, they are not that impressive. Despite this, I’ll still have to apply to graduate programs with these on my resume – I should have been working on personal projects during the Summer.

Thanks for reading!