CS107: Programming Paradigms
Is this course right for you?
Jerry Cain teaches C and assembly to peel back the abstractions — memory, the stack and heap, pointers, compilation and linking, plus functional programming in Scheme — so you understand why a memory bug or a performance bottleneck happens, not just that it does. It is systems foundations taught with real depth.
It is not for beginners and not about modern web or app development, so if you are new to programming or want to ship apps, start elsewhere. There is no certificate. The lectures were recorded in 2008, but the systems concepts are still relevant.
Compare alternatives for CS107: Programming Paradigms
- Price
- FreeFree lecture materials available online
- Duration
- 45 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, forever
- Duration
- 300 hrs
- Level
- Intermediate
- Certificate
- Course Certificate
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 45 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, forever
- Duration
- 300 hrs
- Level
- Intermediate
- Certificate
- Course Certificate
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.
Instructor
Taught by Jerry Cain, Stanford CS lecturer, known for accessible explanations of low-level systems concepts for an audience coming from higher-level languages.