Skip to main content

Command Palette

Search for a command to run...

Programming

Published
3 min read
Programming
H

Hey there! My name is Hassan and am a self-taught computer scientist through the OSSU. Join me in my exciting journey!

Programming!

The cornerstone of all Computer Science areas, the tool of the tools, and the part that you can't escape if you want to be a good Computerist. My story of learning programming is quite a rollercoaster style, from starting with JavaScript (very bad language to start with!) but without any problem solving, to C++ for a while -thanks for the war that interrupted it-, and ending till now with Java.

I had always had this obsession with perfection, so I wanted to learn the best programming language to start with, but I haven't found it yet well.. BECAUSE IT DOES NOT EXIST! during the war, I did not have a good Internet connection so no online courses. But I really wanted to pursue my learning to CS, so I searched through my archive of "unnecessary .pdf files" and found a textbook on Java called Introduction to Java Programming by Y. Daniel Liang, so I started reading through it, writing a lot of code, and solving a dozens of problems by the ending of each chapter, and here I am with this magnificent book! that am still learning through it up to this day since June 2023 (am currently in CH12: Exception Handling and Text IO).

Long story short, programming is an essential skill everyone who wants to learn CS should acquire it and be good at it.

Here are some tips that will help you start learning programming:

1- Pick a relatively old language

Like Java (I prefer it for its all-OOP style that gonna pay later when learning OOD -gonna talk about it in a later post-), or C++, or C#, maybe Python but I don't prefer it cuz it's super easy except if you are aiming to Data Science or AI or Machine Learning directly without taking a CS journey like me, C also is a good choice but not at the beginning (I am learning it currently in order to start Computer Architecture and Operating Systems Subjects -as usual, in a later post!-).

2- Learn programming deeply

Some subjects can be taken from a short, to-the-point, online video-based course, but programming isn't. So pick a Textbook on the language you want to learn to program with and start going through it slowly and don't rush the results even if it's going to take you months.

3- Code a lot with your hands

You can't learn coding by watching codes on the course or the book you're learning from.

4- Solve a lot of problems

CodeWars and Exercism are good sites, also the end-chapter problems in textbooks are worthy.

VARIABLES, CONSTANTS, DATA TYPES, CONDITIONS, LOOPS, FUNCTIONS, and ARRAYS, are all must-learn concepts that can't be skipped.

OOP gonna has its own post cuz it's another story. Take your time, and don't rush learning.

See you in the next one!