Computer science knowledge and coding are skills that nowadays can be learned from the childhood. Obviously, they are becoming vital for our daily life, such as reading or writing, for instance. However, there is a lack of programming-literate teachers at schools, so this is where the online services may come into play. They provide you mostly with an ability to start making practical exercises simultaneously with learning theories. Here is a set of some of the services that already count millions of users...
Once you are done with the first steps and have understood the basics of the particular topic, you can start playing with blocks of code. Be sure: all your errors will be corrected by the system. At the end of each task you will earn a badge. Gathering some of them, you will be able to increase your level. That all sounds like a gameplay, isn't it? What's more, Codecademy includes no video instruction, just exercises and examples. Maybe, its use convenience is the reason why this service has been selected by British government as the main learning platform for K-12 schools in the new educational programme. Finally, although the structure of Codeacademy has been criticized by users, developers try their best to improve it. You can briefly fill in an interactive form available in the down right corner to send an immediate feedback to the developers about the possible mistakes in the explanations. No wonder, the project is being made by volunteer contributors, just like Wikipedia, so mistakes may occur and have to be corrected.
In case you prefer learning from real teachers, that's Udacity at your disposal. This is a service that currently includes 14 classes, where you can learn to solve complex problems with the help of world-renowned university professors, and company members in Silicon Valley, such as specialists from Google, Mozilla, Facebook, and Nvidia, for example. Courses cover topics that will not only teach you how to write code, but also provide good knowledge of mathematics, physics, and even bring some basics of "How to build a startup."
Among the most demanded ones is web development, programming for Android, software engineering, software testing, etc. So these are skills that may be necessary for lots of positions in the IT companies.Courses are categorized in accordance with knowledge level and have the detailed description, including a schedule and information what you will finally be able to build. Obviously, Udacity can be considered as a serious system of distance education.
So this project suits mostly those who want not only to develop specific skills, but intend to get certificates by the end of courses. Due to this reason, its monthly subscription cost of $150 is a bit higher than on other similar services.
By choosing methods and services for learning, you should think of what you would like to achieve, what you finally want to code. No doubt, online systems may help you develop many coding skills and provide you with lots of useful information. Anyway, using a single service may be not sufficient for your ultimate goal. To be successful, you should try combining several courses according to your needs and expectations.