今天推荐一门值得你补上的课程。

对于大部分计算机专业相关的学生,在学校中学习了大量的专业课程,从编程语言到操作系统甚至到机器学习,但你在实际做项目或者工作中,却会被一些使用工具上的问题难住,例如你学完编程但不懂得如何使用IDE的调试功能,学完了 Linux 操作系统却还搞不明白 Vim 的使用... ...

因此,在 2019 年在 MIT 开设了一门公开课—— ​​《Missing Semester》​​ ,全称 “The Missing Semester of Your CS Education” ,翻译过来就是“计算机教育中缺失的学期”。这门课主要讲授一些计算机基础工具的使用,例如:命令行、Vim 编辑器、Git 版本控制、调试等非常重要的技能,值得学习。

官方频道名称为 ​​“Missing Semester”​​ ,在 B 站上也有翻译版本:

​https://www.bilibili.com/video/BV1x7411H7wa​

计算机教育中缺失的一课_官网

公开课截图

课程官网如下:

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

课程目录如下:

Course overview + the shell
Shell Tools and Scripting
Editors (Vim)
Data Wrangling
Command-line Environment
Version Control (Git)
Debugging and Profiling
Metaprogramming
Security and Cryptography
Potpourri
Q&A

官网提供了 ​​Notes​​ ,但食用视频更佳。

为什么要开设这门课

在传统的计算机科学教育中,你有可能会学习大量的课程,教授你计算机科学中的高级课题,从操作系统到编程语言再到机器学习。但在许多机构中,有一个重要的话题很少被涉及,而是留给学生自己去学习:计算生态系统知识。

多年来,我们在麻省理工学院帮助教授了几门课,我们一次又一次地看到,许多学生对他们可用的工具了解有限。计算机是为自动化人工任务而建造的,但学生们经常用手完成重复性的任务,或未能充分利用强大的工具,如版本控制和文本编辑器。在最好的情况下,这导致了效率低下和时间浪费;在最坏的情况下,它导致了数据丢失或无法完成某些任务等问题。

这些课题并没有作为大学课程的一部分来教授:学生们从未被告知如何使用这些工具,或者至少没有被告知如何有效地使用它们,因此在本应简单的任务上浪费了时间和精力。标准的计算机科学课程缺少关于计算生态系统的关键课题,而这些课题可以使学生的生活大大简化。

计算机教育中缺失的那一学期

为了帮助弥补这一缺陷,我们正在开设一门课程,涵盖所有我们认为对成为一名有效的计算机科学家和程序员至关重要的主题。这门课是务实和实用的,它提供了工具和技术的实践介绍,你可以立即应用于你将遇到的各种情况。这门课是在2020年1月麻省理工学院的 "独立活动期 "中进行的——这是一个为期一个月的学期,以学生自办的短期课程为主。虽然讲座本身只对麻省理工学院的学生开放,但我们将向公众提供所有的讲座材料以及讲座的视频记录。