If you are new to the world of programming and IT, then free programming resources are the best option to get you started. Using them, you can figure out what you like and are closest to, and what you donโt, before you thoroughly move on to learning any programming language or taking courses. After going through a few free programming tutorials, you can find your direction and continue learning more efficiently.
Table of Contents
Programming Universal Resources
Codecademy
Codecademy is one of the most popular platforms where most beginners start their way into the world of programming. The platform has dozens of different courses, ranging from HTML & CSS to cybersecurity, and also offers interactive training: you write code and see the result of its execution in the next window. Courses can be taken both for free (with restrictions) and for a fee (without restrictions and with a set of additional features).
Coursera
Coursera is one of the best platforms to learn how to code for free. There are both general/universal and highly specialized courses. The site is a large online library where classes are taught by teachers from the best universities in the world. All courses are free, but you can additionally pay for a “Coursera Verified” certificate to confirm the successful completion of selected courses. In some cases, by paying for a certificate, you get access to content that was not available in the free version.
FreeCodeCamp
FreeCodeCamp is a free online school that first teaches programming in a standard curriculum, and then offers practice on non-commercial real projects. Perfect for those who want to get practice in programming, adding the experience gained to their resume.
edX
edX is a programming learning resource curated by the Massachusetts Institute of Technology (MIT) and Harvard University. 100+ great courses in the category “Computer science”, teaching different programming languages.
Khan Academy
Khan Academy offers just a lot of educational materials, including programming. There are courses for younger children, you can study with the whole family.
Udacity
Udacity – This platform has hundreds of different courses, including programming. There are both free (minority) and paid courses (majority).
SoloLearn
SoloLearn has the popular smartphone app of the same name so you can be in the process of learning anywhere and on any device. With interactive quizzes and achievements to unlock, learning won’t be boring. The application is absolutely free to download.
Udemy
Udemy is the largest selection of both paid and free courses on any topic. You should pay attention to the fact that any user can create courses on the platform, so you should carefully read the reviews before choosing them.
Hackr.io
Hackr.io is not so much a platform as it is a huge list of resources for learning about any topic related to programming. It is enough to choose the desired programming language and get a list of online courses, tutorials, and books recommended by other programmers for studying the direction you have chosen.
TutorialsPoint
TutorialsPoint is a library of free tutorials on a variety of topics related not only to programming, but also to computers in general: Big Data, databases, web and mobile development, Computer Science, and even machine learning.
Tuts+
Tuts+ offers a huge number of free tutorials on web development, programming, and related areas, and there are also paid courses.
W3Schools
W3Schools is ideal for beginners. This is one of the largest web development sites in the world. They offer free tutorials and reference materials to learn almost every nuance and aspect of web development. You can test your skills with online quizzes and practice programming in their online editor.
Coderbyte
Coderbyte – Learn to code while you code! The platform teaches the basics of popular programming languages โโand allows you to develop new skills using their library of videos, assignments, and challenges.
Microsoft Virtual Academy
Microsoft Virtual Academy – Free online courses (mostly) on Microsoft tools and technologies. Available: videos, presentations, e-books, community forum.
Programming YouTube channels
LearnCode.academy
LearnCode.academy – Hosted by Will Stern in English web development videos. Just tons of free tutorials on JavaScript and other programming languages, as well as videos on the most popular tools used by developers.
Thenewboston
Thenewboston – Here you will find over 4,000 videos on a variety of topics in programming, from game development to design. One of the most popular English-speaking channels with over 2 million subscribers.
Derek Banas
Derek Banas a feature of this English-language channel is compressed information about programming languages โโin one video for each language separately + there are also familiar tutorials.
ProgrammingKnowledge
ProgrammingKnowledge this English-language channel is aimed at beginners who want to learn programming. Step-by-step learning playlists cover different programming languages.
CSS & HTML
CSS-Tricks
CSS-Tricks – A detailed breakdown of CSS in their large and fairly well-known CSS almanac. However, now the blog has gone beyond the usual CSS and talks about other technologies such as Sass, JavaScript, PHP, etc. Check out their snippets.
Learn to Code HTML & CSS
Learn to Code HTML & CSS – very detailed tutorials on creating beautiful and understandable websites. Various nuances and aspects of web development + jQuery + preprocessors are considered.
HTML Dog
HTML Dog – Tutorials for HTML, CSS, and JavaScript. There is a gradation by levels, as well as interactive examples.
Mozilla Developer Network
Mozilla Developer Network – Free HTML, CSS, and JavaScript documentation. There are tutorials for people with different levels of training: from beginner to advanced.
JavaScript
Learn JS
Learn JS is another interactive resource for learning JavaScript. There is a built-in code editor.
Eloquent JavaScript
Eloquent JavaScript is a very good detailed online JavaScript book. Financial backers include Mozilla and Hack Reactor.
JavaScript for cats
JavaScript for cats is a “one-page book” that is divided into sections… with cats. Created by programmer Max Ogden.
Mobile Application Development (Android, iOS)
Android Developers
Android Developers is the official website for Android app developers. Here you can learn how to make your first Android app with free tutorials and courses.
Google Developers Training
Google Developers Training – Free online programming courses for beginners and experienced Android developers.
Get started developing apps for iOS (Swift)
Get started developing apps for iOS (Swift) – part of the Apple documentation archive. The perfect start for writing iOS apps.
Swift Playgrounds
Swift Playgrounds is an iOS app that lets you learn Swift through interactive mini-puzzles. In addition, you can see how your code will work in the 3D world.
Python
A Byte of Python
A Byte of Python is a free online book for beginners who want to learn how to program in Python.
LearnPython.org
LearnPython.org is a free tutorial with a built-in editor where you can not only learn Python, but also practice coding.
Data Science
Dataquest
Dataquest – courses on Data Science and related technologies and programming languages โโ(Python, SQL, R).
Springboard
Springboard is an intensive introduction to data analysis. You will learn how to use and analyze data using Python, SQL, and the R programming language.
Machine learning
Google AI
Google AI – Learn Machine Learning from Google experts. They offer tutorials, courses, videos, and exercises on the topic of artificial intelligence. Perfect for both beginners and experienced professionals.
Machine Learning Mastery
Machine Learning Mastery – created by programmer and machine learning practitioner Jason Brownlee. Free detailed lessons with a choice of difficulty levels.
Ruby
Rails Tutorial
Rails Tutorial is a 12-chapter online book written by Michael Hartle that provides a Ruby on Rails tutorial.
RubyMonk
RubyMonk is a platform with interactive Ruby lessons. There is a built-in code editor and different difficulty levels for learning the material.
Ruby in 20 minutes
Ruby in 20 minutes – great for beginners learning Ruby. There are text manuals and articles on the topic of Ruby.
Git and GitHub
GitHowTo
GitHowTo is a great interactive tutorial that will introduce you to the basics of Git.
Git Immersion
Git Immersion is an English equivalent of a “tour” on the basics of Git.
Try Git
Try Git is a series of interactive challenges for learning and experimenting with Git.
Command line in Unix/Linux
Learn Enough
Learn Enough Command Line to Be Dangerous is a free command line tutorial for beginners. Unix/Linux command line basics, no prior technical experience required.
Conquering the Command Line
Conquering the Command Lineย is a free online book by Mark Bates that covers the Unix/Linux command line in great detail.
Cyber security
Cybrary
Cybrary – videos and educational materials on IT and cybersecurity. Topics covered include forensics, cryptography, and cyber threat analysis. There is a possibility of both free (basic) access and paid access (with additional features and content).
UI/UX design
The Encyclopedia of Human Computer Interaction
The Encyclopedia of Human Computer Interaction is an in-depth 52-chapter encyclopedia of UI/UX design. Covers everything you need to know about developing interactive products: websites, software, smartphones, and even household items.
UXPin
UXPin is a huge number of UX e-books and guides covering the mobile and web industries, models, layouts, usability testing, and more.
Behance
Behance is a popular social media platform for designers and illustrators around the world to showcase their work. Perfect for searching for references and pumping “observation”.
Practical tasks
Edabit
Edabit – offers you hundreds of practical tasks of various levels of difficulty in many programming languages โโโโthat you can solve.
LeetCode
LeetCode is one of the most popular resources for preparing for technical interviews. There are various kinds of tasks here, passing which you can upgrade your skills and better prepare for a future interview.
Exercism.io
Exercism.io – This resource is free and offers many tasks for the most popular programming languages. There are levels of difficulty.
CheckiO
CheckiO is a resource for beginners and experienced programmers where you can improve your programming skills by solving fun problems with Python or TypeScript. The site is distinguished by its gaming style, passing style, and nice graphics.
CodinGame
CodinGame – Learn new concepts by solving fun puzzles in 25+ languages โโcovering all current programming topics. A very exciting process that you can try even without registering.
Codewars
Codewars – offers a unique yet fun way to learn programming (in the style of martial arts). The curriculum is built around challenges called “kata”. By completing them, you earn points to advance to higher ranks.