本课是一门计算机科学的导论课,主要教授解决真实世界中的分析问题的方法。 6 H+ R& T5 }: Z( R# i
这门课是一个edX系列课程(XSeries)中的第一课,系列课程共两门,包含计算机科学及Python编程导论和计算思维及数据科学导论。这两门课旨在帮助没有计算机科学及编程学习经验的人,培养他们的计算思维,并且编写程序来解决一些实用的问题。有些人把这两门课当作更高级的计算机科学课程的垫脚石,但对更多的人来说,这将是他们第一个也是最后一个计算机科学课程。
鉴于这些课程对大多数学生来说有可能是他们学习的唯一一个正式的计算机科学课程,我们决定将重点放在广度上,而不是深度。这门课的目的是提供学生们在很多话题上的基础知识,这样当他们日后在职业生涯中遇到需要用计算来实现某些目标时,他们就知道这样是否可能。也就是说,这不是“计算欣赏”课,而是具有挑战性的缜密的课程,学生们需要花费大量的时间及精力来学习如何让计算机为他服务。
$ G+ j; [" \& n& C6 e8 Y, B
计算机科学及Python编程导论课内容包括计算概念,Python编程语言,一些简单的算法,测试和调试以及计算复杂性导论,和一些简单的算法数据结构。 9 R6 @5 b% u* j$ U* \& I+ }
讲师:
Eric Grimson麻省理工学院 计算机科学和电机工程系 教授、副校长
W. Eric L. Grimson 是 MIT 的副校长,计算机科学和工程教授,及医学工程 Bernard M. Gordon 教授。他于 2011 年被任命为 MIT 副校长之职。Grimson 教授自 1984 年起在 MIT 任职,曾担任电机工程和计算机科学系主任、系副主任及教育主任。Grimson 教授在计算机视觉方面的研究得到国际认可,特别是在医学图像分析方面的应用更是如此。他及他的学生们已经研制出活动和行为识别技术、物体和人体识别、图像数据库索引、图像导航外科手术、场地建模等计算机视觉在各领域的应用。Grimson 教授在整个事业中都积极与学生进行互动。他教授 6.001 计算机程序语言编译与设计已有 25 年之久,现在则在教授 6.00 计算机科学和编程导论以及 6.01 EECS导论课程。他还教授本科课程包括计算机架构、软件工程和信号处理。Grimson 教授总计带出万余名 MIT 本科生,并为近 50 名 MIT 博士生担任导师。Grimson 教授是加拿大萨斯喀彻温人。他于1975 年在加拿大里贾纳大学获得数学和物理荣誉理学士学位,并于 1980 年在 MIT 拿到数学博士学位。他在 MIT 的工程学院获得教学卓越Bose 奖。他是美国人工智能协会 (AAAI) 成员,也是美国电气与电子工程师协会 (IEEE) 成员。
Ana Bell麻省理工学院 计算机科学和电机工程系 讲师:
/ y+ n4 @$ C6 Y p3 O( l
Ana Bell 是 MIT 计算机科学和电机工程系讲师。Bell 教授在加拿大温哥华英属哥伦比亚大学获得应用科学学士学位。她在普林斯顿大学拿到硕士和博士学位。她的研究方向是计算生物学,特别是使用计算技术回答这类问题:基因在做些什么?基因如何彼此间作用,并影响其他小分子?她在普林斯顿大学担任两个学期计算机科学导论的助教经历让她发现了自己对从教的热情。从那以后,她就一直寻找机会,为学生们介绍计算机科学的奇妙世界。 Y2 Z% ^2 @& X8 w* n
John Guttag麻省理工学院 计算机科学和电机工程系 教授 - G& t& ?* V' I0 e* }- q4 d
: P& V. M7 \9 q( A$ d3 F7 c1 ^
John Guttag 教授是 MIT 计算机科学和电机工程的 Dugald C. Jackson 教授。他负责计算机科学和人工智能实验室的数据驱动医学研究小组。该小组从事高级计算技术在医学领域的应用研究。目前的项目包括预测不良医学事件、预测病患对治疗的具体反应、无创监测和诊断工具,以及远程医疗。他还从事数据网络、运动分析、软件无线电、软件工程和机器定理证明等方面的研究、出版和讲座。Guttag 教授在布朗大学获得英语学士学位,以及应用数学的硕士学位。他的博士学位是在多伦多大学获得。从 1999 年 1 月至 2004 年 8 月,Guttag 教授一直担任 MIT 电机工程和计算机科学的系主任。他是美国计算机协会的成员,也是美国文理学院院士。7 I$ T; y, C9 S8 a
【课程大纲】:
5 V! h: O8 Z0 _ G3 I) I
第一周 Week 1 & h# O1 Y' C! I% m1 D# P
计算科学简介 Lecture 1 - Introduction to Computation $ d# q9 z7 ?0 l" H3 C, @& i
Problem Set 0
编程基础 Lecture 2 - Core Elements of Programs
. g7 t* c# |1 r h5 _: _3 h
第二周 Week 2
简单算法 Lecture 3 - Simple Algorithms
函数 Lecture 4 - Functions
8 \# o3 f/ Z. O; i( c4 j
第三周 Week 3 9 z5 U6 D$ f1 R! [( C4 K7 ~
递归 Lecture 5 - Recursion
对象 Lecture 6 - Objects - H4 d" w& z1 E% Y
9 Z9 ] G. f# D, {. S
第四周 Week 4
调试 Lecture 7 - Debugging
断言和异常 Lecture 8 - Assertions and Exceptions # B. S) z6 @5 L5 I5 I
第五周 Week 5
效率和增长量级 Lecture 9 - Efficiency and Orders of Growth
内存和查找 Lecture 10 - Memory and Search
第六周 Week 6
类 Lecture 11 - Classes 6 H: _8 T) w3 Y
面向对象编程 Lecture 12 - Object Oriented Programming
) O( h" U. N1 u8 r
第七周 Week 7 , ^) h' y# V( t% M5 _8 `7 e) G$ V
树 Lecture 13 - Trees ! Y7 B5 g) n; b7 j" j
总结 Wrap up 4 P; @( l( [- I/ `6 n: i4 H
第八周 Week 8
研究视频 Research Videos
|