# MIT 6.0001 计算机科学与编程导论
# 课程简介
| 项目 | 内容 |
|---|---|
| 课程名称 | 6.0001 - 计算机科学与编程导论(Introduction to Computer Science and Programming) |
| 学科领域 | 计算机导论、Python语言 |
| 所属大学 | 麻省理工学院 (Massachusetts Institute of Technology, MIT) |
| 先修要求 | 编程入门课,无明确先修要求 |
| 课程时长 | 30-70h |
| 适合年级 | 大一、低年级同学 |
| 编程语言 | Python |
| 学习难度 | ⭐⭐ |
# 课程说明
MIT的6.0001课程主要讲解计算机科学与编程的基本概念,包括算法、数据结构、编程语言等。
课程主要用的 Python 这门编程语言作为讲解,主要是导论性质的课程。
# 课程大纲
| 视频序号 | 英文标题 | 中文标题 |
|---|---|---|
| 1 | 1.1 - What is Computation? | L1.1- 什么是计算科学 |
| 2 | 1.2 - Shell vs. Editor | L1.2- shell与编辑器 |
| 3 | 1.3 - Python vs. Math | L1.3- Python与数学 |
| 4 | 1.4 - Bindings | L1.4- 连接(bindings) |
| 5 | 2.1 - Branching and Iteration | L2.1- 分支与循环 |
| 6 | 2.2 - Strings | L2.2- 字符串 |
| 7 | 2.3 - Comparisons | L2.3- 程序中的「比较」逻辑 |
| 8 | 2.4 - Branching | L2.4- 分支 |
| 9 | 2.5 - While Loops | L2.5- while循环 |
| 10 | 2.6 - For Loops | L2.6- for循环 |
| 11 | 3.1 - String Manipulation, Guess and Check, Approximations, Bisection | L3.1- 字符串操作、近似、插入等 |
| 12 | 3.2 - String Manipulations | L3.2- 字符串操作 |
| 13 | 3.3 - For Loops With Strings | L3.3- 字符串的for循环处理 |
| 14 | 4.1 - Decomposition, Abstraction, and Functions | L4.1- 分解、抽象与函数 |
| 15 | 4.2 - Function Calls | L4.2- 函数调用 |
| 16 | 4.3 - Functions as Arguments | L4.3- 函数参数 |
| 17 | 5.1 - Tuples, Lists, Aliasing, Mutability, and Cloning | L5.1- 元组、列表、重命名、元素更改与复制 |
| 18 | 5.2 - Tuples | L5.2- 元组 |
| 19 | 5.3 - Simple Lists | L5.3- 简单列表 |
| 20 | 5.4 - List Operations | L5.4- 列表操作 |
| 21 | 5.5 - List Aliasing/Mutation | L5.5- 列表重命名与元素更改 |
| 22 | 6 - Recursion and Dictionaries | L6- 递归与字典 |
| 23 | 7.1 - Testing, Debugging, Exceptions, and Assertions | L7.1- 测试与调试、异常处理与断言 |
| 24 | 7.2 - Black Box and Glass Box Testing | L7.2- 黑盒与白盒测试 |
| 25 | 7.3 - Errors | L7.3- 错误处理 |
| 26 | 7.4 - Exceptions | L7.4- 异常处理 |
| 27 | 8.1 - Object Oriented Programming | L8.1- 面向对象的编程 |
| 28 | 8.2 - Class Definition | L8.2- 类的定义 |
| 29 | 8.3 - Class Instance | L8.3- 类的实例 |
| 30 | 8.4 - Methods | L8.4- 类方法 |
| 31 | 8.5 - Method Call | L8.5- 方法调用 |
| 32 | 8.6 - Special Methods | L8.6- 特殊函数(方法) |
| 33 | 9.1 - Python Classes and Inheritance | L9.1- python类与继承 |
| 34 | 9.2 - Getters and Setters | L9.2- get与set系列处理 |
| 35 | 9.3 - Subclass | L9.3- 子类 |
| 36 | 10 - Understanding Program Efficiency, Part 1 | L10- 程序效率分析 1 |
| 37 | 11 - Understanding Program Efficiency, Part 2 | L11- 程序效率分析 2 |
| 38 | 12 - Searching and Sorting | L12- 搜索与排序 |
# 相关资源
课程官网:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/ (opens new window)
B站课程视频:https://www.bilibili.com/video/BV1Dw411f7KK (opens new window)
6.0001资源汇总页:http://blog.showmeai.tech/mit-6.0001/ (opens new window)
# 配套讲义和教材
- "Python Crash Course" by Eric Matthes
- "Automate the Boring Stuff with Python" by Al Sweigart
@2023-2023
编程指北 版权所有
粤ICP备2021169086号-1