The best way to learn C programming language
Let’s jump in
Learn the fundamentals of C
- Data types
- Variables With its Storage classes and constants
- Structure of a c program
- Input and output functions
- Keywords
- Operators(Precedence and order of evaluation) and expressions
- Control statements
- Functions
- Pointers
Little advance topics
- Arrays
- Strings
- Multidimensional arrays
- File handling in C
- The C pre-processor
- Recursion
- Structures
- Type conversion and typecasting
- Dynamic Memory allocation
Advance: learn data structures and algorithms
- Arrays
- Strings
- Linked lists
- Queues
- Stacks
Learn their basic operations
Traversing, deleting, inserting, searching
Choosing a textbook
To be honest, I haven’t studied all the textbooks that are available on the market but I like to share the experience through which I learned the c programming
Start with reading a book called “ let us C by Yashavant Kanetkar” because it is easier to understand
On the other hand, you will not find some concepts that are related to C such as “Dynamic memory Allocation in C programs” in the book “let us C”
Of course the book the C PROGRAMMING LANGUAGE by Brian W.Kernighan, Dennis M.Ritchie is a standard textbook but it is harder to understand
Why do you say Dennis’s book is hard to understand?
if you have read the Dennis book then the preface of the book says it is not an introductory programming manual
further, he says he assumes that you have some basic programming knowledge such as variables, assignment statements, loops, and functions
Here’s another one
A book called data structures using C by Reema Thareja was written for data structure and algorithms but before she began data structure and algorithms concepts she wrote an introduction to C programming
She finishes C programming language in just 38 pages which is even tight and shorter than the let us C book
Thereafter, she covers arrays, strings, structures, unions
Okay, then what is missing in this book
You won’t find concepts called the scope of a variable and storage classes, C pre-processor, File input/output
So, I assume you have brought one or two books for C programming
Of course, you can also learn C programming from online tutorials such as Udemy and many more
Another key point, in case, if you have brought an online course, then in that case also you need to buy a textbook
Why?
Because a text of 500 pages can’t be replaced by an online course
Writing notes from a C textbook
Why should I write notes from the C textbook, I think it is a time-consuming activity so, I will revise C concepts directly from a textbook.
No!
Note-taking is one of the effective ways through which you can learn C
How notes taking saves time?
Notes-taking means you will only write what matters and leaves the remaining unimportant part
Suppose you have a C textbook of 500 pages in length then by making notes you can shrink its size
The truth is if you have a quality note then, in that case, you can save time in the revision subsequently after that you can revise it more times
Pretty effective right?
While reading the C textbook, if you can’t understand something, then, at that instant, you can take the help of youtube and google and add it to your notes
Remember programming languages are just syntax the core is algorithms
Learn by doing projects
Don’t read the book for start to finish in between play around and form your question and get back to the textbook
By forming your question by playing around it will naturally guide you what is important
Where to find C projects
Github —>
During projects building
As you are building projects in C
if you have any doubts you can ask a question by using stack overflow and stack exchange
You can also search your queries in stack overflow the result will be different when you compared it with google search
You most probably find your quires in stack overflow than in google search
Teach someone
If you teach someone, the C programming language it will become easier for you to recall and understand the concept on a deeper level
Here’s another thing you can do
Explain it to an object such as a rubber duck or write a blog about it
Like it or not, during the software development process, meanwhile software developers usually, talk to the object such as rubber duck
But why do they do that?
Because the simple act of explaining or verbalizing some of the assumptions of the code
BOOM!
You may suddenly find the cause of the problem
The truth is usually, developers use this rubber-ducking technique to debug the code which they have written
Pretty effective right?
Why It is hard to code
Before you write a program first thing is you need to do is understand the problem
some people can’t resist the urge to begin coding without understanding the problem
For example, if you want to write a code to find the mean of the random number then you have to know what is mean? before you write code
First understanding then comes code
Resource
- Data structures using C by Reema Thareja
- Let us C by Yashavant Kanetkar
- The C programming language by Brian w. Kernighan Dennis M.Ritchie
- Learning how to learn by Barbara Oakley
- How to memorize anything by Aditi Singhal
- The pragmatic programmer by Andrew Hunt and David Thomas
Leave a Reply