CS2Day

Why CS2Day?

Hello everyone and welcome to CS2Day blog where I share a weekly update on my self-learning journey to computer science.

Contents

Who am I

My name is Hassan Siddig (feel free to mispronounce that), I am 21 years old, third year medical student. I am keen on video games, reading, and bodybuilding. I have developed an interest in tech, especially software, in the last couple of years and aiming to pursue it as a career.

The Story

It all started in the vacation before university, I was thinking about a way to gain money by learning a skill that I would develop along side studying, so I can be financially independent, so by watching some videos and doing some googling I chose two skills (or as I thought they were skills): Graphic designing and Programming. I tried both for some time and settle down for Programming.

Not gonna talk about graphic designing here, but you can check some of my designs in this highlight.

For programming, I thought it was just a 6 months watching courses thing, but gradually I come to realize that it was not just programming, it was something called Computer Science, that people study in universities and it worth 4 years of studying various topics from programming to mathematics to electronics and circuits to computer graphics to networking and the list goes on and on. SO,

PROGRAMMING ≠ COMPUTER SCIENCE, PROGRAMMING ∈ COMPUTER SCIENCE

not to mention that there is a profession called Software Engineering that require being aware of other things than programming, like designing and how to think in an algorithmic way to solve problems.

This phase was more of colliding into new things and information and realizing how ignorant I was. So, what’s the next step ?

The Path

From reading and hearing different approaches, I decided to Learn the fundamentals of computer science before jumping to a specific job technology, that’s because those fundamentals are the same among different professions, and someone stated this approach which I really believe in it, he said:

Without fundamentals you reach faster, with fundamentals you reach farther

So I started looking up for a roadmap or something organized and high quality to learn from.

I ran into OSSU which is a free, open-source computer science curriculum, it’s well organized and maintained. Also Teach yourself CS which is a guide for software engineers who haven’t had a formal education. In addition very recently I found out csdiy which a compact gudie made by a self-learner who shares extremely high quality.

All these resources assemble their curriculum form top universities courses and books, so they are the best of the best.

Before I ran into them, I had already learned few stuff:

  • Programming using Java.
  • Some basic algorithms like searching and sorting, in addition to some data structures like stacks, queues, lists ..etc
  • General understanding of how a computer works (CPU, Memory)
  • Linux and command-line

in addition to some scattered information about this world.

In the light of these resources, along with searching and watching and listening to professionals, educators, and students I am assembling my own path to learn computer science.

Why CS2Day blog

I started this blog to document my weekly progress in this journey, to share what I have learned and to have an archive that I look back into and feel proud when I reach my goal, God willing :)

Also to force myself to brain-dump what I have learned In a way that I am explaining it to others, AKA Feynman Technique

I hope you join me in this thrilling journey, and I am really looking forward to hear form your insights and if you have a similar experience.

See you in the next one <3