It's obvious to me that one may not do a fine job in teaching themselves programming if the only thing they do is read programming books.
Thanks to the massive open online learning initiative (MOOC), things have never been easier and more accessible than today. Basically, if you want to teach yourself programming, or anyother skill for that matter, you cannot invoke lame excuses.
Sure, you'll struggle, because it's not easy. I struggle; everyday; every time I'm in front of the code. Without struggle, adversity, and challenge how can one advance in a skill - or in life?
Anyway, I don't want to go off track...
There are quite a few good options for taking off (going from ground 0) with the skill of programming. The first one that I started with, a few years ago, was Codeacademy.com. It's an interactive way to do it.
Additional to Codeacademy, I also completed a few courses on Coursera - most of them had to do with Python. If you're a newbie, go for Dr. Charles Severance's courses from the University of Michigan (on Coursera).
Sidenote: These sites have courses for any imaginable and unimaginable topic.
Today I'm going to focus on something similar to Codeacademy. I'm going to give you an overview of Sololearn.
Here's their one line personal description:
"Over 10,000,000 learners all over the world use our apps on all types of devices."
I started using Sololearn by downloading the app Learn Python on my android tablet. Similar to Learn Python they have (currently) ~a dozen other applications for different programming languages and concepts.
The extremity of convenience about Sololearn is their wide availability and integration. You can use these apps on Android, Apple and even the web. I am very satisfied by the web interface. In fact, I've mostly been learning on the web for the past few days...
Their approach to code learning is by combining passive knowledge acquiring (by reading short bits about the concept - a short lesson) with immediate test of that knowledge (through interactive quiz questions).
Some of the questions are multiple-choice, while others require you do to code completion. You also have a code playground where you can practice the concepts and lesson - and any code you can think of. Then, there is a dedicated q&a section for each lesson, where users post relevant comments and questions.
I am currently practicing with: Python, JS, and C++.
To gamify the platform, they have a leaderboard. Each user gains XP as they go through the courses and correctly complete the questions/challenges.
I'm currently, at the module 'Basic Concepts' for my JS course. Here are the lessons:
And how 'clean' a lesson looks like:
And how knowledge testing looks like. I'll let you guess this one:
This is a view of the code playground:
If you want to learn coding and decide to take any one of these courses with Sololearn - they are all currently free; I hope they manage to keep them free -, let me know and we could enforce each other's endeavors by trying to climb the leaderboard. See you there!
To stay in touch with me, follow @cristi
Credits for Images: [Own Screen Captions of Sololearn].
Cristi Vlad, Self-Experimenter and Author