MIT OpenCourseWare · Ana Bell
MIT 6.100L:Introduction to CS and Programming Using Python(Fall 2022)
从零开始用 Python 3 学习计算思维:分支与循环、函数、列表与字典、递归、面向对象、测试调试,以及算法复杂度与排序。
MITOpenCourseWare

- 难度
- 入门
- 形式
- 大学课程
- 语言
- 英文
- 规模
- 26 个课节
- 内容费用
- 免费
- 动手
- 需要动手环境
选择学习环境
按你的电脑系统准备;提示词在你自己的电脑上使用。
macOS 本机安装 Spyder
原课程讲义以 2022 年的 Anaconda3 2022.05 和固定版本 Spyder 为准,那些版本固定命令针对当年安装包,不照搬。此路线采用讲义列出的 Spyder 独立安装方案,按 Spyder 当前官方文档下载;若改用 Anaconda,其使用条款与费用请先自行核对。
看视频和讲义用浏览器即可;习题集需要本机 Python 3 与 Spyder(原课程讲义使用 Anaconda 发行版,并列出 Spyder 独立安装备选方案)及 numpy、matplotlib
准备工具和账号
标“选用”的可以跳过。
- 浏览器 观看讲座视频,阅读讲义、Finger Exercises 与习题集 PDF
- Spyder(含 Python 3) 编写和运行讲座代码与习题集;原课程讲义使用 Anaconda 发行版,并列出 Spyder 独立安装备选方案
- Guttag 教材(第 3 版) 选用原课程配套阅读,与讲座平行;需另购,非必需
让 AI Agent 一次搭好课程
复制开课提示词发给你常用的 AI Agent。它会下载允许保存的官方材料、建立课节目录并自检;需要账号、权限或费用时会先问你。
开课提示词 · 只需用一次此提示词尚未实测验证请帮我把「MIT 6.100L:Introduction to CS and Programming Using Python(Fall 2022)」的学习环境一次准备好,让我之后只需要按顺序学习和做练习。 开始前先问我:课程放在哪个目录(等我给出完整路径),确认我的操作系统和已有工具。确认前不要创建文件或安装软件。 课程入口:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/ 我的系统:macOS。如果实际不符,先调整方案。 本次路线:macOS 本机安装 Spyder。只准备这条路线需要的工具;只读路线不安装运行环境、不配置模型密钥。 练习:按 Materials by Lecture 同步完成 Finger Exercises;PS0 是不计分的环境准备,随后 PS1–5 各有题目和代码。OCW 提供公开自学资料,不提供原课程学分和教学平台评分。 课节(官方顺序): 1. Introduction:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-1-introduction/ 2. Strings, Input/Output, Branching:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-2-strings-inputoutput-branching/ 3. Iteration:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-3-iteration/ 4. Loops over Strings, Guess-and-Check, Binary:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-4-loops-over-strings-guess-and-check-binary/ 5. Floats and Approximation Methods:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-5-floats-and-approximation-methods/ 6. Bisection Search:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-6-bisection-search/ 7. Decomposition, Abstraction, Functions:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-7-decomposition-abstraction-functions/ 8. Functions as Objects:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-8-functions-as-objects/ 9. Lambda Functions, Tuples, and Lists:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-9-lambda-functions-tuples-and-lists/ 10. Lists, Mutability:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-10-lists-mutability/ 11. Aliasing, Cloning:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-11-aliasing-cloning/ 12. List Comprehension, Functions as Objects, Testing, Debugging:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-12-list-comprehension-functions-as-objects-testing-debugging/ 13. Exceptions, Assertions:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-13-exceptions-assertions/ 14. Dictionaries:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-14-dictionaries/ 15. Recursion:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-15-recursion/ 16. Recursion on Non-Numerics:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-16-recursion-on-non-numerics/ 17. Python Classes:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-17-python-classes/ 18. More Python Class Methods:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-18-more-python-class-methods/ 19. Inheritance:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-19-inheritance/ 20. Fitness Tracker Object-Oriented Programming Example:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-20-fitness-tracker-object-oriented-programming-example/ 21. Timing Programs, Counting Operations:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-21-timing-programs-counting-operations/ 22. Big Oh and Theta:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-22-big-oh-and-theta/ 23. Complexity Classes Examples:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-23-complexity-classes-examples/ 24. Sorting Algorithms:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-24-sorting-algorithms/ 25. Plotting:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-25-plotting/ 26. List Access, Hashing, Simulations, and Wrap-Up:https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/lecture-26-list-access-hashing-simulations-and-wrap-up/ 1. 环境 - 安装 Python 3;在课程目录执行 python3 -m venv .venv,并使用 .venv/bin/python 执行后续 Python 命令。 - 课程使用 Python 3。先阅读 PS0 PDF 的安装要求;可用课程所述 Spyder/Anaconda 或独立 Python 环境。numpy、matplotlib 是后续练习依赖,在课程环境中准备。 - 官方讲义、代码和习题按 OCW 许可与第三方标注保存;保留每课原文件名,解题副本放入各课 exercises。 - 安装前先列出要装的软件和命令,等我同意;已装好的直接复用。 2. 材料 - 每课视频、讲义、代码:只记录链接 https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/pages/material-by-lecture/(MIT OCW 自有课程材料通常为 CC BY-NC-SA 4.0;个别第三方材料看单独标注。) - 官方整课下载入口:只记录链接 https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/download(从此页面选择官方课程包,核对 CC BY-NC-SA 4.0 和排除项后下载;这是网页,不作为 ZIP URL。) - PS0–5 与 starter:只记录链接 https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/lists/problem-sets/(仅保存官方链接;未核定此材料的复制许可,不自动下载或镜像。) 3. 目录(最外层放在我确认的位置) mit-6.100l-f22/ ├── README.md # 课程入口、课节清单、每次怎么开始 ├── progress.md # 每课:读讲义 / 做练习 / 记笔记 ├── questions.md # 待解决的问题 ├── check-env.sh # 环境自检,按 README 操作 ├── data/ # 练习用到的样例数据 └── lessons/ # 每课一个文件夹:notes.md + exercises/ ├── 01-lecture-01/ ├── 02-lecture-02/ ├── 03-lecture-03/ ├── 04-lecture-04/ ├── 05-lecture-05/ ├── 06-lecture-06/ ├── 07-lecture-07/ ├── 08-lecture-08/ ├── 09-lecture-09/ ├── 10-lecture-10/ ├── 11-lecture-11/ ├── 12-lecture-12/ ├── 13-lecture-13/ ├── 14-lecture-14/ ├── 15-lecture-15/ ├── 16-lecture-16/ ├── 17-lecture-17/ ├── 18-lecture-18/ ├── 19-lecture-19/ ├── 20-lecture-20/ ├── 21-lecture-21/ ├── 22-lecture-22/ ├── 23-lecture-23/ ├── 24-lecture-24/ ├── 25-lecture-25/ └── 26-lecture-26/ - 每课文件夹里建 notes.md(顶部写本课官方链接)和 exercises/;课节文件夹名称与上面一致。 - 已有课程目录先检查并复用;不覆盖笔记、作业或 progress.md,不重置已有进度。尚未发布的课节保留入口并注明未发布,不能代写讲义或虚构练习。 4. 自检 - 创建 check-env.sh,逐项检查并记录“通过/未通过”: - 在课程根目录运行;每项检查独立执行,进入子目录不能影响下一项。使用当前系统的终端运行。 - python --version → 当前课程独立环境输出 Python 3 版本;macOS/Linux 若使用 python3,应在生成 check-env 时按实际解释器改写。 - python -c "import numpy, matplotlib; print(numpy.__version__, matplotlib.__version__)" → 课程环境可导入 numpy、matplotlib - 人工检查:在编辑器保存并运行第一课自己的 Python 文件,确认输出;打开 PS0 中指定 starter,不把下载完成当作习题完成 → 能打开指定材料并核对标题;此项是人工检查,不是终端命令,也不代表课程练习已完成。 - 标注为人工检查、浏览器操作或 notebook 单元的项目,按相应方式操作,不直接粘贴进 shell;脚本只包含当前系统可执行的命令。 - 仅在当前路线需要、对应材料已获准保存、工具已安装时运行该项;需要登录、付费或尚未开放的材料记为“需要我操作/未验证”,不能伪报通过。不执行会调用付费 API、提交作业或修改云服务的检查。 - 运行一次,把结果给我看;未通过的项目说明原因和修复办法。 5. 学习计划 - README.md:课程入口、课节清单(带链接)、每次学习怎么开始(使用“每课提示词”)。 - progress.md:每课三项勾选——读讲义、做练习、记笔记。 6. 最后分三部分汇报:已完成、需要我自己操作的、尚未验证的。 边界: - 需要管理员权限、会产生费用或需要填写密钥的操作,先告诉我原因,等我同意。密钥由我在本机配置,不发到聊天,不写进笔记或版本库;原项目需要 .env 时确认已被 Git 忽略。 - 不替我写练习或作业答案,也不替我提交。我卡住时只给提示;我明确要求时才给解答。 - 只下载许可允许个人保存的材料;其余只放链接。不把未运行的命令说成成功。 如果你不能直接操作我的文件系统,请在确认目录后给出适用于我的系统、可直接执行的命令和需要保存的文件内容。搭好后的课程目录
mit-6.100l-f22/ ├── README.md # 课程入口、课节清单、每次怎么开始 ├── progress.md # 每课:读讲义 / 做练习 / 记笔记 ├── questions.md # 待解决的问题 ├── check-env.sh # 环境自检,按 README 操作 ├── data/ # 练习用到的样例数据 └── lessons/ # 每课一个文件夹:notes.md + exercises/ ├── 01-lecture-01/ ├── 02-lecture-02/ ├── 03-lecture-03/ ├── 04-lecture-04/ ├── 05-lecture-05/ ├── 06-lecture-06/ ├── 07-lecture-07/ ├── 08-lecture-08/ ├── 09-lecture-09/ ├── 10-lecture-10/ ├── 11-lecture-11/ ├── 12-lecture-12/ ├── 13-lecture-13/ ├── 14-lecture-14/ ├── 15-lecture-15/ ├── 16-lecture-16/ ├── 17-lecture-17/ ├── 18-lecture-18/ ├── 19-lecture-19/ ├── 20-lecture-20/ ├── 21-lecture-21/ ├── 22-lecture-22/ ├── 23-lecture-23/ ├── 24-lecture-24/ ├── 25-lecture-25/ └── 26-lecture-26/
来源与使用须知
- 原始资源
- MIT OpenCourseWare 收录版本:Fall 2022(OCW 课程资料)
- 收录时间
- 本站首次收录 2026-10-10
版权与转载
- CC BY-NC-SA 4.0:可转载和改编,需署名;仅限非商业用途;改编作品须使用相同许可;适用范围以原站说明为准,第三方材料可能另有条款。原站说明
- 其余材料未标明许可:仅供个人学习,转载、修改或商用前请先联系原作者。
- 本站只提供原始链接和学习指南,不转载、不镜像课程材料;课程图像来自原站,版权与商标归原权利人;引用时请注明原作者与出处。