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.
1/13/20: Course overview + the shell
1/14/20: Shell Tools and Scripting
1/15/20: Editors (Vim)
1/16/20: Data Wrangling
1/21/20: Command-line Environment
1/22/20: Version Control (Git)
1/23/20: Debugging and Profiling
1/27/20: Metaprogramming
1/28/20: Security and Cryptography
1/29/20: Potpourri
1/30/20: Q&A
Staff: This class is co-taught by Anish, Jon, and Jose. Questions: Email them at missing-semester@mit.edu.
YouTube: Lecture videos from the class offered during MIT's Independent Activities Period in 2020.
#!/bin/bash marcopolo find配合xargs
mv -> dir is a special type of file
Ctrl+C Ctrl+\ ctrlc ctrl\ 结束进程
fg bg Ctrl+Z ctrlz jobs KILL kill
Fork & PR pull request 撤回commit git stash gitconfig
lsof list open file and kill proxy 在终端内添加代理