Skip to content

CS106A: Programming Methodology ​

Course Overview ​

University: Stanford
Instructor: Mehran Sahami
Status: Not Started
Progress: 0/28 lectures

Your first step into programming. This course teaches Python fundamentals, object-oriented programming, and algorithmic thinkingβ€”the foundation for everything that follows.

Resources ​

πŸ“Ί Stanford CS106A Playlist
🌐 Course Website
πŸ“š Course Reader (PDF)

Key Topics ​

  • Python fundamentals
  • Variables, control flow, functions
  • Object-oriented programming (OOP)
  • Data structures (lists, dictionaries, sets)
  • File I/O
  • Algorithmic problem-solving
  • Debugging techniques

Why This Matters ​

This is where it all begins. CS106A teaches you not just Python syntax, but how to think like a programmer. You'll learn to break down complex problems into manageable pieces and express solutions clearly in code.

Learning Goals ​

By the end of this course, you should be able to:

  • Write clean, well-structured Python programs
  • Apply object-oriented programming principles
  • Debug and test your code effectively
  • Solve algorithmic problems systematically
  • Read and understand existing code

Study Plan ​

Estimated Time: 5-7 hours/week for 10-12 weeks

  • Lectures: ~3 hours/week
  • Problem Sets: ~3-4 hours/week
  • Reading: ~1 hour/week

Daily Notes ​

Week 1 ​

  • [ ] Lecture 1: Introduction
  • [ ] Lecture 2: Variables & Control Flow
  • [ ] Problem Set 1

Week 2 ​

  • [ ] Lecture 3: Functions
  • [ ] Lecture 4: Strings
  • [ ] Problem Set 2

Projects & Assignments ​


Key Takeaways ​


[← Back to Fall Quarter](Online Studying/CS - Stanford, MIT, Berkley/Year 1/Fall Quarter/index.md) | Next Course: Calculus 1 β†’