Learning to program or code is incredibly easy today. There are tons of resources from thousands of websites. Whether you want to learn a specific programming skill set or learn an entire stack that will help you create applications or websites, there are options for everything. All you need is the willingness to ask questions and be persistent with your goals. If you want to learn to code for free, here are some of the best resources.
Started by an MIT alumnus, Salman Khan, this website has lessons for everybody starting from school grade math, history and science. As it happens, it also has a brilliant introduction to computer science. All the videos provided there are free of cost as the Khan Academy runs on charity.
If you want to learn to make websites and web applications from scratch, you will not find a more complete resource than MDN. It has been created and developed by the amazing people who make the Firefox browser. You will find detailed tutorials about how to code in:
You can start learning with nothing but your own browser and the website for help. If you want some advanced tools to learn, download the Firefox Developer Edition which has additional coding tools.
This website has a tremendous number of programming articles, videos and tutorials. It takes you from the basic of coding to advanced application development. It is especially useful for beginning coders. All the information is created and made available by Google’s own engineers, so you get real insight about complex applications and see how they themselves code.
All coders can learn a lot by looking at the code written by other expert programmers. Google Code lets you search from a huge database of programs sorted by size, complexity and field. Pick any one and see how different pieces of code interact with each other to make one integrated application.
This is a community project and you can find books for a variety of topics that are written by experts in collaboration. You also find a lot of programming books from beginner to advanced levels. Pick an introductory programming book and you will see just how easy it is to get started coding.
If you are worried that free coding resources are not as good as those taught by universities, Coursera is your answer. This website has free courses for a number of subjects. They are designed and taught by university professors. They use the same curriculum that they use to teach in their respective universities.
There are hundreds of coding courses for various levels of expertise. The course format very closely resembles that used in the best universities in the world, including regular tests, grading by TAs, assignments and exams.
This is yet another coding resource, where you can learn everything about programming. Start with the first “Introduction to computer science” course and work your way up to professional level courses. If you complete all the courses, you can easily become a professional programmer and you get all that knowledge for free.
If you want to see what the students who get into institutions like Caltech, MIT and Harvard learn, you want to check out EdX. This website has a number of courses taught by professors from the most respected universities in the world. There are some amazing computer science courses available on EdX that will make you a true expert without enough dedication.
As you can see, you do not need to pay multiple of $100,000 in order to learn programming. You can start small and take your coding skills as far as you want. You can then demonstrate the skills and knowledge you have learned by starting your own business or working as a professional coder for other companies. This is exactly what thousands of people have been able to do over the last 10 years.
The best thing about the websites mentioned here for learning to program is that the curriculum and content is of the highest quality. You will not necessarily get better quality learning resources from paid institutions and companies. Many people have turned from novices to expert programmers with impressive salaries learning just from the free resources on the internet.