Alternatives To Missing_semester_of_your_cs_education
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Learn Vim11,420
24 days ago11other
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for 📖
Learn Vim1,492
4 months agocc0-1.0Vim Script
Vim 实操教程(Learning Vim)Vim practical tutorial.
a month ago1other
Get started right. Become a shell native. This is the way.
Vim Workshop28
6 years agomitVim script
My thorough introduction to Vim
a year agoShell
2 days agomit
😎Awesome projects
Alternatives To Missing_semester_of_your_cs_education
Select To Compare

Alternative Project Comparisons

The Missing Semester of Your CS Education


WebPage -en

WebPage - zhtw

知名Facebook粉專 - Learning By Hacking轉發,170+分享

來自Hacker News上的網友回應:

Sure, some stuff you learn in CS can make you a better software engineer. CS cannot make you a software engineer.

CS can definitely not make you adept at using computers and neither should it. That’s something earlier education institutions must tackle.

It’s always good to have optional courses for various topics of interest. _Requiring_ students to learn, say, MS Office (I had to), is just plain ridiculous.
  • 11堂課大部分圍繞在Command line enviroment,working on remote machine, version control, finding files, Text Editing, data wrangling and security!
  • 去年課程Hacker Tools更包含了Vitual Machine and Containers, Backups, Automation, OS Customization, and Remote Machine!


  1. [x] Course overview + the shell
  2. [x] Shell Tools and Scripting
  3. [x] Editors (Vim)
  4. [x] Data Wrangling
  5. [x] Command-line Environment
  6. [ ] Version Control (Git)
  7. [ ] Debugging and Profiling
  8. [ ] Metaprogramming
  9. [ ] Security and Cryptography
  10. [x] Potpourri
  11. [x] Q&A

Why we are teaching this class

During a traditional Computer Science education, chances are you will take plenty of classes that teach you advanced topics within CS, everything from Operating Systems to Programming Languages to Machine Learning. But at many institutions there is one essential topic that is rarely covered and is instead left for students to pick up on their own: computing ecosystem literacy.

Over the years, we have helped teach several classes at MIT, and over and over we have seen that many students have limited knowledge of the 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 text editors. In the best case, this results in inefficiencies and wasted time; in the worst case, it results in issues like data loss or inability to complete certain tasks.

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.

Update your Bash

在我的Mac上,bash版本是3.x版,2007年出的,主要需要更新的原因是vscode的Bash Debug extension,只支持4.0以上的版本

brew install bash

More About MIT


Addtional Content

Vim - tutorial

Section and Content Complete Note
L1 vi/vim modes in vim 12/13 if you are not familar with vim, check L3 Editors Vim instead
L2 navigation 12/13
L3 inserting text 12/13
L4 deleteing text 12/13
Bonus vim wondows
Bonus vim combinations
Bonus vim search, find, and replace
Bonus tmux 12/13
Bonus tmux 12/18

Handy Linux conmmand and concepts

in additional/handy_linux_command/


  1. Network(ifconfig, socket, ping, nmap, scp, curl, fix ip and floating ip, loopback ip, iwconfig, dns, ssh)
  2. backup, packing, unpacking(dd, gzip, zip, unzip, tar)
  3. shell script(why we need shell script, if else, variables, env vsariables)
  4. alias unaluas
  5. history
  6. wildcard(bash萬用字元,和regax有點像)
  7. pipe, cut, grep
  8. data redirection(stdout, stderr, stdin, tee, :, &&)
  9. job control(nohup, ctrl + z, bg, fg, kill, wait)
  10. file profiling(cat, less, head, tail, echo)
  11. system profiling(top, htop, df -h, uname -a, w, whoami, free)
  12. find a file/directory(find, locate, whereis, which)
  13. package management(masOS(brew, flnk), Ubuntu, Debian(apt, dpkg), curl, wget)
  14. filesystem structure
  15. kernel management(ukuu)
  16. memory and device management(lscpu, nvidia-smi)
  17. command line short-cut


Popular Vim Projects
Popular Education Projects
Popular Text Editors Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.