MIT《计算机教育中缺失的一课》中文版,学习计算机或人工智能都必须上的一课

2021 年 1 月 3 日 专知

大学里的计算机课程通常专注于讲授从操作系统到机器学习这些学院派的课程或主题,而对于如何精通工具这一主题则往往会留给学生自行探索。在这个系列课程中,我们讲授命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。学生在他们受教育阶段就会和这些工具朝夕相处(在他们的职业生涯中更是这样)。因此,花时间打磨使用这些工具的能力并能够最终熟练地、流畅地使用它们是非常有必要的



精通这些工具不仅可以帮助您更快的使用工具完成任务,并且可以帮助您解决在之前看来似乎无比复杂的问题。


目录


  • 1/13: 课程概览与 shell

  • 1/14: Shell 工具和脚本

  • 1/15: 编辑器 (Vim)

  • 1/16: 数据整理

  • 1/21: 命令行环境

  • 1/22: 版本控制(Git)

  • 1/23: 调试及性能分析

  • 1/27: 元编程

  • 1/28: 安全和密码学

  • 1/29: 大杂烩

  • 1/30: 提问&回答


  • 视频:

  • https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS43e29ro7I57J

地址:

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


开设此课程的动机


在传统的计算机科学课程中,从操作系统、编程语言到机器学习,这些高大上课程和主题已经非常多了。然而有一个至关重要的主题却很少被专门讲授,而是留给学生们自己去探索。这部分内容就是:精通工具。


这些年,我们在麻省理工学院参与了许多课程的助教活动,过程当中愈发意识到很多学生对于工具的了解知之甚少。计算机设计的初衷就是任务自动化,然而学生们却常常陷在大量的重复任务中,或者无法完全发挥出诸如 版本控制、文本编辑器等工具的强大作用。效率低下和浪费时间还是其次,更糟糕的是,这还可能导致数据丢失或 无法完成某些特定任务。


这些主题不是大学课程的一部分:学生一直都不知道如何使用这些工具,或者说,至少是不知道如何高效 地使用,因此浪费了时间和精力在本来可以更简单的任务上。标准的计算机科学课程缺少了这门能让计算 变得更简捷的关键课程。


The missing semester of your CS education


为了解决这个问题,我们开启了一个课程,涵盖各项对成为高效率计算机科学家或程序员至关重要的 主题。这个课程实用且具有很强的实践性,提供了各种能够立即广泛应用解决问题的趁手工具指导。该课在 2020 年 1 月”独立活动期“开设,为期一个月,是学生开办的短期课程。虽然该课程针对 麻省理工学院,但我们公开提供了全部课程的录制视频与相关资料。


如果该课程适合你,那么以下还有一些具体的课程示例:


命令行与 shell 工具


如何使用别名、脚本和构建系统来自动化执行通用重复的任务。不再总是从文档中拷贝粘贴 命令。不要再“逐个执行这 15 个命令”,不要再“你忘了执行这个命令”、“你忘了传那个 参数”,类似的对话不要再有了。


例如,快速搜索历史记录可以节省大量时间。在下面这个示例中,我们展示了如何通过convert命令 在历史记录中跳转的一些技巧。



版本控制


如何正确地使用版本控制,利用它避免尴尬的情况发生,与他人协作,并且能够快速定位 如何正确地使用版本控制,利用它避免尴尬的情况发生。与他人协作,并且能够快速定位 有问题的提交 不再大量注释代码。不再为解决 bug 而找遍所有代码。不再“我去,刚才是删了有用的代码?!”。我们将教你如何通过拉取请求来为他人的项目贡献代码。

下面这个示例中,我们使用git bisect来定位哪个提交破坏了单元测试,并且通过git rever来进行修复。



文本编辑


不论是本地还是远程,如何通过命令行高效地编辑文件,并且充分利用编辑器特性。不再来回复制 文件。不再重复编辑文件。

Vim 的宏是它最好的特性之一,在下面这个示例中,我们使用嵌套的 Vim 宏快速地将 html 表格转换成了 csv 格式。



远程服务器


使用 SSH 密钥在远程机器下工作如何保持清醒,并且终端能够复用。不再为了仅执行个别命令 总是打开许多命令终端。不再每次连接都总输入密码。不再因为网络断开或必须重启笔记本时 就丢失全部上下文。


以下示例,我们使用tmux来保持会话在远程服务器活跃,并使用mosh来支持网络漫游和断开连接。



查找文件


如何快速查找你需要的文件。不再挨个点击项目中的文件,直到找到你所需的代码。

以下示例,我们通过fd快速查找文件,通过rg找代码片段。我们也用到了fasd快速cd并vim最近/常用的文件/文件夹。




数据处理


如何通过命令行直接轻松快速地修改、查看、解析、绘制和计算数据和文件。不再从日志文件拷贝 粘贴。不再手动统计数据。不再用电子表格画图。


虚拟机


如何使用虚拟机尝试新操作系统,隔离无关的项目,并且保持宿主机整洁。不再因为做安全实验而 意外损坏你的计算机。不再有大量随机安装的不同版本软件包。


安全


如何在不泄露隐私的情况下畅游互联网。不再抓破脑袋想符合自己疯狂规则的密码。不再连接不安全 的开放 WiFi 网络。不再传输未加密的信息。


结论


这 12 节课将包括但不限于以上内容,同时每堂课都提供了能帮助你熟悉这些工具的练手小测验。如果不能 等到一月,你也可以看下黑客工具,这是我们去年的 试讲。它是本课程的前身,包含许多相同的主题。

无论面对面还是远程在线,欢迎你的参与。



专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“MITC” 可以获取《MIT《计算机教育中缺失的一课》中文版,学习计算机或人工智能都必须上的一课》专知下载链接索引

专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“ 阅读原文 ”,了解使用 专知 ,查看获取5000+AI主题知识资源
登录查看更多
1

相关内容

【经典书】信息论原理,774页pdf
专知会员服务
240+阅读 · 2021年3月22日
专知会员服务
154+阅读 · 2021年3月6日
【经典书】线性代数,286页pdf
专知会员服务
125+阅读 · 2021年2月28日
【经典书】人工智能在21世纪,1020pdf
专知会员服务
41+阅读 · 2020年8月2日
【2020新书】高级Python编程,620页pdf
专知会员服务
232+阅读 · 2020年7月31日
清华大学《人工智能》书籍教学课件开放下载
专知会员服务
137+阅读 · 2020年7月27日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
156+阅读 · 2020年7月24日
【干货书】《机器学习导论(第二版)》,348页pdf
专知会员服务
240+阅读 · 2020年6月16日
五个给机器学习和数据科学入门者的学习建议
机器之心
3+阅读 · 2019年9月16日
分享8个强大的黑客技术学习网站
黑客技术与网络安全
88+阅读 · 2019年8月29日
最新415页《人工智能与机器人原理》书籍
专知
10+阅读 · 2019年3月31日
CCCF译文 | 机器学习如何影响本科生计算机课程
中国计算机学会
6+阅读 · 2019年2月18日
终于有人把云计算、大数据和人工智能讲明白了
Python开发者
3+阅读 · 2018年6月13日
Python数据科学超强阵容书单
大数据技术
4+阅读 · 2018年4月4日
【质量管理】41页PPT系统学习质量管理体系!
产业智能官
4+阅读 · 2018年2月18日
Arxiv
18+阅读 · 2021年3月16日
Arxiv
6+阅读 · 2018年10月3日
Stock Chart Pattern recognition with Deep Learning
Arxiv
6+阅读 · 2018年8月1日
Arxiv
3+阅读 · 2018年6月19日
VIP会员
相关VIP内容
【经典书】信息论原理,774页pdf
专知会员服务
240+阅读 · 2021年3月22日
专知会员服务
154+阅读 · 2021年3月6日
【经典书】线性代数,286页pdf
专知会员服务
125+阅读 · 2021年2月28日
【经典书】人工智能在21世纪,1020pdf
专知会员服务
41+阅读 · 2020年8月2日
【2020新书】高级Python编程,620页pdf
专知会员服务
232+阅读 · 2020年7月31日
清华大学《人工智能》书籍教学课件开放下载
专知会员服务
137+阅读 · 2020年7月27日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
156+阅读 · 2020年7月24日
【干货书】《机器学习导论(第二版)》,348页pdf
专知会员服务
240+阅读 · 2020年6月16日
相关资讯
五个给机器学习和数据科学入门者的学习建议
机器之心
3+阅读 · 2019年9月16日
分享8个强大的黑客技术学习网站
黑客技术与网络安全
88+阅读 · 2019年8月29日
最新415页《人工智能与机器人原理》书籍
专知
10+阅读 · 2019年3月31日
CCCF译文 | 机器学习如何影响本科生计算机课程
中国计算机学会
6+阅读 · 2019年2月18日
终于有人把云计算、大数据和人工智能讲明白了
Python开发者
3+阅读 · 2018年6月13日
Python数据科学超强阵容书单
大数据技术
4+阅读 · 2018年4月4日
【质量管理】41页PPT系统学习质量管理体系!
产业智能官
4+阅读 · 2018年2月18日
Top
微信扫码咨询专知VIP会员