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
Online courses
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.
edX
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.
Coursera
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
Textbooks
Head First Labs has a large catalogue of really good books which cover a wide range of topics from a variety experts. The style of the books is quite relaxed, which makes them more fun to read. I have completed Head First Java, Head First Design Patterns and Head First JavaScript. All three books were at a really high standard.
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.
Khan Academy
Online courses
Khan Academy is amazing. They have introductory courses in HTML, CSS, JavaScript and SQL as well as in-depth courses in mathematics.
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!)
OSS University
Online courses
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.
CodeNewbie
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
Online Tutorials
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
Online Tutorials
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.
Traversy Media
Online Tutorials
Traversy Media offers free and paid tutorials in web development. I discovered them on YouTube when I was researching which JavaScript framework to learn and came across their video on the Top 5 JavaScript Frameworks 2017.