Getting Started

Friendly entry points for learning computer science and programming.

Back to Resources

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

Back to top