Skip to main content
MIT
Electrical Engineering & Computer Science
6 units

MIT 6.100A: Introduction to Computer Science Programming in Python

6.100A — formerly 6.0001, the number most search results still use — is MIT's half-semester introduction to programming in Python for students with little or no experience. The 6.0001 lectures on OpenCourseWare are among the most popular free programming courses anywhere.

Fennie is independent and not affiliated with MIT. This is an unofficial study guide.

Build my 6.100A study plan

What makes it hard

The pace, not the content: MIT compresses a typical intro course into half a semester, so recursion and object-oriented programming arrive within weeks of your first loop. Self-learners on OCW most often stall at the problem sets, which require writing real programs rather than filling in blanks.

What you'll cover

  • Python fundamentals
  • Branching and iteration
  • Functions and abstraction
  • Recursion
  • Lists, dictionaries, and tuples
  • Object-oriented programming
  • Testing and debugging

The 6.100A study guide

How to study for MIT 6.100A, step by step.

  1. 1

    Code along with every lecture

    Whether you're in 6.100A on campus or working the 6.0001 lectures on OCW, pause and type the examples yourself. Watching Python is not learning Python — the half-semester pace leaves no room for passive viewing.

  2. 2

    Treat the psets as the course

    The problem sets are where the learning happens; the lectures just set them up. Do every one completely, even self-pacing — skipping psets cuts the value of the course drastically.

  3. 3

    Practice daily through the compressed schedule

    Recursion and object-oriented programming arrive within weeks of your first loop. Short daily coding sessions keep the concepts compounding instead of collapsing.

  4. 4

    Give recursion and OOP extra reps

    These are the two ideas that arrive fastest and stick slowest. Write several small recursive functions and toy classes beyond what the psets require before moving on.

  5. 5

    Pace your run with Fennie

    Upload the 6.100A schedule — or your 6.0001 OCW plan — and Fennie builds a Daily Plan that spaces lectures and psets to your timeline, with quizzes on each lecture's concepts generated from the actual course materials. Free to start.

    Start my 6.100A plan free

How Fennie helps with 6.100A

Fennie's Daily Plans turn 6.100A's compressed schedule — or a self-paced OCW run of 6.0001 — into daily coding practice with the psets spaced out, not crammed. Chat through recursion or scope when a concept won't click, and quiz yourself on each lecture's ideas before attempting the pset.

FAQ

Is 6.0001 the same as 6.100A?

Yes — MIT renumbered 6.0001 to 6.100A when EECS overhauled its course numbers in 2022. The OpenCourseWare version is still published under 6.0001 (and 6.100L for the full-semester pace).

Is 6.100A hard for beginners?

The material is beginner-targeted but the half-semester pace is intense. Students and self-learners who write code daily keep up; watching lectures without doing psets doesn't work.

How long does 6.0001 take to self-study on OCW?

Most self-learners take 6–10 weeks at a few hours per day, including the problem sets. The psets are the course — skipping them cuts the value drastically.

Pass 6.100A with a plan, not a cram

Upload your 6.100A materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.

Get started free

More MIT courses