Stanford University · on Stanford Online

CS107: Programming Paradigms

4.8(4,500) on Stanford Online·680K enrolled
Intermediate 45 hours EnglishFREE
Our recommendation
Stanford's classic Programming Paradigms course, free through Stanford's open lectures. Taught by Julie Zelenski, it goes deep into C, C++, memory and how programs really work under the hood. It is older but timeless for understanding systems-level programming. There is no certificate.

Good for: Programmers who want to understand C, C++ and how programs work at a low level.

Less suitable if: You are new to programming, or you want modern web or app development.

Skills you'll gain

CC++Memory managementSystems programmingAssembly basicsComputer architecture

Is this course right for you?

A good fit if you…

You can already program
You want low-level understanding
You enjoy systems topics

Consider something else if you…

You are new to programming
You want modern web or app development
You need a certificate

Requirements: Some programming experience; intermediate.

Realistic time: About 45 hours of lectures, plus practice.

About this course

CS107 is Stanford's course that peels back the abstraction layers most programmers take for granted — it teaches C and assembly to show what the hardware is actually doing when you run your Python or JavaScript code. It covers C data types and memory, the stack and heap, compilation and linking, assembly language, functional programming paradigms in Scheme, and generic programming with polymorphism.

What you'll learn

Write and debug C programs including pointer arithmetic and memory management
Read and understand x86 assembly output
Understand the compilation, linking, and loading pipeline
Apply functional programming paradigms in Scheme
Understand generic programming and polymorphism at a low level

This course includes

45h
On-demand video
Yes
Mobile access
English
Language

What it costs

Completely free through Stanford's open lecture materials. There is no certificate.

Comparison · LBS

Compare alternatives for CS107: Programming Paradigms

Same topic, different options. We surface the trade-offs others hide so you can pick the course that actually fits your time, budget, and goals.
Stanford Online4.8(4,500)
CS107: Programming Paradigms
Price
Free
Free lecture materials available online
Duration
45 hrs
Level
Intermediate
Certificate
freeCodeCamp4.8(15,000)
JavaScript Algorithms and Data Structures Certification
Price
Free
Completely free, forever
Duration
300 hrs
Level
Intermediate
Certificate
Course Certificate
MIT OpenCourseWare4.9(8,000)
Introduction to Algorithms (6.006)
Price
Free
Completely free, openly licensed — no certificate
Duration
45 hrs
Level
Intermediate
Certificate
freeCodeCamp4.7(3,900)
Relational Database Certification
Price
Free
Completely free, forever
Duration
300 hrs
Level
Intermediate
Certificate
Course Certificate
Prices & availability can change — confirm on the provider's site. We're not affiliated with any single provider.

Instructor

JC
Jerry Cain
Stanford Online instructor
680K+ learners5 courses4.8 instructor rating

Taught by Jerry Cain, Stanford CS lecturer, known for accessible explanations of low-level systems concepts for an audience coming from higher-level languages.

About this provider

SO
Stanford Online
Stanford University's online learning platform offering free and paid courses from Stanford faculty across AI, ML, medicine, and computer science.
Visit Stanford Online

Frequently asked questions

No. The lectures are free and open, but there is no certificate.
Yes, completely — Stanford publishes the lectures openly.
Yes for the fundamentals. It is an older course, but C, C++ and how memory and programs work at a low level have not changed.
Mainly C and C++, with a focus on how programs work under the hood.
It is intermediate and assumes some programming, but the teaching is clear and well regarded.
Free
to audit
Enroll now