CS104 软件系统与工具导论

CS104 Introduction to Essential Software Systems and Tools

课程教你计算机科学中的所有高级主题,从操作系统到机器学习,但有一个关键的主题很少被涵盖,而是留给学生自己去摸索:对工具的熟练掌握。本课程将教你如何掌握成功成为计算机科学家所需的关键工具,如命令行、版本控制系统、调试器和代码检查工具等。 此外,我们还将涵盖标准计算机科学课程中未涉及但对成为一名熟练的计算机科学家至关重要的其他关键主题,包括:安全和密码学、容器和虚拟机,以及云计算。

本课程每周一、三、五下午 3:00 到 4:20 在 200-034 教室进行面对面授课。课程提供 3 个学分,可以选择按字母等级或 CR/NC 评分。有关课程结构的更多信息,请访问课程信息页面。

周一和周三的课程将包括有指导的讲座、课堂练习和现场演示,而周五的课程将包括一个实验部分,其中有更开放式的练习。如果你能带电脑来上课,请带上,这样你可以跟着做。

这门课程将会有大约 50%的概念背景和 50%的动手实践,使用我们将教授的工具——这意味着你需要能够在你的电脑上下载和安装软件(无论是你个人的电脑,还是你可以使用的电脑)。点击这里以获取更多关于设置你的电脑和我们将使用的软件类型的信息。(如果你觉得这会是个挑战,请告诉我们,例如如果你使用的是 Chromebook 或非常旧的电脑,或者无法访问个人电脑——我们也许能够帮忙 😄)

讲师:Sara Achour 助教:Gavin Li

第一周 主题
1月6日 Lecture 0: In-Class System Setup
1月8日 Lecture 1: Course Overview and Shell and Shell Tools
1月10日 Lab 1: In-Class Lab on Shell Tools
第二周
1月13日 Lecture 2: Data wrangling
1月15日 Lecture 3: Shell Scripting
1月17日 Lab 2: Data wrangling
第三周
1月20日 假期
1月22日 Lecture 4: Text Editors
1月24日 Lab 3: Text Editors and Virtual Machine Setup
第四周
1月27日 Lecture 5: Command Line Environment
1月29日 Lecture 6: Command Line Environment II
1月31日 Lab 4
第五周
2月3日 Lecture 7: Networking
2月5日 Lecture 8: Version Control
2月7日 Lab 5
第六周
2月10日 Lecture 8 (addendum): Version Management
2月12日 Lecture 9: Build Systems & Dev Ops
2月14日 Lab 6
第七周
2月17日 假期
2月19日 Lecture 10: Debugging and Profiling
2月21日 Lab 7
第八周
2月24日 Lecture 11: Security
2月26日 Lecture 12: Cryptography
2月28日 Lab 8
第九周
3月3日 Lecture 13: VMs and Containers
3月5日 Lecture 14: Cloud & Serverless
3月7日 Lab 9
第十周
3月10日 Lecture 15: Recent Tools
3月12日 Lecture 16: Media Processing
3月14日 Lab 10
  • course/stanford/cs104.txt
  • 最后更改: 2025/06/28 22:05
  • csdate