For about the first 8 months of my time coding I was teaching myself from online resources. While I did pay for a few things (a few months of Team Treehouse membership and a handful of Udemy courses), most of the resources I used were completely free. Below is a list of most of the things I’ve used to get me feeling confident with the basics of several programming languages and concepts.
And for everything on the list below, if you’re stuck on something, always check the documentation! Reading documentation is a skill (one that I’m definitely still working on!) and is always a good idea to practice, and will more often than not teach you something in addition to what you were specifically looking to find.
Code school has some great tutorial videos and challenges, though for most topics you will get one or maybe two free courses and everything more advanced you have to pay for. Could be worth it, personally I’ve recently joined their monthly subscription and am planning on binging through some of their Ruby, Rails and Git content and then unsubscribing, but am glad to know it will always be there to go back to.
If you are happy to pay a small subscription also definitely checkout Team Treehouse, who offer a free 7 day trial. They have an immense library of content and great quizzes and small coding challenges. Also a great community. Their Ruby and Rails tracks (they use the term tracks about everything, not just a Rails pun) really worked for me!
Once you have the basics of any language under your belt, Code Wars is a great place to go to practice your new skills! Again, it has a huge range of languages and challenges and is lots of fun.
Some great tutorials and examples on the basics of HTML and CSS. Non interactive but great for referencing back to for how to do tables, links or other basics of HTML
A very specific link but great fun and super helpful for learning flex-box .
Great set of challenges to get you working on getting JS drilled into your head – you should be able to do the basics quickly without looking up methods, and this does exactly that, and gets you well practiced at problem solving – for example writing a function to multiply numbers. Without using multiply. And taking into account negatives. Oh joy!
Exactly as the name suggests, this is a great place to get started with Ruby and to see how wonderfully simple and readable the syntax is. It is quite brief, and goes into some strange areas for beginners (such as reading and writing to files, which isn’t normally one of the first things you would learn in a language), but is fun and straightforward and lets you play around a little with what you’ve learnt as you go.
A great resource that clearly explains a lot of Ruby concepts – several levels to work through, and a good mix of examples (which you can run in the browser to actually see the output) and code challenges to complete. Nice hints to support you when you get stuck, and solutions if needed.
This is a great introduction to Rails, stepping you through how to build your first Rails app, and then providing lots of other materials to further develop your app or to learn more about Ruby. I can’t recommend enough however – if there is any RailsGirl event near you, try to go to this rather than doing it yourself online. If you’re in Australia (near Brisbane, Sydney, Melbourne or Adelaide) Reinteractive hosts Rails install-fests quite regularly which cover similar material. It definitely helps to have other people around to help or support you, or just help you see other people being challenged by the same things you are! If you can’t make it to a physical event, however, then this is a great alternative. Warning: you will not understand Rails after finishing this, but you will know *how* to set up a basic app. To start understanding the magic see the next resource…
A fantastic guide to how Rails works, rather than just how to set up an app. I’ve only made it through the first few chapters but so far it’s clear, concise and very informative. Hard to fault such a thorough resource that is made free online, though of course you can choose to purchase a hard copy or the ebook.
Django is to Python what Rails is to Ruby – this walks you through a fairly similar tutorial to the Rails Girls one above, and you come out of it with a cool blog that you built from scratch. Similar to Rails Girls though, you won’t understand a heap of what you accomplish without a lot more work!
It’s pretty! It has lots of colours! While frustrating at times this very visually clear tutorial works through a whole range of the aspects you’ll need to know when working with Git for version control.
Full text book available online that explains Git concepts really thoroughly
A great online editor that runs a heap of different languages, perfect for playing around with code and running it when you don’t want to go to the effort of writing/saving a file and running through the command line.
An offline text-editor which is great for starting to code. Once you save your file with the appropriate file extension (ie. .rb for ruby or .py for python) it will automatically colour-code and help with indentations etc.