MIT上新!「CS缺失的學期」,這門課專講課本學不到的電腦素養

  • 2020 年 3 月 18 日
  • 筆記

大數據文摘出品

作者:曹培信

從作業系統到程式語言再到機器學習,在傳統的電腦科學教育中,你可能會參加很多課程,但是有一類課程卻是很多學校都忽略的——電腦生態系統素養。

大多數學校可能覺得這各部分過於基礎,因此將這一部分的內容作為自學部分,讓學生自己在實踐中領會,但是MIT的幾位教授在教學過程中發現,許多學生這方面的知識非常有限。

電腦發明出來是為了替代手工的,然而學生們卻經常手工完成重複的任務,或者不能充分利用強大的工具,如版本控制和文本編輯器。一般情況下,這會導致效率低下和浪費時間;在嚴重 的情況下,它還會導致數據丟失或任務根本無法完成等問題。

這正式因為長期以來標準的電腦科學課程缺少關於電腦生態系統的內容,學生從來沒有學過使用這些工具,或者至少沒有人告訴他們如何有效地使用這些工具,因此在本應簡單的任務上浪費了時間和精力。

鑒於此情況,MIT推出了「補上你的電腦教育中缺失的那一學期」課程,涵蓋了MIT認為對於一個電腦科學家和程式設計師來說至關重要的主題,包括對如何掌握命令行,使用強大的文本編輯器,使用版本控制系統等內容進行學習!

目前,該課程所有講座內容和影片都以在線上公開,「缺課」的小夥伴們可以去補上噢!

課程目錄

課程鏈接:

https://missing.csail.mit.edu/

課程影片:

下面文摘菌帶著大家一起來看幾個具體的例子!

命令行

教你如何使用別名、腳本和構建系統讓常見的重複性任務變得自動化!比如,快速搜索歷史記錄可以節省大量時間,下面就是用 convert 命令處理一些關於搜索命令行歷史記錄的小技巧。

版本控制

不再使用 rm -rf 和 git clone ,沒有太多的合併衝突,不再有大塊的注釋掉的程式碼。不再為如何找到破壞你程式碼的東西而煩惱。比如,在下面的例子中,使用 git bisect 來查找哪個提交的部分破壞了測試,並用 git revert 來修復它。

文本編輯

教你如何有效地從命令行(本地和遠程)編輯文件,並利用高級編輯器的特性。不再來回複製文件。不再重複進行文件編輯。

Vim宏是它最好的特性之一,在下面的示例中,你將學到使用嵌套的Vim 宏將一個 html 快速轉換為 csv 格式。

查找文件

教你如何快速查找要查找的文件,在找到需要的程式碼之前,不需要再點擊項目中的文件。在下面的示例中,你將學會用 fd 快速查找文件。我們還使用 fsd 用來快速 cd 和 vim 最近的/頻繁打開的的文件和文件夾。

此外,還有Data wrangling、虛擬機、系統安全等主題內容,所有內容將會在12節課的講座中討論,每節課還包括一個練習,讓學習者可以更加熟悉這些工具。