
Currently, the distance learning system is actively developing, now it is no longer a problem to receive a full-fledged education in almost any subject remotely. Online learning has several advantages - learning at an individual pace, freedom and flexibility, accessibility, social equality. More and more services appear in the network that help to get new knowledge.
The article contains a list of resources for online learning that are of interest primarily to
programmers .

')
MIT's Open Courseware offers 2100 courses in a variety of subjects, including Electrical Engineering and Computer Science. Free resources include online tutorials, exams, multimedia content, assignments, projects, and examples — all from actual MIT courses over the last decade or so.
Coursera launched in April and has already overcome the mark of 1 million students. Now includes more than 200 courses from 33 universities. If you have not heard of Coursera, this is a start-up in the field of online education, founded by professors at Stanford University, which allows you to complete a full interactive university course that is taught by a real professor at one of the best schools in the world. Is free.

Udacity is a free service, it currently includes 14 classes, where "You study, solve complex problems ... with world-famous university teachers." Courses cover topics that not only teach you how to write code, but also give good knowledge of mathematics, physics, and even “How to build a startup”.

This is Google and this code is a fairly substantial free resource and obviously a good option if you are interested in developing for Android. It also specializes in some advanced topics, such as distributed systems and web security.

Mozilla has a large collection of resources for learning web technologies.

The resource includes a lot of free HTML5 information, including articles and tutorials.

The Code Player is a resource with step-by-step video tutorials that show how cool things are created from scratch. This is an opportunity to watch from behind the programmer's shoulder when it works. The project teaches HTML5, CSS3, Javascript, etc. It is in the alpha state.

Codecademy is a popular free website that brings a gaming component to the learning process, if you study with friends. Focused on web technology. Codecademy also launched the
CodeYear project.
It is said that the resource gained great popularity after the tweet of the mayor of New York at the beginning of this year, where he said that he was going to use this website for teaching programming in 2012.

Khan Academy offers many courses that cover not only programming, but other topics as well. For example, mathematics (many courses in different directions), science, finance and economics, etc.

General Assembly uses a different approach, offering paid livestream-sessions on topics like “Rapid prototyping: from Frame to HTML” - you buy an e-ticket, get a password and connect to livestream when it passes.

PeepCode encompasses many programming languages, providing downloadable (paid) lessons screencasts.

Eloquent JavaScript, in fact, is a book that provides an introduction to JavaScript and programming in general. The book exists in 2 formats. It is published in electronic form, which includes interactive examples and a mechanism for interacting with code examples (you can run the code or open it in the developer console). Also, the book can be purchased in paper form on Amazon. There is a translation into French (paper version) and German (electronic).
The Koans will take you on a long road to learning Ruby (not Ruby-on-Rails). The goal is to learn the Ruby language, syntax, structures, and some common functions and libraries.
Learn Code The Hard Way started as a project for learning Python in the form of an online textbook book, but materials for learning Ruby, C, SQL, Regex were added soon.

Although it does not technically contain “tutorials”, it does have tons of (easily sought) information that can be a great help. Also, if you are stuck on something (and there is still no answer on the resource), the community answers questions very well.
Coder Dojos are platforms where young people come together to learn how to program. Dojos are organized by volunteers. If you are a teacher or just want to share knowledge, you should take a look at this resource.

In addition to the multitude of books published by O'Reilly, the company also offers (paid) online courses for various programming languages.

Again, if you want to help someone learn, Scratch is free software developed by MIT Media Lab that will help you with this.
Resource for those interested in developing software for Apple products.

The Google site for Android developers continues to improve and contains many sections with recommendations for developers and designers. Also available is a video from Google I / O.

Mobiletuts + is a resource with articles and tutorials for mobile application developers. Covers the development of native applications using the iOS SDK, Android SDK / NDK and Windows Phone 7 SDK, cross-platform development using tools such as Titanium Mobile and PhoneGap, techniques for building websites accessible from mobile devices, and web applications on HTML 5, CSS, JavaScript.
It has a platform for online training of developers and designers (for a fee).

Udemy offers courses (some free, some paid) on a wide variety of topics. Instructors include Mark Zuckerberg and Marissa Mayer.

Code School offers courses on web technologies with video lessons, assignments to program the solution of a problem and screencasts. Most courses are paid, there are a few free.

Bloc promises to make you "a web developer in 12 weeks." For a solid reward, Bloc will appoint a mentor who will train you for the allotted time. (Cost - $ 5000 for 12 weeks).

Treehouse has over 600 video tutorials (for web design, web development and iOS development) that can be viewed for a monthly fee. There are also premium subscriptions that offer more features.
Programr has a different approach to learning to program, the essence of which is reduced directly to programming. All attention is paid to the improvement of practical skills. At each step, you need to solve the tasks, develop applications, take part in competitions.

Processing is an open source programming language and development environment designed to teach (people who have never programmed) basic programming skills using visual feedback.
The language is based on Java, but uses a simplified syntax and graphical programming model.
Used for programming graphics. Very quickly turned into a tool for creating professional works.
Here you can watch videos of works that were created using Processing.

Pluralsight has a rich library of online courses for .NET developers. There are also courses for many other languages ​​and technologies (about 360 courses in total). Access is provided for a paid monthly subscription. There is a free trial for 10 days (although up to 200 minutes of video and with other restrictions).

LearnStret is a resource for learning Javascript, Python, Ruby. Courses are interactive - the study takes place in the form of writing code and immediately get the result. There are theory, exercises, tips and videos.
Original source . This is not a translation. The descriptions, for the most part, are modified, replaced or supplemented. Other resources are added.