The Missing Semester of Your CS Education
29 points by jonhoo
29 points by jonhoo
New iteration of the course for 2026.
We (Anish, Jose, and I) returned to MIT during IAP (January term) 2026 to teach a new iteration of The Missing Semester, a class covering topics that are missing from the standard computer science curriculum.
Over the years, the three of us helped teach several classes at MIT, and over and over again we saw that students had limited knowledge of tools available to them. Computers were built to automate manual tasks, yet students often perform repetitive tasks by hand or fail to take full advantage of powerful tools such as version control and IDEs. Common examples include manually renaming a symbol across many source code files, or using the nuclear approach to fix a Git repository.
At least at MIT, these topics are not taught as part of the university curriculum: students are never shown how to use these tools, or at least not how to use them efficiently, and thus waste time and effort on tasks that should be simple. The standard CS curriculum is missing critical topics about the computing ecosystem that could make students’ lives significantly easier both during school and after graduation (most jobs do not formally teach these topics either).
To help mitigate this, the three of us developed a class, originally called Hacker Tools in 2019 and then renamed to Missing Semester in 2020 (some great past discussion both on here {see the "similar posts listing} and on Reddit). Over the past several years, we’ve seen the course translated into over a dozen languages, inspire similar courses at other universities, and be adopted by several companies as part of their standard onboarding materials.
Based on feedback and discussions here and elsewhere, along with our updated perspective from working in industry for several years, we have developed a new iteration of the course. The 2026 edition covers several new topics such as packaging/shipping code, code quality, agentic coding, and soft skills. Some things never change, though; we’re still using this hacky Python DSL for editing our multi-camera-angle lecture videos: https://github.com/missing-semester/videos.
As always, we’d love to hear any feedback from the community to help us improve the course content!
—Anish, Jon, and Jose
Re Git, the description is insufficient for a student to e.g. predict if an operation will produce a merge conflict. I would argue that it won't achieve desired learning outcomes for students.
From my notes, here are some key areas for DVCS pedagogy:
Only the first point is covered in the notes. Here's an article covering some of the missing points: https://jvns.ca/blog/2023/11/10/how-cherry-pick-and-revert-work/
I took Hacker Tools in 2019. I want to say thank you! It was invaluable for courses such as Operating Systems and Distributed Systems, and it has continued to serve me well in my career. My classmates and coworkers have been impressed with how I use my text editor and command line, and I always reference Missing Semester as the foundation to all those skills.
A side-note: this course was probably what introduced me to communities such as this one. It made me care a lot more about computing and programming. Without the course, I probably wouldn't be using Linux for my personal machines or contributing to open source projects.
Hehe, a NixOS system 🤩
I loved the first edition of the 'semester', and continue to link to it to anyone I see struggling with everything here, this update is going to be very interesting with the new generation, thank you!