See all articles
Tools Terminal Git Productivity Learning

The MIT "Missing Semester": the tools your university never taught you

MIT offers a free course on the everyday tools of the developer. A condensed set of best practices too often overlooked in traditional curricula.

Stéphane Monfort
3 min read
Share

CS curricula train engineers capable of designing complex algorithms, modelling distributed architectures, or reasoning about language theory. But they systematically miss a topic that is nonetheless fundamental: mastering everyday tools.

This is exactly the observation made by MIT instructors who created the Missing Semester of Your CS Education (s'ouvre dans un nouvel onglet). A free course, available online, that fills this gap with remarkable effectiveness. After the 2019 and 2020 editions that I followed with interest, a 2026 edition has just been published. Its content has been updated to reflect the evolution of practices and tools, marked by the strong progression of AI.

A training gap on key topics

A computer science student spends hundreds of hours using a terminal, a text editor, or a version control system. Yet, in the vast majority of curricula, no one really teaches these tools. They cobble things together, copy commands from Stack Overflow or ChatGPT, accumulate bad habits without ever understanding what they’re doing.

The result: graduate engineers who can’t write a clean shell script, who do git add . without thinking, or who freeze at the idea of rebasing a branch. I’ve seen this personally: a significant number of developers have absolutely no understanding of Git’s internal workings, and don’t really know what such basic concepts as a commit, a branch, or a tag actually mean.

I don't understand Git

The curriculum

The 2026 program is structured around nine sessions (videos available on this YouTube playlist (s'ouvre dans un nouvel onglet)):

What I like about this approach

The course doesn’t try to be exhaustive. It aims to spark a realization: showing that there is a more efficient, more deliberate way to work with your tools. Once that realization clicks, everyone can go deeper at their own pace.

I also appreciate that the 2026 edition natively integrates agentic coding, illustrating it with Claude Code on a few basic use cases. The subject is treated as a skill in its own right, on the same level as Git or the shell.

Finally, the fairly intensive use of the terminal fits perfectly with my own personal preferences!

Conclusion

This course is useful for several profiles:

  • Students or junior engineers who have never really taken the time to understand their tools.
  • Experienced developers who have accumulated habits without ever questioning them.
  • CTOs and tech leads who want to share a solid common foundation with their teams.
  • Anyone who wants to be able to do an interactive rebase while truly understanding what they’re doing!

The content is in English and perfectly accessible. Each session is accompanied by detailed course notes and practical exercises that I warmly recommend.

Comments