In this article, I would like to share some resources that I have used to teach myself how to code. These are resources that cover more than one topic and I keep coming back to them because they are so good.
Even if you have no experience whatsoever you can get started with (almost) any of the resources covered in this article. However, I highly recommend learning the fundamentals first from Introduction to Computer Science at Harvard, which is where I started. I discuss this course in more detail in Learning material – software development, where I share the learning path I took.
Udacity is awesome. Their course catalogue includes intro to programming, Android, iOS, web development, artificial intelligence and more. The first course I completed at Udacity was Android Development for Beginners and I really enjoyed it. I have also completed some of their more advanced Android and iOS courses, which were at a really high standard.
Online courses from universities
edX’s mission is ‘quality education for everyone, everywhere’ and offers free courses from leading universities such as Harvard and MIT. They have a wide range topics available in their list of computer science courses. This is where I discovered Introduction to Computer Science at Harvard and where my interest in taking online courses started.
Online courses from universities
Coursera is similar to edX in that they offer courses from universities. Founded by two computer scientists from Stanford there are many courses on offer to help you learn to code and cover a wide range of topics. Coursera’s catalogue includes Learning How to Learn which at the time of writing is number 1 on the list of the 50 most popular MOOCS of all time.
Head First Labs
Free Code Camp
Tutorials and projects
Free Code Camp has a really supportive community and is constantly growing. Here you can learn about front and backend web development and they appear to have plans to expand their content in the near future. I started using Free Code Camp in mid 2017 and have completed some of their projects, which I found to be very helpful.
In late 2015 I was thinking of starting a degree in computer science (which I later decided was not necessary). In order to prepare for it, I took Differential Calculus and Integral Calculus. Both courses were awesome. I have also completed Intro to SQL. This helped me gain enough understanding of databases and SQL syntax for my first project, which was a web application for the public sector (and had lots of data!)
If you are looking for a free education in computer science, the OSS University has a curriculum that will probably suit your needs. It is constantly being updated and improved upon and already has a huge following.
Community and Podcast
According to their website, CodeNewbie is “the most supportive community of programmers and people learning to code.” I would recommend listening to their podcast and signing up for their newsletter as there is a lot of content for beginners.
New Think Tank
New Think Tank is hosted by Derek Banas and offers his expertise on many topics. I first discovered him when I took his design patterns tutorial, which really helped me consolidate my knowledge on that topic.
thenewboston is similar to New Think Tank in that there is a wide range of topics to learn from another smart host, Bucky Roberts. I first discovered the website when I took his node.js for beginners tutorial.