There are plenty of places to go on the Internet to learn, practice, share and discover more about code, and quite often we get people attending who are working their way through resources they've found elsewhere on the web. The following are just a few of the ones we see people on, along with some we recommend you try.
Code Academy gives you specific problems to solve and, as you solve each one, the difficulty level increases. You can learn about building websites, developing programs (in languages like Python) and get an introduction to Data Analysis.
Code Combat Easy
Code Combat was designed for use in schools but is a great place to start if you're looking to jump straight in. There are about 10 lessons where you get used to the basics but before long you're designing and implementing the AI for a game character.
CSS Diner Easy
This is a simple game that introduces you to different CSS selectors in an interactive and fun way, currently it has 30 stages which cover most of the main and recent CSS selectors you should be aware of as a beginner.
CSS Tricks Easy
CSS Tricks is an excellent website with a large amount of information on CSS, including code snippets, guides, and even job postings!
FreeCodeCamp is a popular online learning tool for beginners to get to grips with new langauges and concepts. It offers training in different aspects of software and has challenges of varying difficulty.
git - the simple guide Medium
Just a simple guide for getting started with git, no deep or confusing stuff. Good as an introduction to the terminology before starting to read other guides which go into more detail.
Udemy is an online platform offering video tutorial courses led by real-world professionals. There is a wide range of courses, some free, some paid, covering all sorts of things (not just development).
Alexander Kallaway spent a year and a half learning to code and had many ups and downs along the way. He felt his experience would be useful to people and so set up #100DaysOfCode, challenging people to code for an hour a day. The challenge now has a small army of committed subscribers who share their projects, experiences and progress daily.
Advent of Code Easy
In 2015 Eric Wastl, presumably unsatisfied with the singular chocolate found behind each door of his Advent calendar, decided to create a series of small programming puzzles instead. Previous years' challenges are available from 2015, 2016 and 2017. The puzzles can be solved in any language and use a variety of skills. Just bear in mind that they start out easy but very quickly become fiendishly hard.
Interested in what life was like when computers were programmed using 4-letter code words and hexadecimal numbers? Well, wonder no more. Box-256 is a computer game that challenges you to draw shapes using the kind of limited instruction set last seen in the 1960s. Challenging and interesting, even for the most prolific coder.
Code Wars Medium
The principle behind Code Wars is that you achieve mastery through challenge, and you can improve your skills by training with others. The exercises are real code challenges and can be done in any of 20 different languages. Users are encouraged to share and discuss their answers, meaning there's always someone to ask and always some way to learn.
A site where you can practice coding in almost any language you can think of. It has a beautiful interface, solo and user-versus-user challenges, competitions, badges, a rating system and lots more besides. Challenges range in difficulty from relatively simple to PhD-level, so there's something for everyone.
Edabit simulates what programming is like in the real world while removing the tedious, non-educational aspects and adding simple game mechanics. Earn experience points for every challenge you complete, unlock achievements and compete against other users for top spot on the leader board.
Google Colab Medium
Google Colab uses your Google Drive account to drive a Jupyter instance, allowing you to use Jupyter on a lightning-fast environment without all the setup involved in creating your own local instance.
Jupyter is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
Jupyter allows you to write and test your code into the browser without the need to install any software on your PC. It supports several languages including Python, Julia, R, C++, Ruby.
Similar to Advent of Code, this is a resource that presents you with various programming puzzles that can be completed in any programming language. Three challenges are put up every week which increase in difficulty, starting with an easy puzzle Monday, intermediate puzzle Wednesday and a hard puzzle on a Friday.