Hows and whys?
- The Physics behind Engineering - Videos published by Lesics to clear misconceptions, create a passion for engineering and explain complicated technologies in a simple way.
Computer Science
Programming For Kids
- Scratch - High-level block based visual programming language by MIT to teach the fundamentals of programming to children.
- PixelPad - Online game engine for learning how to build online games and applications in python.
- Swift Playgrounds - Apple's iPad/mac app for learning Swift in a fun, interactive way.
- Construct 3 - A free-to-use online game studio for beginners to build their own games.
- Code.org - Free interactive cs courses and hour long tutorials for students across all grade levels (K-12+).
- Isaac Computer Science - Online platform for exploring computer science for students across all grade levels (K-12+).
Computer Science Opportunities For Students
- Apple WWDC Scholarships - International challenge where students showcase their passion for coding by creating a Swift Playgrounds app project on the topic of their choice. Winners receive exclusive Apple merch, one year of membership in the Apple Developer Program, and a free ticket to Apple's Worldwide Developer Conference (WWDC).
- Congressional App Challenge - A district-wide coding challenge for middle school and high school students in the US hosted by Members of the U.S. House of Representatives.
- USACO Guide - A free comprehensive, organized roadmap for the United States of American Computing Olympiad (USACO) preparation by top USACO contestants.
Getting Started With Computer Science
- Which computing pathway is right for me? - Using a question-and-answer format, this article introduces readers to seven disciplines within computer science.
- Harvard CS50: Introduction to Computer Science - Computer Science courses and programs from Harvard on edX.
- 2019 CS50 Lectures - Lectures from Harvard's 2019 CS50 course.
- Introduction to Software Engineering - Lectures by Prof. N.L. Sarda and Prof. Umesh from the Department of Computer Science & Engineering, IIT Bombay.
- Fundamental Principals of Computer Science - Explores foundational concepts in computer science that are used in industrial-level computing environments.
- Introduction to Algorithms and Software routines - An overview of algorithms and why we should care about them.
- mdn web docs HTTP - A guide on the basics, history, and features of HTTP.
AP or College Computer Science Principles
- Runestone AP CSP - High quality interactive lessons and practice problems covering the curriculum of AP Computer Science Principles.
- Edx CS50's AP CSP - Introductory cs course targeted towards AP Computer Science Principles. Covers topics in course and guides students in creating their final project required for the AP exam.
- CodeHS AP CSP Exam Review - Includes a reference sheet and hundreds of AP style exam questions to help students prepare for the AP Computer Science Principles exam.
- Khan Academy AP CSP - Articles, videos, and practice problems on AP Computer Science Principles by Khan Academy.
AP or College Computer Science A (Object Oriented Programming in Java)
- Runestone AP CSAwesome - A college board endorsed curriculum for AP CSA by Barbara Ericson, University of Michigan, and Beryl Hoffman, Elms College.
- Intro To CS Using Java - An introductory course in Java covering topics in AP CSA by Bradley Kjell.
- Long Nguyen AP CSA - Lecture notes and coding challenges for topics in AP CSA by Long Nguyen.
- CodingBat Java - Coding problems in Java for topics in AP CSA. Problems are validated by test cases on the website.
Computer Science Major
- OSSU CS - Path to a free self-taught education in Computer Science by Open Source Society University. Courses are from top universities such as Harvard, Princeton, Mit, etc, and match the curricular standards of CS 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Current CS students can look through this list for resources for a specific upper and lower division computer science class.
Source Control
- Git Immersion - A guided tour of the fundamentals of git through short, hands-on labs.
- GitHub Docs - An introduction to GitHub essentials like branches, commits, repositories, and pull requests.
- Version Control with Git, 2nd Edition - Complete reference on Git. Covers almost anything you want to know about using Git.
iOS Development
- Stanford CS193P - Stanford University's course on developing applications for iOS using SwiftUI taught by Professor Paul Hegarty. Students are recommended to have experienec in object-oriented programming prior to taking the course.
- Apple Developer SwiftUI Tutorials - Hands-on tutorials by Apple teaching the fundamentals of SwiftUI.
Web Development
- Eloquent Javascript - Interactive online book on Javascript taking you through the basics of the language, its incorporation into the browser, and backend programming with Node.js by Marijn Haverbeke.
Language Guides
- Programming: Principles and Practice Using C++, 2nd Edition - An introduction to the fundamentals concepts and techniques in programming through C++ by the creator of C++.
- Head First C - A complete learning experience for C and structured imperative programming.
- 21st Century C, 2nd Edition - Discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted.
Deep Learning
- Neural Networks: Zero to Hero - Beginner friendly, hands-on approach to neural networks by Andrej Karpathy (ex OpenAI, Tesla, ...).
- Understanding Deep Learning - Free modern deep learning textbook (updated till late 2025). Used in top uni DL classes (UC Berkeley CS182). More math prereq heavy though.
- Foundations of Deep RL - Pieter Abbeel - Free comprehensive overview of deep reinforcement learning by Pieter Abbeel (Prof. UC Berkeley). Heavyish on math (requires being comfortable with basic DL and probability concepts). Great intro for LLM RL as well.
- RLHF Book - Solid introduction to RLHF and post-training for language models by Nathan Lambert (post-training lead at Ai2). Requires DL basics and basic optimization / lin alg / prob.
ML Infra / Scaling / Accelerator Programming
- The Ultra-Scale Playbook - Scaling guide for training massive LLMS on GPU clusters by HuggingFace.
- How to Scale Your Model - Demystification of the science of scaling language models with a focus on Jax / TPUs though a GPU section is included. By the Google Deepmind team.
- Programming Massively Parallel Processors: A Hands-on Approach - Comprehensive walk through on fundamentals of writing and optimizing kernels on accelerators. Cuda focused.
- Inside vLLM: Anatomy of a High-Throughput LLM Inference System - Walk through of the anatomy of vLLM. Walks through the basics like paged attention and advanced inference features like speculative decoding, prefix caching, ...