哈尔滨工业大学

大学计算机—计算思维导论

图片
课程概述


大学计算机是一门什么课程呢?

(1)大学计算机是面向大学一年级学生开设的,与大学数学、大学物理有一样地位的通识类思维教育课程。它不是讲授计算机及其软件(如Office,Access,IE等)如何使用的课程;它也不是仅仅训练学生程序设计内容的课程;它是讲授每个大学生都应具备的计算思维的课程,大学生创造性思维培养离不开计算思维的培养。

(2)计算思维是互联网与信息时代每个人都应具备的一种思维方式。互联网公司(如阿里巴巴、Facebook、Apple、腾讯等)的成功应归属于计算思维运用的成功;1998年和2013年的诺贝尔化学奖授予一个计算手段的研究者说明:计算思维对非计算机学科人才实现复合性跨学科创新是非常重要的。

(3)大学阶段应更多地训练“思维”,而不应仅着眼于“知识”即事实的学习。计算机学科知识的膨胀速度是非常快的,“知识”的学习必须有所选择,因此应学习计算机学科经典的、对人们现在和未来有深刻影响的思维模式;“知识”随着“思维”讲解而介绍,“思维”随着“知识”的贯通而形成,“能力”随着“思维”的理解而提高。


大学计算机课程应围绕着大学计算思维教育空间-计算之树,进行内容的组织和讲解。本课程分四个部分。

(I)计算与程序主要讲授计算与计算思维,符号化、计算化和自动化,计算系统与程序构造,程序构造方法:递归与迭代,这些是由社会/自然到计算的、最基本的抽象和自动化机制;

(II)计算系统主要讲授程序是如何被执行的,包括内存环境下程序的执行和复杂环境下借助于操作系统管理的程序的执行,以及如何编写让计算系统可以执行的程序;

(III)算法思维主要讲授算法类问题求解框架-问题与数学建模、算法策略设计、数据结构和控制结构以及算法复杂性与正确性,还将以案例形式介绍由问题到环境,再到受限资源约束下的问题求解算法,以及难解性问题、计算和算法之间的关系等;

(IV)数据化与网络化思维数据化思维即:数据获取==>数据管理==>数据分析与运用;网络化思维即:机器网络==>信息网络==>群体互动网络==>网络化社会。

.       

这是本课程第六期开放。本期课程,包含了周以真教授于2012年讲授计算思维的视频(配有中英文字幕及胶片)和2014年讲授计算思维的视频(英文版)。本期课程,还包含了不同学校教师讲授相关内容的视频,例如天水师范学院刘玉芳副教授讲授OFFICE应用的视频,南京航空航天大学潘梅园副教授讲授基于Raptor的实践章节,陇东学院各位老师讲授的各种软件处理技巧,以满足不同学习者在学习计算思维之余对软件应用方面学习的需求。

证书要求

设置“合格”(达到60分)、"优秀"(达到80分)两档课程标准,由任课教师签发课程结业证书,其中成绩“优秀”者将颁发优秀证书。

预备知识

大学计算机-计算思维导论课程,有些学校称为大学计算机基础,有些学校称为大学计算机,也有些学校称为计算机文化基础计算机应用基础等。本课程对传统课程内容做了大幅度的改进和提升,主要是以讲授计算思维为主。虽然讲授计算思维,但你只要耐心的看视频、仔细思考,你就能够学会。你是否会编程序,不是会不会用计算机语言的问题,而是你有无解决问题的计算思维。因此,大学生第一门计算机课程应学习计算思维。

授课大纲

本课程面向大学一年级学生开设,培养学生的科学与工程思维--计算思维,促进学生的计算思维与各专业思维交叉融合形成复合型思维,为各专业学生今后设计构造应用各种计算系统求解学科问题奠定思维基础,帮助学习者提高解读真实世界系统并解决全球范围复杂问题的能力。了解社会/自然问题利用计算手段进行求解的基本思维模式,具有利用典型计算思维进行计算系统构造的初步能力;了解高级语言/机器语言程序是如何被执行的,了解复杂系统化复杂为简单的基本思维,具有模拟不同计算环境执行程序的初步能力;了解由问题、到算法、再到程序的问题求解思维模式,了解问题、算法与计算资源(环境)之间的关系,了解难解性问题求解的基本思路,具有构造算法并模拟算法执行的初步能力;了解数据管理的手段(数据库与数据挖掘),理解数据库和大数据的社会影响,体验基于数据库和数据挖掘的数据运用方法;了解机器网络、信息网络和网络化社会的形成机理,理解网络化的社会影响,体验用数学方式研究网络化问题的基本思维。

本课程分为十三讲,每讲两个小时左右。主要讲授如下内容:

第1讲 计算机、计算与计算思维

第2讲 符号化、计算化与自动化

第3讲 程序与递归:组合、抽象与构造

第1至第3讲内容:(1)这些内容是社会/自然问题利用计算手段进行求解的基本思维模式;(2)这些内容是各专业相关计算系统理解、设计与应用的基础;(3)这些内容是“计算机”最本质最核心的内容。

第4讲 冯.诺依曼计算机—机器级程序及其执行

第5讲 现代计算机—复杂环境下程序执行

第6讲 由机器语言到高级语言---程序编写编译

第4至第6讲内容:这些内容是“计算+”思维的核心,是设计/构造各专业相关计算系统的基础。理解计算机系统,核心是理解机器语言程序如何被执行,理解高级语言程序如何转换成机器语言程序被执行,理解现代计算环境中程序是如何被执行的。它们对你未来从事各种计算系统的设计与实现工作有重要影响。

第7讲 算法-程序与计算系统之灵魂

第8讲 怎样研究算法-排序算法研究示例

第9讲 怎样研究算法-遗传算法研究示例

第7至第9讲内容:这些内容是“计算+”思维的核心,是构造/应用各专业相关计算系统的基础。若想用计算机求解社会/自然问题,你要理解如何从问题到算法再到程序,要理解用算法求解社会/自然问题的基本过程。在此基础上,你要理解问题、算法与计算环境之间的关系,理解研究“算法”更重要的是研究受限资源约束下的算法,同时,你要理解,对有些问题计算机是难于求解的,此时的求解思路是什么?

第10-11讲 数据化思维--怎样管理和利用数据

第12-13讲 网络化思维--怎样连接和利用网络

第10至第13讲内容:这些内容是“大数据+”“互联网+”思维的核心,是应用计算系统研究各学科问题的基础。你要理解如何聚集数据、如何分析和利用数据,理解数据库和大数据的社会影响,体验基于数据库和数据挖掘的数据运用方法。你要从理解机器网络开始,进一步理解信息网络,理解社交网络,进而理解网络化的社会影响,体验用数学方式研究网络化问题的基本思维。


参考资料

大学计算机(第2版)-计算与信息素养, 战德臣,聂兰顺等著 高等教育出版社, 2014版 

大学计算机-计算思维导论, 战德臣, 聂兰顺等著, 电子工业出版社,2013版


常见问题


(1)大学计算机-计算思维导论课程,有些学校称为大学计算机基础,有些学校称为大学计算机,也有些学校称为计算机文化基础计算机应用基础,计算机专业的称为计算机专业导论计算机导论等。本课程摒弃了传统课程中以讲软件应用为主(如Office,Windows等)的内容,而专注于从计算思维的角度讲授计算机相关方面的知识,以期对学生创造性思维的培养有所贡献,毕竟计算思维是大学生未来创新所必须具有的一种思维模式。考虑到不同学习者的需求,关于常用软件应用方面的内容,本课程也邀请了不同学校的教师进行了讲解,作为课程补充内容,供学习者选学。


(2)不要把计算思维的学习看成理论课的学习。一个人可以没有理论,但不能没有思维!“高度决定视野, 角度改变观念, 尺度把握人生”。学习大学计算机,也要像王国维先生所提出的境界一样, 也需要进入一定的境界, 即"昨夜西风凋碧树, 独上高楼,望尽天涯路",因为站得高,才能看得远,看得远,才能看得真。另一重境界是“衣带渐宽终不悔,为伊销得人憔悴”,既要由此及彼,浮想联翩,又要坚定执着,孜孜以求。应提醒的是“众里寻她千百度,蓦然回首,那人却在灯火阑珊处”,计算机相关内容的学习,归根结底,还是计算思维的学习,还在于《大学计算机——计算思维导论》的学习。


(3)如何把握和学习本门课程?你知道中医吧?人身体上分布着若干“穴位”,不同的穴位链接起来就是“脉络”,不同的脉络可治不同的病,这是中医的基本认识。但你知道了脉络,为什么还不能治病呢,这是因为你没有能力让气息在脉络间流动,你做不到这点,而要做到这点,则就需要长期的锻炼。因此,知识好比是穴位,而一年级时学习本门课程,是学习这个“脉络”,你要熟悉这些脉络,要知道哪些脉络能治哪些病。当你经过若干年的不断努力,深入理解知识,做到知识的融会贯通时,你就能将思维转变成能力--应用计算思维的能力。

大学一年级就像是一张白纸,画个什么样的底图,对后来成为什么样的作品很重要,所以要学习计算思维。但计算思维有丰富的内涵,不可能在一讲内就完全明白,它需要你在学习后不断地悟,越悟越有味道。我们这门课,不是说给你个“计算思维”的定义,什么是计算思维,像中学学习一样,那个没有什么意义。很重要的,你可以不知道“计算思维”的定义,但你应该知道“符号化-计算化-自动化”,你应该知道“计算系统与程序的关系”你应该知道“程序是如何被机器自动执行的”……这些都是计算思维,都是计算思维直观的例子。耐心地看视频,以潜移默化的方式理解和接受计算思维,是把握和学习本门课程最最重要的。


(4)关于能否听懂大学计算机课程的问题本课程讲解可实现的思维,而不是实现细节,是能听懂的;通过案例及其模拟来讲授抽象的概念,是能听懂的;由浅入深的讲授,逐步揭示思维的奥妙,也是能听懂的。很多学生听不懂,一是因为本门课有太多的术语,二是很多知识,同学都是第一次接触,同学想一次性完全理解这些内容,应该说是有困难的。因此,正确的学习方法是很重要的。若想学好它,则本门课程的第1讲到第13讲的视频要耐心地看完,遇到不明白的术语,如果不影响理解可以暂时忽略或者先记下,等看到后面时可能就明白了,或者暂停去百度一下。但不管怎样,看完视频进行整体理解是很重要的---很多同学说,本课程是要消耗脑细胞的,开学以来最扩张脑洞的课。但本门课程的视频,估计看一遍是不行的,不是说你没有听懂,而是需要你思考,而你越思考感觉越不明白,这种感觉是正常的,有这种感觉的话,如果你能再看一遍,则就会豁然开朗。如果你坚持,你就能学好它。

能否听懂还取决于以下要素:(1)你是否有信念和信心? 信念和信心将决定你能否听得懂!(2)你是否坚持? 坚持听课,坚持训练,“铁杵磨针”,就能听得懂!(3)你是否主动思考主动探索? 思维的建立是不断思考的结果,对任何持疑的内容可通过互联网进一步探索和学习,或者及时与教师沟通获得提高!

记住:会不会应用计算机,会不会编写程序,根本来讲是有没有解决问题的计算思维。

相信自己:你行的,你一定行。我也相信你:你懂的,你会懂的!