House of Math blog post authorNina Maria Hegland · 

Free Online Learning Resources - Programming

Man coding on his computer

Programming has become more and more popular in recent years, and is often described as a safe educational direction. Because of this, there is an incredible number of learning resources online for those who want to learn to program - maybe too many! Therefore, in this post we have gathered together a number of free resources (and some paid) that are of high quality.

Free learning resources

If you don’t want to spend money on learning to code, or you want to test it out before you invest time and money in it, the resources recommended in this article are perfect!

Github:

We can start with the largest free learning resource, namely Github. Github is a platform where programmers can save the code they have written, share it with others if they want and work with the same code, etc. It has a lot of functionalities, but what we are going to look at here is a specific collection of free resources to learn to code. This collection can be found here.

In this collection you will find information about  programming languages ​​used in both frontend and backend development. A super simple explanation of the difference between the two is that frontend is what you see on the screen (colors, placement of text and words, which fonts have been used, etc.), while backend is everything that happens behind (communication with servers, analytics, etc.).

It can be difficult to know which language belongs where, especially when the collection has everything and I mean everything. So a simple rule of thumb is that all versions of CSS, HTML and JavaScript are used for frontend. Something can be used for backend, but the focus is primarily on design.

If you want to learn how to use Github and Git, you can do so here.

Here at House of Math we know very well that everyone learns differently! The resources shown above are courses, some are pure video courses and others are interactive. But there are also some who prefer to read when learning. For them, there are also free books, both if you want to learn specific languages ​​or if you want to focus on the subject.

StackOverflow:

StackOverflow is more forum-based than Github. Here people ask questions and experienced programmers can answer. Usually, many people have wondered the same thing as you, so here you can get answers to more specific things in every aspect of programming. We also have tutors who can program! They can help you directly via video and chat if you have any questions and need a proper review.

Web.dev:

A good start might be to start with website development before moving on to the slightly more advanced languages. Web.dev is a very good and free resource! They have an interactive course that shows you all the different aspects of developing good websites.

LinkedIn:

LinkedIn Learning has many resources that are always free and some that are free during the trial period of one month. The one course that I want to present here, which is always free, has to do with online security. It is a course that refers to important security measures to implement as a developer, not just the online security that your parents have explained to you. This is about what a hacker is, how to increase security on, among other things, your websites and what is wise to keep in mind when programming.

They also have a course that you may really want to look at, and it goes on all the fundamentals of programming. In this mini-course, they explain HOW to download free resources and programs to be able to write code! They also explain the fundamental principles that come up again and again in different programming languages, so this mini-course is very recommended to take a look at.

OpenSap:

OpenSap has a selection of courses in programming and when you complete you will receive a certification that you can add to LinkedIn. They have courses in object-oriented programming in Java, how to write testable code, Python for beginners and a separate intro course for teenagers without prior knowledge! Best of all: it's completely free!

DataCamp:

DataCamp allows you to create a free profile and you can choose whether you want to focus on Python, R or SQL. Here you get to learn the basics for free, and then you can choose whether you want to pay for further courses. It may be okay to start with the one that is free so you can see if this is the course that works for you or not.

The Odin Project:

The Odin Project has a longer course where they offer the basics and then specializations. The specializations you can choose from are two different Full-Stack directions, one with Ruby in focus and one with JavaScript. Both directions are set up so that when you complete you should have the skills you need to develop websites.

FreeCodeCamp:

FreeCodeCamp has over 8,000 tutorials and you can get certifications that you can add to your CV as a certificate of competence. They offer tutorials in everything from Front-End to Back-End, Data Visualization, Machine learning and information security. This is a very good resource for you who are unsure of what you would like to learn more about, and you can gain more insight into several different categories.

The logic behind programming:

Programming can be difficult if you do not understand the logic behind the languages. When you learn this logic and can understand the problems you are trying to solve, it also becomes easier to solve them. To understand this, there are both articles and videos that can help!

Additional free resources:

Elements of AI:

A very good free course is Elements of AI. It is open to everyone, and you can choose whether you want to take it in English, Norwegian or a completely different language! You do not learn to code artificial intelligence, but you learn all the basics and it can be a good starting point if you want to find out if this is what you want to specialize in at a later date.

Free-for.dev:

This website is an extra resource for you who may have gotten a little into the world of programming, and who may have found someone to learn with. Because, in addition to being able to program, you should also try to use the same software that the professionals use. Free-for.dev is a digital collection of resources that can be used when programming. Also keep in mind that VSCode is free to download and is what most programmers use when writing code.