CS107 - Programming Paradigms
- Free
- No certificate
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.
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
More free Stanford courses
Every Stanford course we have verified, with cost and certificate terms compared.
ProgrammingAll free programming courses
Free and free-to-audit programming courses from every provider, ranked.