CS106A - Programming Methodology
- Free
- No certificate
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.
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
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.