课程 6.0001 | MIT校长亲授,超100万人学习的计算思维入门课

2021-10-25 09:56:45 浏览数 (1)

编辑 | 南乔River

6.0001 6.0002 = ?

6.0001 和 6.0002 是MIT课程代码,两门课程组合成了一个小系列,用一学期的时间,为没有任何计算机背景的学生,讲清楚『计算思维』这个基础又抽象的关键内容,并充满信息地敲下人生第一行Python代码。

6.0001Introduction to Computer Science and Programming Using Python》(计算机科学与Python编程导论)

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/

6.0002Introduction to Computational Thinking and Data Science》(计算思维和数据科学入门)

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0002-introduction-to-computational-thinking-and-data-science-fall-2016/

作为入门课程,6.0001和6.0002可以说非常好地完成了它们的使命!

两门课程以知识广度为更高的目标,将分支、循环、字符串、近似、函数、元组等娓娓道来,并且将内容深度控制在了非常友好的层面,初学者也能理解计算并通过程序解决实际的问题。

选择Python(而不是C/C )作为编程语言,教授们也用心良苦——Python语法简单易学、容易调试、不用进行内存管理,学生们可以关注更核心的『计算思维』。

wow~ ⊙o⊙

大神来教『幼儿园』

Dr. Ana Bell

哥伦比亚大学学士、普林斯顿大学硕博士,研究方向是计算生物学,《Get Programming: Learn to code with Python》一书的作者。

Prof. Eric Grimson

MIT校长,ACM、IEEE、AAAI Fellow,研究领域为计算机视觉和医学图像分析。教授的这门计算机编程入门课已有15000名MIT学生,并且是50名MIT博士的论文导师。

Prof. John Guttag

MIT电气工程和计算机科学系主任,研究机器学习、计算机视觉在医学、金融和体育领域的应用。教学致力于帮助学生构建计算思维,是《Introduction to Computation and Programming Using Python》这本神书的作者。

6.0001讲了什么?

我们从6.0001课程着手,一起看看课程设计者精心构造的『计算思维』世界,是由哪些知识组成的。

视频序号

英文标题

中文标题

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- 搜索与排序

学习收获

通过课程的学习,我们可以不仅可以掌握如下知识点,也能将其串联成完整的Python编程应用技能,为后续计算机科学专业方向(比如网站开发、数据科学、人工智能)应用与落地做好准备。

  • A Notion of computation / 计算的概念
  • The Python programming language / Python编程语言
  • Some simple algorithms / 一些简单算法
  • Testing and debugging / 测试和调试
  • An informal introduction to algorithmic complexity / 算法复杂性的非正式介绍
  • Data structures / 数据结构

参考链接

[1]课程官网:https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

[2]B站课程视频:https://www.bilibili.com/video/BV1Dw411f7KK

[3]6.0001资源汇总页:http://blog.showmeai.tech/mit-6.0001/

THE   END     

转载请联系本公众号(ShowMeAI-Hub)获得授权

0 人点赞