AY20/21 (and Tech I intend to learn)

We are officially in our 6th month of 2021, so this post might come a little late. But I am in university, so I guess since my Freshman year just ended, heading into my Sophomore year, some planning would be good.

Looking Back: Freshman Year

Freshman year, first semester, was pretty disastrous. Trying to learn and achieve everything and anything under the sun really destroys one’s mental. To go through the bad times would require a lot of writing, so I’ll just go through the good times and the lessons learnt.

1. Learning UI/UX @ RHDEVs

One of the highlights of AY20/21 would be getting into RHDEVs. Honestly, I didn’t know what I was getting myself into, as I was just a beginner Frontend Developer that had experience with User Acceptance Testing.

I had the opportunity to lead my team and engage in many activities that would form the foundation of my UI/UX knowledge. As a Full Stack Developer now, I am able to fully appreciate the intricacies of good UI/UX planning. Personally, I feel that many underestimate the importance of having good UI/UX planning. Sure, the Tech Stack might be interesting, and be daunting to learn, as opposed to creating prototypes on Figma. However, with a fully reliable prototype on Figma (or any other prototyping software), implementing the Tech Stack is much easier, even with (programming) “language” barriers.

2. Hardware, Firmware, Software

In my second semester of AY20/21, I had to opportunity to work with the Arduino Uno, Robotic Operating System (ROS), and Raspberry Pi 3B. Integrating everything together to create a remotely piloted robot was pretty enjoyable, despite being neither a hardware or firmware person.

3. Machine Learning & Linear Algebra

As I learn more math, and get better at it, I become more aware of how it is used in computer science. Learning CS and touching on ML got me interested in paying attention during my Linear Algebra classes, and topics like Orthogonal Projection became easier to understand. I had the chance to make a project on Linear Regression in Python (relating to SG House Prices) for my class presentation.

4. Decision to embark on Orbital

Every Computing student has the chance to participate in NUS’s Orbital, an independent software engineering project. Being extremely used to completing my coding in one sitting, Orbital has proven to be tougher on my mental than expected, especially with all the expectations I have placed on my application. With that said, this provides an excellent opportunity for me to put all my “external” knowledge to use (aka knowledge that wouldn’t be applicable in school). As I learn more about Full Stack Development, I will be posting interesting topics here!

Tech I wish to learn in 2021 and beyond

As I move into my Sophomore year, I realise that my interests lie beyond academics, and that no degree or course can satisfy me. As such, I hope that proper planning and some foresight may prove useful for 2021 and beyond.

1. TypeScript (TS)

Being the superset of JavaScript, with static typing used to check for types, TypeScript (TS) is widely used in larger projects. With my knowledge in JavaScript, I hope that the learning curve wouldn’t be too steep for this. However, what I am most interested in doing is to integrate TS with React, effectively using TSX for future projects.

2. Discord.js

As a regular user of Discord, I wish to develop a Bot that helps keep track of my tasks and deadlines on my server. Discord.js is a framework for developing Discord Bots in JavaScript, and it feels pretty similar to Node. Even though I have not started working with this framework, I am confident that I will be able to make something out of this, and maybe open source this project, by the end of this year.

3. Next.js

This seems to be the next hyped up React Framework. Next.js (68k) has almost as many stars on GitHub as Google’s Angular (73k), so that should mean something. However, I probably would wait a while before diving deeper into this, as there might be more updates to come. Hopefully, large changes, like how React jumped to adopting Functional Components with Hooks from Class Components, occur before I starting learning.

4. Google Firebase & MongoDB

As I fry my brain trying to think of backend functions to supplement my non-relational database, I can’t help but want to learn more about databases and servers to help ease the brainfrying process. While I am currently using Firebase and Firestore right now, I would like to explore Firebase more in-depth, as well as MongoDB, which seems to be the database of choice nowadays. Will I survive without SQL? We’ll see.

5. Simple and Fast Multimedia Library (SFML)

I recently watched an interesting video which discussed using SFML to make simple games and visualisations. Even if one were to use a lower-level high level programming language like C++, SFML eases “the development of games and multimedia applications”. While this is not my priority, I do hope to learn this library one day, and visualise some of the C++ code that I made before.

Conclusion

Well, that makes the end of my (very long) post. Note to self (and anyone who might read this), you have achieved a lot in just the first 5 months of 2021, so don’t be too hard on yourself, and all the best for the year!

Return to Posts