大数据文摘出品
作者:曹培信
从操作系统到编程语言再到机器学习,在传统的计算机科学教育中,你可能会参加很多课程,但是有一类课程却是很多学校都忽略的——计算机生态系统素养。
大多数学校可能觉得这部分过于基础,因此将这一部分的内容作为自学部分,让学生自己在实践中领会,但是MIT的几位教授在教学过程中发现,许多学生这方面的知识非常有限。
计算机发明出来是为了替代手工的,然而学生们却经常手工完成重复的任务,或者不能充分利用强大的工具,如版本控制和文本编辑器。一般情况下,这会导致效率低下和浪费时间;在严重 的情况下,它还会导致数据丢失或任务根本无法完成等问题。
这正式因为长期以来标准的计算机科学课程缺少关于计算机生态系统的内容,学生从来没有学过使用这些工具,或者至少没有人告诉他们如何有效地使用这些工具,因此在本应简单的任务上浪费了时间和精力。
鉴于此情况,MIT推出了“补上你的计算机教育中缺失的那一学期”课程,涵盖了MIT认为对于一个计算机科学家和程序员来说至关重要的主题,包括对如何掌握命令行,使用强大的文本编辑器,使用版本控制系统等内容进行学习!
目前,该课程所有讲座内容和视频都以在线上公开,“缺课”的小伙伴们可以去补上噢!
课程目录
课程链接:
https://missing.csail.mit.edu/
课程视频:
https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J
下面带着大家一起来看几个具体的例子!
命令行
教你如何使用别名、脚本和构建系统让常见的重复性任务变得自动化!比如,快速搜索历史记录可以节省大量时间,下面就是用 convert 命令处理一些关于搜索命令行历史记录的小技巧。
版本控制
不再使用 rm -rf 和 git clone,没有太多的合并冲突,不再有大块的注释掉的代码。不再为如何找到破坏你代码的东西而烦恼。比如,在下面的例子中,使用 git bisect 来查找哪个提交的部分破坏了测试,并用 git revert 来修复它。
文本编辑
教你如何有效地从命令行(本地和远程)编辑文件,并利用高级编辑器的特性。不再来回复制文件。不再重复进行文件编辑。
Vim 宏是它最好的特性之一,在下面的示例中,你将学到使用嵌套的Vim 宏将一个html 快速转换为 csv 格式。
查找文件
教你如何快速查找要查找的文件,在找到需要的代码之前,不需要再点击项目中的文件。在下面的示例中,你将学会用 fd 快速查找文件。我们还使用 fsd 用来快速 cd 和 vim 最近的/频繁打开的的文件和文件夹。
此外,还有Data wrangling、虚拟机、系统安全等主题内容,所有内容将会在12节课的讲座中讨论,每节课还包括一个练习,让学习者可以更加熟悉这些工具。
本文转载自大数据文摘
封面图来源:Photo by Vadim Sherbakov on Unsplash
继续阅读
阅读原文