Skip to content

6.1010 程序设计基础(Python版)

aka.《Fundamentals of Programming》 6.101 Fall 2025 (mit.edu)

介绍编程的重要概念,主题包括编程和 Python 基础知识、计算概念、软件工程、算法技术、数据类型和递归。旨在培养将编程语言的基本方法应用于抽象问题的技能。

欢迎来到6.101!我们将踏上学习计算机编程的旅程,这是现代世界中任何人都可以拥有的最有趣、有趣和实用的技能之一。这门课多样化的学生群体,不仅在背景方面,而且在未来目标方面也是如此。有些人计划成为软件工程师。有些人对这种职业不感兴趣,但承认在解决自己感兴趣领域的问题时让计算机为自己工作的效用。有些人觉得编程本身很有趣而且有趣。你可能属于这些类别中的一个或多个。无论如何,如果你未来的目标和计划中涉及计算,我们希望对你来说将是一次有趣和有价值的体验!

目标

分为编程目标和思维目标

编程目标

  • 用"地道"的方式设计实现中小型python程序
  • 在你喜欢的编程环境中,实现了测试,调试python程序
  • 将编程作为一个工具解决其他领域的问题
  • 学会用命令行与你的计算机交互

思维目标

  • 能够将一个大问题分解成可独立实现,独立调试的小问题。
  • 不使用电脑,通过模型图分析,推断出python程序的行为。
  • 理解各种算法和数据结构在效率和正确性方面所带来的权衡问题。
  • 在编写任何代码之前,预测程序设计中的一些边缘情况和故障模式。

课程介绍

组成部分

  • 阅读材料
  • 复习材料
  • 12个实验,每个实验,都包括软件设计、构建和设计实施
  • 复习课

实验

TODO

参考书

Lec 0 设计程序指南 & 命令行工具

lec0.md

Lec 1 运行环境模型

lec1.md

Lec 2 函数的乐趣

lec2.md

Lec 3 洪水填充和迷宫路径查找

lec3.md

Lec 4 图搜索

lec4.md

Lec 5 递归

lec5.md

Lec 6 递归和迭代器

lec6.md

Lec 7 递归回溯

lec7.md

Lec 8 自定义类型

lec8.md

Lec 9 继承和面向对象编程

lec9.md

Lec 10 函数式编程

lec10.md