Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why I Learned to Code #19

Open
abdulrcs opened this issue Apr 11, 2024 · 0 comments
Open

Why I Learned to Code #19

abdulrcs opened this issue Apr 11, 2024 · 0 comments

Comments

@abdulrcs
Copy link
Owner

abdulrcs commented Apr 11, 2024


slug: why-i-learned-to-code
date: 24-Nov-2019
summary: The story about how I started learning programming.
readingTime: 6 min read
image: https://github.com/abdulrcs/abdulrahman.id/assets/54136956/b1fcc95b-f7af-413e-89cd-612e26201150

This post was written on 24 November 2019 when I was learning Harvard's CS50 2019 - Introduction to Computer Science.
In week 5 of the course, I was assigned to create a homepage that tells about myself.

It all started way back.

I've been close to a computer since an early age, it's about the first year of elementary school that I have a computer in my house. I was mesmerized by the technology back then. and in about 3rd grade, the internet is becoming more accessible. I've been surfing the internet ever since. I grew up with the computer.

Some people noticed this admiration of mine for computers, and a decent amount of people said "If you liked computers so much you should be a programmer!" A programmer? I didn't know what programmers do back then but I knew it had to do something with computers, so being a programmer has always been my dream, here's a photo of my yearbook from elementary school, I write "Programmer" in the What do you want to be when you grow up? section.

image

I liked to find out how to make things. I googled how to make VFX / visual effects, my favorite was "freddiew" (Freddie Wong) and Corridor Digital (Which is still big now), I learned about Windows Movie Maker and eventually Adobe After Effects. I made some short videos with my friends back in elementary school and put some action visual effects with a pistol we'd made from paper. They seem to like it, so making short videos is our favorite thing to do.

image

A photo of me with my friends back in elementary school (probably in 2011?) before we went out to shoot some short videos.

Besides that, I also googled how to make a video game and found software called RPG Maker VX, an engine to make RPG games easily, but I didn't manage to finish the actual game.

image

I thought everything I did at this point was programming, I was still intimidated to find out what it's really about since I heard it's challenging and involved math.

Minecraft.

image

Minecraft was the best game ever created, Minecraft gives you the ability to find the creativity in yourself that you didn't even know you had. you can do anything and build anything you want there, once you find a good server to play at, you'll get addicted and play for hours.

I started playing Minecraft around 5th grade ~ 8th grade, and there's this thing called Redstone, which is like an electricity circuit system on the game, I was really into it. you can build traps, hidden doors, and automate stuff, it's basically like simplified programming in the game.

minecraft-redstone-mechanics

What I love the most about the game is when I'm doing a project, I always think about it all day and have a curious mind to solve the problem that my project had, like how the redstone contraption doesn't work properly, how to implement a redstone contraption in the building without making the whole thing looks asymmetrical. and ever so often I dreamed of doing the project and usually found the solution first thing in the morning. I'm not the only one that experienced this, most of my friends also experience this as well. It explains how thought-provoking the game was.

Another thing that I found interesting in Minecraft servers is the plugins. Which is an addition to the Minecraft system itself that the original Minecraft doesn't have.

However, a server with lots of plugins is very vulnerable, and one of my favorite things to do in Minecraft is to find those bugs and use them to become the number one player on the servers, it's like cheating, I know, but I was young back then 😅

image

One of my friends found out about this and suggested an idea to build a server together since he thought I knew how server plugins worked, The truth is I only found those bugs from playing the game a lot, but I always wanted to have my own Minecraft server, so I said yes to my friend, then he rents a cheap VPS for the server to run, and I manage the server plugins for the first time.

I thought to myself back then "Is this what coding is about?" because it's not so bad, you download some files, put them to the plugins folder via the FTP, and customize some things in a .json file. Here's an actual screenshot of what it looks like:

image

I spent a lot of time customizing the .json file of dozens of plugins and tried to make the best Minecraft server ever, spoiler alert we didn't release it because I spent too much time tweaking the server instead of launching it (I later found out this is a common programmer's trait 🤣), but on the positive side, I became more confident in the world of code because I enjoyed spending time on it. Also, the interface has fancy colorful text and a black background color that most of the programming IDE looks like.

CS50 (2019)

image

I found out about CS50 randomly, I found out about it from the podcast I listen to when I'm commuting. It's like some unknown force is telling me to learn programming that I always wanted for years.

It's an Introduction to Computer Science class that everyone can take for free online. It's taught by David Malan who is the coolest teacher ever, I have so much respect for the guy, he really loves what he does. He has so many great analogies to explain a certain subject. My personal favorite is when he rips out a whole phonebook to explain Binary Search 🤣

phonebook

CS50 has assigned a problem set for you to finish every week which is good for me to have a certain goal every week, one of the problems was to create that iconic Mario stairs with a bunch of "#" using C language and you're supposed to do it in a for loop.

image

I love how they added some "pop culture" into their problems, we're just learning for loops, but involving the good ol' Mario here? sign me up!

It was challenging, and I didn't solve it right away. I was thinking about how to solve it all day and eventually find the solution first thing in the mornin- wait, it's that good feeling again when I was doing a Minecraft project years ago.

I finally found out what programming was about, and decided to learn how to code!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant