Home/Stanford Online/CS107: Programming Paradigms
Stanford University · on Stanford Online

CS107: Programming Paradigms

4.8(4,500)·680K enrolled
Intermediate 45 hours English None CertificateFREE

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.

The course answers the questions most application developers never encounter until they hit a memory corruption bug or try to understand a performance bottleneck: why does memory matter? what's a pointer actually doing? how does a compiler turn code into instructions? It's a systems foundations course for developers who want to understand the machine, not just write programs that run on it.

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
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
Coursera4.9(22,000)
Algorithms Specialization
Price
Paid
Subscription-based, free to audit
Duration
200 hrs
Level
Intermediate
Certificate
Specialization Certificate
edX4.9(18,000)
CS50's Introduction to Computer Science
Price
Free
Audit free · $199 cert
Duration
100 hrs
Level
Beginner
Certificate
Verified
freeCodeCamp4.8(18,000)
Responsive Web Design Certification
Price
Free
Completely free, forever
Duration
300 hrs
Level
Beginner
Certificate
Completion
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.

Requirements

  • Solid programming experience in any high-level language

Who this course is for

  • Application developers who want to understand how the machine actually works
  • Anyone who writes Python or JavaScript and wants the systems knowledge underneath
  • Developers preparing for systems-level engineering roles

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

For application development — rarely directly. For understanding performance, debugging hard bugs, security research, and embedded development — yes, the mental model it builds is durable and valuable.
The lecture recordings are freely available on Stanford Online and YouTube; no certificate is offered.
Free
to audit
Enroll now