CS106A - Programming Methodology

  • 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 Methodology is Stanford's introductory programming course, released in full on Stanford Engineering Everywhere from Mehran Sahami's lectures. It teaches Java together with the software-engineering habits Stanford wants first-year programmers to acquire: object-oriented design, decomposition, encapsulation, abstraction and testing, with constant emphasis on good programming style. The first lecture starts with the Karel robot before moving to Java proper. SEE publishes 28 lectures of roughly 45 to 55 minutes each, streamable or downloadable with HTML and PDF transcripts, plus the handouts, assignments, exams and the software the campus class used; solutions are included where Stanford released them.

The course page states that it requires no previous programming background but does demand considerable dedication and hard work. Everything is free and needs no registration under a CC BY-NC-SA 4.0 licence, but there is no credit, no certificate and no way to submit work for feedback. The SEE pilot has ended and the material is not updated.

Advertisement

What you’ll learn

  • Write Java programs in a clear, well-decomposed style
  • Apply object-oriented design, encapsulation and abstraction to small applications
  • Use the built-in facilities of the Java language and its standard libraries
  • Test programs systematically and reason about their correctness
  • Build a foundation for the C++ material in Programming Abstractions (CS106B)

Who it’s for

Complete beginners who want a real university first course in programming and are happy to grade their own assignments; not for anyone who needs a certificate.

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)