Life of a CS Student: Slow start to new semester
Tags: student, college, techjournal, computerscience
Published: 2021-08-31 21:01:47

## August edition

I had a slow start to this semester. I fell behind from the first week, and now it feels like I'm playing perpetual catch-up. I'm travelling back to Uni across the country, taking an extra class this semester, I miss home, I caught Covid, vaccination registrations are coming up, I need to organise Hoodies, make sure there is paper, listen to Donda and, and... The list doesn't end. I love my degree, but I would have thought twice if I knew this is what it would have taken. Unfortunately, I'm not in a position to reduce the number of responsibilities I have. I have to see this year through. 

## Where am I? 🗺️

My career aspirations haven't changed much.  Although,  I have been thinking about my academic aspirations. My grades aren't sitting pretty right now, but there is still time for redemption. I play on studying further after completing my degree, so I have internal pressure to do well.

There are two major reasons why I want to study further. 

1. I'm not yet satisfied with the 3-year curriculum that it takes to get my degree. I'm someone who gets excited by reading the contents page of a book. You can imagine how I react when I read the curriculum of postgraduate courses. 
2. Since I haven't yet committed to any particular career path, studying further gives me time to gather more information and make a better decision when the time comes. 
3. Studying is a very low-risk time in my life. Although I'm not as happy as I would like to be, I'm in a place where I don't have to worry about many things. I came to uni to get my independence, but I get overwhelmed by the thought of figuring out where to live, living on my own, working a job, having to cook, having to clean etc.

Despite my latest performance in my current Computer Science modules, I am really enjoying the theory behind it. I've had a lot of those Aha moments recently. I'm getting to a place where I'm starting to feel like I really understand the inner workings of computers even though there's so much we still haven't covered. The amount of thought that went into designing and creating computers is remarkable. 


## What am I working on? 👨🏾‍💻

Apart from the weekly Computer Science practicals in **C**, the Mathematical Statistics projects in **R**, the Information Systems projects in **JavaScript** and the Mathematical Programming assignments in **Python**, my only non-academic or side-project is... 

### Fetching Instagram content based website (made with React)

Despite my slow progress, I made a breakthrough. Early on, it became apparent that setting up a Facebook/Instagram API would take me a long time, so I looked for an npm library that scrapes Instagram's website for its data. A few google searches later, and I found.  

The entire idea behind this project is that it will display the posts of an Instagram user in a format of my choosing. To display the posts on my website, I'll need to

- make a **back-end**  server that runs a script and checks if my Firebase Firestore is always up to date with the Instagram page by periodically  checking if there have been any additional posts and save the additional post to Firebase orrrr
- place the node script that fetches the data on the **front-end**.

I don't want to make a back-end for this project because it feels like a bit of a hassle to set up, and besides, I've hosted everything on Firebase and want everything to be on there.

The problem is that the npm library requires an Instagram user name and password to log in. I'm not too keen on putting the script on the front-end idea because that wouldn't be very secure. Anyways, I'll let you know what I eventually decide on.

## What am I learning?

So, I haven't really been able to learn anything extra on top of my course workload, so instead, I'll mention what I've learned in our curriculum that I found interesting. 

Up until this point, we've been doing the Operating System module. Most of our practicals assignments require a Unix environment, so that I couldn't have chosen a better time to dual boot my laptop with Linux Ubuntu. Basically, I could do all my coursework natively on my highly customised gnome-terminal instead of using Google Colab that was prescribed for our course. I don't like online code editors. They feel janky.

The Operating systems course went into the nitty-gritty details of how Operating systems worked. From memory management and disk scheduling to deadlocks and race conditions. It was a lot. I don't think I was in any shape or form ready for this course. It was the first time that I felt like I really didn't know what I was doing. I caught a bad case of imposter syndrome during this course. 

However, I thoroughly enjoyed learning to create multiple threads and learning about how or why deadlocks occur. Those are the type of concepts that make me feel like Uni was definitely worth it. I'm not the greatest at explaining these concepts, so I'll leave a link [here](https://www.youtube.com/c/JacobSorber) to a YouTube channel that really helped me pass this course.

## General news 📰

Season 5 of  [DevNews](https://open.spotify.com/show/1tTuUApDgH6w1LZY25jmzG?si=q1jGay4QT8C-yDPbNtfeKw&dl_branch=1)  is out and which means the walk between class and my room just got that much longer. Dev News is a podcast for developers by developers. It's the first and only podcast that's not a snooze fest. I once went through a period of trying a lot of podcasts, but none of them kept me listening like DevNews, so If you're into that sort of thing, I highly recommend it.

## Wrapping up

I'm very confident in my programming ability, so I thought imposter syndrome was something that I was not capable of experiencing. In fact, I didn't realise I had it until I found out why I didn't ask for help when struggling with assignments. The reason was that I thought that I did not deserve to be helped. I thought I would be a waste of my tutors even time though they **literally** get paid to help us. It's ridiculous!

I've never really been one to ask for help. I always figured things out on my own. Even though I learn much more by doing so, I waste an enormous amount of time going through rabbit holes that sometimes lead to nowhere. So I'm going to learn to get better at asking for help. If you have any tips, you're more than welcome to leave advice in the comments. 

This semester started slow, and the progress I made on side-projects was even slower. That is something I'm hoping to change. We'll see how well I do this time next month. One positive that came out of all this is that I've been finding more efficient ways to manage my time, and my sleep quality has improved. To me, that's progress 😌

If you got this far, thanks for the read. And as always, Happy Coding💻!