Skip to main content
WebsitebeginnerFree

CS50 Harvard

Harvard University

The official course site for CS50x, Harvard's introduction to computer science, taught by David J. Malan. Eleven weeks of lectures, problem sets, and a final project covering C, memory, Python, SQL, and web development.

Visit resource

More resources on Programming Fundamentals

WebsiteFree

nand2tetris.org

Nand2Tetris.org offers a hands-on computer-architecture course that guides you from basic NAND gates to a working Hack computer and software stack. It provides project descriptions, HDL files, simulators, and tools (assembler, VM translator, compiler) plus links to the accompanying textbook.

WebsiteFree

LeetCode

Online judge with thousands of algorithm and data-structure problems sorted by difficulty, topic and company, plus timed contests, discussion threads and study plans. Regular practice builds fluency with common interview problem patterns and writing correct, efficient code under time pressure.

CourseFree

Structure and Interpretation of Computer Programs (MIT 6.001)

The original course behind SICP: procedural and data abstraction, higher-order procedures, recursion, state and mutation, object-oriented design and building interpreters in Scheme. 20 lecture videos, notes, programming projects and exams with solutions teach learners to analyze and construct computational systems.

VideoFree

12 Beginner Python Projects - Coding Course

A freeCodeCamp video course that walks through building twelve small Python programs from scratch, one after another. It gives beginners practice applying loops, functions, and standard libraries in complete programs rather than isolated exercises.

WebsiteFree

Teach Yourself Computer Science

Oz Nova and Myles Byrne's opinionated syllabus for self-taught engineers, naming one best book and video course for each of nine core subjects. Gives a defensible study order and rough hour budgets per topic.

CourseFree

CS61A: Structure and Interpretation of Computer Programs

Learn fundamental programming concepts with CS61A, an intro-level CS course from Pamela Fox et al. Explore structure & interpretation of programs!

See all Programming Fundamentals resources β†’