Top Free Learning Resources for Computer Science (2025)

Computer Science is one of the most in-demand fields today, opening doors to careers in software development, artificial intelligence, cybersecurity, and more. Whether you’re a student, career switcher, or just curious, there are countless free learning resources for computer science that can help you build foundational to advanced skills—without spending a dime.

Programme NameSource
CC Programming Tutorial
Introduction to Computer Science
The Arduino Platform and C Programming
C++C++ Tutorial
Google’s C++ Course
Introduction to C++ (MIT’s opencourseware)
LearnCpp.com C++ Tutorial
Microsoft edX Courses:Advanced C++
Intermediate C++
Introduction to C++
Algorithms & Data StructuresBerkeley University CS 61B: Data Structures
IIT Bombay Foundation of Data Structures (CS213.1x)
MIT’s Design and Analysis of Algorithms (Spring 2012) – Dana Moshkovitz, Bruce Tidor
MIT’s Design and Analysis of Algorithms (Spring 2015) – Erik Demaine, Srini Devadas, Nancy Lynch
MIT’s Introduction to Algorithms (SMA 5503) (Fall 2005) – Charles Leiserson, Erik Demaine
Princeton University Algorithms, Part 1
Princeton University Algorithms, Part 2
Stanford University Algorithms: Design and Analysis, Part 1
Stanford University Algorithms: Design and Analysis, Part 2
AssemblyIntroduction To Reverse Engineering Software
Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration
AndroidAndroid Developer Fundamentals (Version 2) — Codelab
Android Developer Fundamentals (Version 2) — Concepts
Learn how to program: Android – Epicodus Inc.
Material design
Programming Cloud Services for Android Handheld Systems
Programming Mobile Applications for Android Handheld Systems pt. 1
Programming Mobile Applications for Android Handheld Systems pt. 2
Programming Mobile Services for Android Handheld Systems: Communication
Programming Mobile Services for Android Handheld Systems: Concurrency
Udacity Android Basics: Data Storage
Udacity Android Basics: Multiscreen Apps
Udacity Android Basics: Networking
Udacity Android Basics: User Input
Udacity Android Basics: User Interface
AngularAngular Fast Crash Course – Edwin Diaz, Coding Faculty Solutions (Udemy)
Data ScienceAdvanced Data Mining with Weka MOOC
Data Mining with Weka MOOC
Introduction to Python for Data Science
More Data Mining with Weka MOOC
The Analytics Edge
DatabasesDatabase Systems (MIT’s opencourseware)
Introduction to Databases (Stanford University)
Deep LearningConvolutional Neural Networks for Visual Recognition
Deep Learning for Natural Language Processing
MIT 6.S094: Deep Learning for Self-Driving Cars
Practical Deep Learning For Coders taught – Jeremy Howard
Practical Deep Learning for Coders, v3 (using fastai library)
Self-Paced Courses for Deep Learning
Unsupervised Feature Learning and Deep Learning
What is Deep Learning (Udacity)
HTML / CSSBento CSS Learning Track (Bento)
Bento HTML Learning Track (Bento)
Build a Personal Website with Dash
Build a responsive website with Webflow
Build a SaaS landing page using Skeleton
Build Dynamic Websites
Code Your First Game: Arcade Classic in JavaScript on Canvas – Chris DeLeon (Udemy)
CSS Flexbox – Mastering the Basics – Vishwas Gopinath (Udemy)
CSS Tutorial
Flexbox in 30 Days – Samantha Ming
HTML Tutorial
Learn how to program: CSS – Epicodus Inc.
Learn HTML5 Programming From Scratc
iOSAppCoda Complete iOS Tutorial
Developing iOS 11 Apps with Swift
Ray Wenderlich iOS Tutorial
JavaCentral Connecticut State University, Introduction to CS Using Java
Introduction to Java
Java for Complete Beginners
Java for Mobile Devices – Introducing Codename One
Learn how to program: Java – Epicodus Inc.
Object-Oriented programming with Java, part I
Object-Oriented programming with Java, part II
Princeton Algorithms, Part 1
Princeton Algorithms, Part 2
Problem Solving With Java (Udacity)
Spring 5 Core – An Ultimate Guide – Somnath Musib (Udemy)
JavaScriptBento JavaScript Learning Track (Bento)
Egghead.io
Intro to JavaScript ES6 programming
Javascript Essentials – Lawrence Turton (Udemy)
Learn how to program: JavaScript – Epicodus Inc.
Angular.jsAngular.js Youtube Channel
CodeCademy Angular
egghead.io youtube channel: Learn AngularJS with Tutorial Videos & Training
Shaping up with Angular.js
jQueryBento jQuery Track (Bento)
ReactStart Using React to Build Web Applications
The Road to learn React.js The Bare Essentials Packaage
LinuxUbuntu Web Development Setup – Ciprian Munteanu (Udemy)
Machine LearningGoogle’s Machine Learning Crash Course
Intro to Machine Learning Udacity (Udacity)
Machine Learning Mini Bootcamp
Pattern Recognition and Machine Learning
Principles of Machine Learning By Microsoft
PyTorch tutorials by PyTorch.org
Stanford University Machine Learning
MATLABMIT 18.S997 Introduction to MATLAB Programming
MiscAdvanced Data Structures
Algorithm Design and Implementation
Aml-2018 Ambient Intelligence (F. Corno – L. De Russis – A. Monge Roffarello)
Berkeley’s CS 61B: Data Structures
Berkeley’s CS 162: Operating Systems and Systems Programming
Berkeley’s CS 169: Software Engineering
Berkeley’s CS 194: What is an Operating System?
Bits: The Computer Science of Digital Information
Caltech’s Learning From data
Computer Graphics
Elements of AI
Embedded Software Safety (P. Koopman)
FindLectures.com – Index of conference talks by language / topic
LouvainX Paradigms of Computer Programming – Abstraction and Concurrency
LouvainX Paradigms of Computer Programming – Fundamentals
MIT 6.S099: Artificial General Intelligence
MIT Numerical Methods (2014)
MIT’s Artificial Intelligence
MIT’s Computer Language Engineering
MIT’s Introduction to Algorithms
MIT’s Mathematics for Computer Science
Principles of Reactive Programming
Robotics I – (A. De Luca)
Stanford Cryptography I
Stanford Cryptography II
Stanford SEE 229 – Machine Learning
.NETLearn how to program: .NET – Epicodus Inc.
PHPLaravel 5.8 Tutorial From Scratch – Coder’s Tape (2019)
Learn how to program: PHP – Epicodus Inc.
PHP & MySQL Tutorial – The Bad Tutorials (2015)
PHP Programming Language Tutorial – Full Course – freeCodeCamp.org (2018)
PythonAn Introduction to Interactive Programming in Python (Part 1) (Coursera)
An Introduction to Interactive Programming in Python (Part 2) (Coursera)
Bento Python Learning Track (Bento)
Berkeley’s Structure and Interpretation of Computer Programs
Codesdope
Google’s Python Course
Introduction to Computer Science and Programming (MIT’s opencourseware)
Introduction to Python(Microsoft Docs)
Introduction to Python Programming (Udacity)
Learn Python
Learn Python – Free Interactive Python Tutorial
Learn Python From Scratch – MD. Hasanur Rahaman Hasib (Udemy)
Learn to program in Python
Learn to Program: The Fundamentals (Coursera)
Learn to Program Using Python (edX)
Programming for Everybody
Programming Foundations with Python (Udacity)
Python Course
Python Programming Tutorial
Software EngineeringAdvanced Software Construction in Java
Agile Development Using Ruby on Rails – Advanced
Agile Development Using Ruby on Rails – Basics
Software Construction in Java
SQLSQL Tutorial
Web DevelopmentDiscover Flask – Full Stack Web Development with Flask
Flask(A Python Microframework) Tutorial
Free Code Camp
Python Web Scraping & Crawling using Scrapy
The Odin Project – Learn Web Development for Free
Web Information Retrieval – L. Becchetti, A. Vitaletti (University of Sapienza Rome)

Join our WhatsApp group now for instant updates on fresh deals daily.

Leave a Comment

Do not Lost any Chance

Join Our Whatsapp Group