Most coders would actually learn how to code at home itself because coding is such a skill that needs to be learnt in solace in your space of rumination. In fact, when you’re a young learner learning to code, a lot of times you get lost in the problem that you’re trying to solve that you will lose track of time and the problem is continuously on your mind whether you’re taking a walk or you’re eating until you crack that problem in some way or the other. And, many times this runs into late night too when you might get a sudden idea to solve using a particular structure. So, coding is a very “your own” way of solving problems and developing solutions to problems. Most of this process usually happens in your private space or home itself in your learning days until you’re officially going to a tech office and coding there in comfortable chairs drinking premium coffee.
Then, how to learn to code at home?
Most of us programmers from the late 90s and early 2000s have been brought up on C Programming and from the habit of simply learning from books. We’ve learnt how to code from books and a few tutors helping us on complex areas such as data structures, kernel programming, operating systems, and theory of computation as subjects. But, today there are multiple avenues of learning like tutors, online videos, online resources such as w3schools and platforms such as Udemy, UnicMinds (ourselves), Codemonkey and many more. But, maybe that itself confuses people – often the more options you have the more difficult the decision becomes. But, in all honesty, your dedication and earnestness to learn matters far more than the mode in which you’re learning. At the same time, coding as a subject can be complex in certain topics or sometimes just in your mind and therefore getting a tutor who has helped multiple students in that area improves your chances of learning things fast and the right way quickly. But, at the same time, to each his own method.
The Path or Plan to Learn to Code at home
Depending on your age and your previous experience in basic programming, the path would change. If you’re an individual aged 18+ and you have a decent amount of logical math and reasoning skills, then the path is different when compared to an individual who is very young and wants to learn Python. For a young student , the focus will be to parallelly develop reasoning and problem-solving skills along with learning the tenets of programming. Whereas for a slightly more aged individual, the math and problem-solving is there (not necessary) and hence focus shifts more quickly to complex problem solving structures.
At a personal level, I’d always recommend starting with C or C++ for learners more than 16-18 years, if the ambition is to be a serious programmer. If you’re a young learner (less than 15 years of age), then learning these programming languages can be a bit daunting and you could start with Python or other options based on what you enjoy doing.
Depending on whether you want to learn front end or back end or general programming first. If you’re interested in learning the front end, then getting into JavaScript, CSS, HTML, and if you’re interested in learning the back end, then getting into C, Java, Python would be good. Gaming Engines or Game Development largely utilizes C or C++. A lot of android app development uses Java or JVM based Kotlin. A lot of iOS app development uses Swift or Native Java. However, it is not about what programming language you learn, it is more about how you learn it.
At a basic level, the focus is to learn the foundational tenets of programming and become familiar with syntax. At an intermediate level, you’d use various data structures and medium level complex algorithms like quick sort and others. At a slightly more advanced stage, you’d use your knowledge to build parsers, API based applications, and become familiar in using multi-threading techniques and concurrent programming while adhering to good programming practices and debugging techniques.
Some of the best books to refer and learn programming are:
- Introduction to Algorithms, Cormen
- Think Like a Programmer, V. Anton Spraul
- Learning to Program, Steven Foote
- Art of Programming, Knuth
- Algorithmic Puzzles, Anany and Maria Levitin
- Let Us C, Yashvanth Kanetkar
- The C Programming Language, Dennis Ritchie & Kernigham
- Thinking in Java, Bruce Eckel
- Core Python Programming, Nageswara Rao
- The C++ Programming Language, Bjarne Stroustrup
- C++ Primer, Lippman
- Programming in C, Balaguruswamy
Of all, the best book is your curiosity. Try answering various interview questions, practice programming questions, and various algorithms and you’ll learn tons about programming and various limitations of these languages. And, that is a great start from home!
Hope this is useful, thank you.
You may like to read: Hour of Code for Kids, C Programming for Kids, & The Beauty of Circular Primes – Explained!