Life of a CS Student: Vacation well spent

Life of a CS Student: Vacation well spent

August 2021 Edition

I think it's time that I gave some context as to who I am and where I am on my journey into the world of Computer Science. I tend to post blogs without context, so I am starting this series to document:

  1. where I am in my journey,
  2. interesting things I have learned and
  3. projects that I have built that took a significant portion of my time and effort.

Quick self-introduction πŸ‘‹πŸΎ

I guess I should start by introducing myself, so, Hi. I'm Sibu. At the time of writing, I am currently doing my 2nd year in Computer Science at Rhodes University. I like my operating systems open-sourced. My current favourite distribution is Ubuntu. Java and JavaScript are my favourite programming languages. I am very particular about my development environment. My favourite text editor, and the best one at that, is Sublime Text. Anyone who thinks otherwise can go argue with a wall :)

So without further ado, let's dive right in.

Where am I? πŸ—ΊοΈ

I'm a second-year student, so I don't have to worry too much about my career, but I still keep it at the back of my mind. The nice part about getting a CS degree is that it gives me so many options, and the bad part about getting a CS degree is that it gives me too many options. I am at the point where I'm afraid of over-committing to a particular language or framework because it won't help in whatever career path I end up deciding to take on. I end up hopping between different technologies and never really take the time to learn one thoroughly.

I am seriously considering a career in Web development. Whether I start with Front-end or Back-end development doesn't really matter because I plan to go Full-Stack eventually. I don't see myself doing Web-development forever, so some alternatives I am considering involve AI, Cloud computing, CyberSecurity or Robotics.

What am I working on? πŸ‘¨πŸΏβ€πŸ’»

TicTacToe

The first project that I set out for myself is a little tic-tac-toe game made with Java. The fun part about this project was designing classes that would communicate with each other to create the game logic. It made me feel like a real software architect. I'm also quite surprised at how little I had to use the internet to look up syntax and method names. I think this speaks to how well I have learned the Java language.

I recently finished this project, and I have made all the source code available on my GitHub.

React Instagram Website

I have been trying to create a website for my friend's Instagram account. The idea is that I want to display all their pictures on the website. The problem is I want it to update every time they make a post, so they only need to maintain their one page instead of having to update their content in two separate places.

I approached this project with one strategy, and it only recently became apparent that my approach is not technically feasible. Now I've got to use a different approach which entails learning technology that I am not completely familiar with. That technology being Google's Firebase Firestore. I have worked through a NoSQL database tutorial in MongoDb, so I hope that will help me get my project back on track.

What am I learning?

Even though I have been building quite a bit, I still want to learn simultaneously. I know that building projects are the best way to learn to code, but I also need to supplement my knowledge with theory to ensure that I know the capability of my tools. The two courses that I am following on YouTube right now are

  • JavaFX playlist by The New Boston and...
  • Firebase Firestore Playlist by the NetNinja

General news πŸ“°

  • One of the textbooks that are prescribed for next semester is the infamous Eloquent JavaScript by Marijn Haverbeke. I'm pumped up to actually get some sort of formal education with JavaScript because I have been learning it for so long on my own now.
  • I Dual booted my PC with Linux Ubuntu about a month ago, and I almost never use Windows now.
  • It turns out I have to take an extra subject this coming semester, so I'm in for another long haul. I know I'm capable of taking on the extra work, but I would much rather spend my time doing something I find more meaningful.
  • Last but certainly not least, I've recently been accepted into the VWSA Bursary programme, so I am officially being paid to study the thing I am most passionate about.

Wrapping up

During school vacations, I reserve most of my time to build all the million-dollar app ideas, or more realistically, projects that improve my portfolio and automate my workflows. My vacations never last very long because of how much the pandemic set back the school calendar year. Our school has increased the pace at which we work to finish within the academic calendar. So, once the next semester begins, I will have less time for all these endeavours. As the year progresses, I don't know if I will build all the projects that I have on my to-build list, but there's no harm in trying.

I plan on maintaining this series monthly if you are keen on keeping tabs on my journey. If that time-lapse is too long for you to remember to come back, then you can find me on Twitter, where I share what's on my mind on a more regular basis.

As always, thanks for the read, and Happy Coding! πŸ’»