A complete guidline to dive into programming world with C

 When I started my B.Sc in CSE, I had no idea about computers and programming. For me learning programming

was like learning to walk for a baby. Then I started with Python as it was offered as a course from my university.

But to be really honest, I am still an ammature in Python. I had no idea what I was doing and what programming

really meant. I am writing this because, I know many of you are struggling the same like me and I want to give

you a proper roadmap.


This post will cover almost everything you need to start your programming journey. Most importantly, this post

will answer the very basic questions that a very beginner will get confused with.

 

What is programming? And why it is important?

The answer is simple but has a deeper meaning. Programming is a tool which lets you communicate with a

computer and lets you command the computer. Just like English or Bangla, it is a language of communication. 

Programming has become one of the most demanded skill in past few decades as computers and other

technologies have made a great advancement. Almost every sector needs computers or related technologies.

Developing or maintaining these sectors require programming knowledge.

In simple term, programming language is a tool, by which you can command the computer to do any of your

works. Let us understand with an example, if we want to know if a year is leap year or not, we can find the

answer through programming.We can write a program, which will take a year as an input and tell that it is leap

year or not.

It is just a small example. There are many more things you can do with programming, the only limit is your

imagination.

 

Which programming language should we need to learn?

This question is wrong. There is no programming which can be used to do every work. Every language is related

with a technology. For example, if you want to do website development than you will learn Javascript, if you want

to do mobile application development than you will learn Java, Kotlin or Swift. If you are going for data science

than you should choose python. Here the confusion starts. As a completely beginner we are not aware of any of

these technologies, as a result we cannot choose what to do.

Though every language has different advantages and disadvantages, almost every language work on some

common principle. If we can learn any one language properly, switching to a new language will not be a problem.

Many of the terms in the new language will be same as the first one.

 

Why C is perfect for beginners?

As I mentioned before, every language has some common features or working principle, if anyone learn C , he can move to any

language. C is easy to read, has less

complex functions, more importantly C is a low level language. Here you have to make every function by

yourself from the scratch, this makes the learning to have a boost. Learning C language and solving some

standard problem with it, will give you the confidence you need. 


What is problem solving and how is it linked with programming?

You should be clear by now that, through programming we can command the computer to any task. Everyday we

face different issues or problems which we try to overcome. Let us assume you want to go to school or college and

you want to know which way you can reach there faster : you can go by walk or you can take a rickshaw. Here

finding the faster way is the problem. You are critically thinking and find that choosing rickshaw is the best way.

This is the solution for this problem. 

Same way we face many more problems in our daily life which requires critical analysis and complex calculations.

We can use programming to solve these problems. I am writing this for the complete beginners. There are many

things needed for effective problem solving and you can learn them slowly, just trust the process.


To master C language you are not needed to learn many things. There are few primary topics and you can find

them common in other languages as well.


Fundamental topics for C programming :

 1. Variables and Data type

 2. Input and Output 

 3. Operators (+,-,*,\,%....)

 4. Condition (if else)

 5. Loop (for, while, do while)

 6. Array (Integer, character)


 Advanced topics :

 7. Pointers

 8. Recursion



I tried to gather some resources that are available online for free.


 1. C programming course (bangla): https://youtube.com/playlist?list=PLdl6zXgLsy3zwNjSMiYlOZOr20sykTfgo&si=YghnCVqfOX4EzAPH


 2. C Programming course (Hindi)

 a. Apna College :

https://youtu.be/irqbmMNs2Bo?si=P6MPqAEwcxHWBdyX


b. Code With Harry:

https://youtube.com/playlist?list=PLu0W_9lII9aiXlHcLx-mDH1Qul38wD3aR&si=OxIJgV-EdZaSIdM1


3. C programming course (English):

  1. https://youtu.be/KJgsSFOSQv0?si=OeZjMoccuFk4D3bZ

  2. https://youtu.be/87SH2Cn0s9A?si=6HEra8RteGagzii6




4. Websites : 

  1. w3school: https://www.w3schools.com/c/index.php

  2. Geesforgeeks : https://www.geeksforgeeks.org/c-programming-language/

  3. javaTpoint : https://www.javatpoint.com/c-programming-language-tutorial


5. Notes by Apna College : https://drive.google.com/drive/folders/1SEfL7Yw3nJfVLToz9MAuAm2_NoCCk1qD


6. Books : 

  1. https://drive.google.com/file/d/1tPNUHLNha_CdjIrCRTWTckDnW860nxRi/view?usp=drive_link

  2. https://drive.google.com/file/d/1vpA7ccxES1R7xtOgvkuhfuVlRcdTq0Hz/view?usp=drive_link

  3. https://www.cimat.mx/ciencia_para_jovenes/bachillerato/libros/[Kernighan-Ritchie]The_C_Programming_Language.pdf


7. Website write code : https://www.programiz.com/c-programming/online-compiler/

Comments

Post a Comment