Getting Started
Friendly entry points for learning computer science and programming.
First courses
CS50x: Introduction to Computer Science
Harvard’s broad introduction to problem solving, algorithms, data structures, and programming. It assumes no previous computer science experience, but it is substantial rather than superficial.
Course Free Beginner
Codecademy
Short, interactive lessons across many programming languages. Useful when you want to begin by writing code immediately.
Platform Freemium Beginner
DataCamp
Interactive courses focused on Python, R, SQL, data science, and machine learning.
Platform Freemium Beginner
Language-specific learning
The Python Tutorial
The official tour of Python’s syntax and core features. It is best for someone who understands basic programming and is new to Python—not as a first-ever programming course.
Tutorial Free Intermediate
Hacking with Swift
Project-based tutorials for learning Swift, SwiftUI, and Apple-platform development.
Tutorials Free and paid Beginner–advanced
Practice
LeetCode
Programming challenges focused on algorithms and data structures. Most useful after learning the fundamentals, especially for technical-interview practice.
Practice Freemium Intermediate–advanced