If you are confused or disappointed somehow of all these topics and languages to learn and have no idea of what you should learn first then here what you need to read.

Feel free to take the first steps of learning without any idea of what are you going to do , Actually even expert programmers weren’t able to use computers much as let them know enough about technology in general to think of programming. Whatever be ready for our journey and ask yourself these questions :

  • Do I like computers ?
  • Do I have the passion of learning codes and algorithms or even talking with technology geeks ?
  • If I achieved what I want to, will I continue for the sake of learning or just to have the skill that finishes my task or assignment?
  • Do I have the eligibility to learn for learning not for a degree or a certificate? 

Well, It’s not a magazine survey that requires “yes” on all questions to continue the article, But really the matter is different, If you just want to learn computer science, do it ! You just need the passion of learning that you had during your alphabet class or while you were learning how to play your favourite video game .. Sounds easy isn’t it ?

We all are here for a guide or steps to follow for good computer science skills, to save your time and effort you can follow these steps which is recommended as I said you just need the passion and you will search and find what you need, However you can follow this trackline :

  • You should have 101 introductory course of computer science

If you want to learn driving a car you have to ride a bicycle first, and without being noticed you learned to walk then run first so you have to take an introduction to CS without talking about many codes or algorithms so you can take these courses which are equivalent in topics:

CS50 – Harvard university 

Udacity – Introduction to computer science 


  • You can pick a programming language now to implement your first computer programs

It’s not difficult to pick a language, But I recommend c/c++ as a begin as you will face most of programming languages features so you can say It’s ultimate. You can read books or watch courses but for a new  student you have to watch videos and lectures first as it can be more comfortable than books :

For C you can take :

MIT OCW practical programming in C


For c++ you can take :

C++ course offered by Microsoft edx:


  • Learn the good way of computational thinking by learning algorithms

You have to think first then write your code, Actually code won’t solve your problem or do your work, It is just a tool to translate your thoughts to a language computers can understand,  your arrangement of steps and correct thoughts can be earned by learning algorithms :

Intro to algorithms by Udacity


  • Practice and solve programming problems

You have to practice applying what you know and have by solving step by step real life programming problems such as (finding a number in a phonebook, finding the best sort of numbers, etc) :


Now you have to know that your are free to learn from anywhere but keep in mind the recommended steps your journey, Have a nice day !