The Missing Semester of Your CS Education
A free MIT course on the practical tools nobody formally teaches: the shell, the command-line environment, editors and development tools, debugging and profiling, Git, packaging code, working with coding agents, and code quality. The 2026 edition folds AI tools into every lecture. It suits students and self-taught developers who use these tools daily but were never shown how to use them well.
2026 (9 lectures)
missing.csail.mit.edu · Sept 2026
20 languages
missing.csail.mit.edu · Sept 2026
Free, videos on YouTube
missing.csail.mit.edu · Sept 2026
Course
Other
MIT
About 12 hours
Beginner
Free
What it is
The Missing Semester is a short course run by MIT students during the January term, with lecture notes, exercises and recorded videos all free online. Degree programmes teach algorithms and systems and quietly assume you will pick up the tooling somewhere. Most people never do properly, and spend years doing by hand what a five-line script, a debugger or a well-configured editor would handle.
What the 2026 edition covers
The course was rebuilt for 2026. Its nine lectures are:
- Course overview and introduction to the shell.
- The command-line environment.
- Development environment and tools.
- Debugging and profiling.
- Version control and Git.
- Packaging and shipping code.
- Agentic coding: what coding agents are, how their tool-calling loops work, where they help (features, fixes, refactoring, understanding a codebase) and why you must still review their output for correctness and security.
- Beyond the code: writing useful comments, READMEs and commit messages, filing good bug reports, contributing to projects, reviewing code, and etiquette around disclosing AI use.
- Code quality.
Rather than one lecture on AI, the instructors fold AI-assisted tooling into each topic. The earlier 2020 edition, which spends more time on Vim, data wrangling, metaprogramming and security basics, is still online and worth dipping into for those topics.
How to take it
- Time: there are nine lectures, each with exercises. Taking one or two evenings per lecture gets you through in a few weeks at a relaxed pace.
- Order: do lectures 1 and 2 first, since everything else assumes shell comfort. After that, go by need: Git if it scares you, debugging if you still rely on print statements.
- Exercises: they are where the learning happens. Do them in a real terminal (on Windows, use WSL).
- Apply immediately: after each lecture, change one thing in your daily setup, such as a shell alias, an editor setting or a Git habit, so the lesson sticks.
The lectures that pay back fastest
The Git lecture explains Git's data model (snapshots, commits as a graph, branches as pointers) rather than listing commands, which turns Git from a source of anxiety into something you can reason about. The debugging and profiling lecture is the other big win: learning a real debugger early saves hundreds of hours.
Common questions
Do I need to be an MIT student or pay anything? No. Everything is free and open, with translations into 20 languages listed on the site.
Is it for beginners? It suits anyone who can already write basic programs. Complete beginners should learn a first language before this.
Does the AI content make it less useful for learning fundamentals? No. The core shell, Git and debugging material is unchanged in spirit, and the agentic coding lecture is honest about the limits of AI tools.
Best for: CS students, self-taught developers, and anyone who has used a terminal and Git for years without ever being taught them.
Ready to start?
Opens on MIT in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.