Basically, you have to understand, programming is easy when it’s followed by proper guidance and practice. Constant practice makes you a master in this field. Be consistent in practice then you will see result.
There are many resources available in online to develop your programming skills. I’m going to share the important resources which are very useful and more than enough in developing the programming skills.
When comes to programming skills, first you need a programming language. Programming languages are C, C++, Java, C#, Python. You can choose any language in this.
If you want to become a competitive programmer, better you go with C++. C++ is very fast when compared to other languages. To overcome a time limited execution in online judges, C++ is the best choice.
Otherwise if you want to develop web applications end to end, you can choose Java or C# or Python. These languages are robust and scalable in terms of developing web applications. You can also become a competitive programmer by practicing in these languages.
There are many programming languages available, but these are good demanded languages.
I hope, you become clear with programming languages. Now the question is, how can I practice and master in these languages?
For C tutorials you can use these tutorials.
For Java, I highly recommend Durga sir’s tutorial. It is more than enough for Java. If you follow this tutorial passionately, you will become master in Java. But it takes some time, because from basic to advanced concepts, He covers patiently in a wonderful manner. And finally you fell in love with Java. Become Master in Java
For C#, I highly recommend to use Kudvenkat C# tutorials. He is legend in teaching the complex things in a simple way.
Moreover you can refer Geeks for Geeks. This is the bible for software programmers to develop their programming skills.
Data Structures and Algorithms
Data structures and Algorithms are the core heart of computer science. Once you become strong in language syntaxes, now the time to practice your logical thinking by using that language.
There are many good online platforms available to develop our programming skills.
Try to solve lots of problems in these platforms. The more you solve, the more you understand the different scenarios.
Each platforms has their own advantages. In terms of interview preparation Leetcode is the best choice. Hackerearth and Hackerrank also helps you to develop your algorithms skills.
Codeforces, Codechef and Topcoder are the best choices in developing the competitive programming skills. Initially it looks little complicated, but by continuous practice and dedication you can conquer this.
I highly recommend Leetcode, it looks fresh and clean UI. One main advantage in Leetcode is when you get stuck in some problem, you can see other’s good solution, so that you can understand your mistakes and rectify it.
Initially it looks difficult, don’t give up. Programming is not that much difficult. It is an art. By proper guidance and practice, you will become master in this wonderful art.