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.
Programming Universal Resources
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 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 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 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 offers just a lot of educational materials, including programming. There are courses for younger children, you can study with the whole family.
Udacity – This platform has hundreds of different courses, including programming. There are both free (minority) and paid courses (majority).
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 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 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 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+ – A huge number of free tutorials on web development, programming, and related areas, there are also paid courses.
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 – 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 – Free online courses (mostly) on Microsoft tools and technologies. Available: videos, presentations, e-books, community forum.
Programming YouTube channels
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 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 this English-language channel is aimed at beginners who want to learn programming. Step-by-step learning playlists cover different programming languages.
CSS & HTML
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.
Mobile Application Development (Android, iOS)
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 – Free online programming courses for beginners and experienced Android developers.
Get started developing apps for iOS (Swift) – part of the Apple documentation archive. The perfect start for writing iOS apps.
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.
A Byte of Python is a free online book for beginners who want to learn how to program in Python.
LearnPython.org is a free tutorial with a built-in editor where you can not only learn Python, but also practice coding.
Dataquest – courses on Data Science and related technologies and programming languages (Python, SQL, R).
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.
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 – created by programmer and machine learning practitioner Jason Brownlee. Free detailed lessons with a choice of difficulty levels.
Rails Tutorial is a 12-chapter online book written by Michael Hartle that provides a Ruby on Rails tutorial.
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 – great for beginners learning Ruby. There are text manuals and articles on the topic of Ruby.
Git and GitHub
GitHowTo is a great interactive tutorial that will introduce you to the basics of Git.
Git Immersion is an English equivalent of a “tour” on the basics of Git.
Try Git is a series of interactive challenges for learning and experimenting with Git.
Command line in Unix/Linux
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 is a free online book by Mark Bates that covers the Unix/Linux command line in great detail.
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).
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 is a huge number of UX e-books and guides covering the mobile and web industries, models, layouts, usability testing, and more.
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”.
Edabit – offers you hundreds of practical tasks of various levels of difficulty in many programming languages that you can solve.
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 – This resource is free and offers many tasks for the most popular programming languages. There are levels of difficulty.
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 – 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 – 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.