CS107 - Programming Paradigms

  • Free
  • No certificate
Provider
Stanford
Cost
Free
Certificate
No certificate
Format
Self-paced
Language
English
Subjects
Programming, Computer Science
Source
Stanford Online
Last verified
14 Sep 2026

Programming Paradigms is Jerry Cain's Stanford course on how different languages think, published in full on Stanford Engineering Everywhere. It begins with the advanced memory-management features of C and C++ and the differences between the imperative and object-oriented paradigms, then turns to the functional paradigm through LISP and to concurrent programming in C and C++, finishing with a brief survey of other modern languages including Python, Objective-C and C#. SEE publishes 27 lectures of around 50 minutes, most with HTML and PDF transcripts, plus handouts, assignments, exams and additional resources.

The page sets a firm prerequisite: programming and problem solving at the level of Programming Abstractions, with a reasonable command of C++ including pointers, classes, dynamic memory, recursion, linked lists, binary search trees, hashing, iterators and function pointers. Everything is free and open without registration under a CC BY-NC-SA 4.0 licence; no credit, certificate or instructor feedback is available and the SEE pilot is closed to new courses.

Advertisement

What you’ll learn

  • Manage memory explicitly in C and C++ and understand how data is laid out
  • Contrast the imperative and object-oriented paradigms
  • Write programs in the functional paradigm using LISP
  • Use concurrency primitives for multithreaded programs in C and C++
  • Recognise the design choices behind languages such as Python, Objective-C and C#

Who it’s for

Programmers comfortable in C++ who want to understand memory, functional programming and concurrency from the ground up.

Source: Stanford Online (opens in a new tab) · Verified · Report a change

Advertisement
FreeOpens see.stanford.edu Go to course (opens in a new tab)