The Missing Semester of Your CS Education
Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!
Students spend hundreds of hours using these tools over the course of their education (and thousands over their career), so it makes sense to make the experience as fluid and frictionless as possible. Mastering these tools not only enables you to spend less time on figuring out how to bend your tools to your will, but it also lets you solve problems that would previously seem impossibly complex.
Read about the motivation behind this class.
Sign up for the IAP 2020 class by filling out this registration form.
Lecture: 35-225, 2pm–3pm
Office hours: 32-G9 lounge, 3pm–4pm (every day, right after lecture)
- 1/13: Course overview + the shell
- 1/14: Shell Tools and Scripting
- 1/15: Editors (Vim)
- 1/16: Data Wrangling
- 1/20: MLK day [no class]
- 1/21: Command-line Environment
- 1/22: Version Control (Git)
- 1/23: Debugging and Profiling
- 1/27: Metaprogramming
- 1/28: Security and Privacy
- 1/29: Potpourri
- 1/30: Q&A
Video recordings of the lectures are available on YouTube.
About the class
We’ve also shared this class beyond MIT in the hopes that others may benefit from these resources. You can find posts and discussion on
We thank Elaine Mello, Jim Cain, and MIT Open Learning for making it possible for us to record lecture videos; Anthony Zolnik and MIT AeroAstro for A/V equipment; and Brandi Adams and MIT EECS for supporting this class.