桂林电子科技大学

计算思维的结构

图片
课程概述

本课程讲授的主要内容有:伟大的计算原理计算思维的结构,计算机方法论概述,课程评价问题的探讨(BLOOM分类法、SOLO分类法,难度、复杂度与能力);计算学科的基本问题(算法复杂性中的难解性问题,RSA公开密钥密码系统,组合爆炸问题,程序设计中的结构问题,软硬件资源的管理问题,计算机中的博弈问题等);计算学科的抽象、理论和设计3个学科形态(计算机语言的发展及其3个学科形态的内在联系);计算学科的核心概念(算法,数据结构,数据的存储和表示,数据的编码、校验);计算学科中常用的数学方法(集合,函数和关系,代数系统,定义、定理和证明,必要条件和充分条件,证明方法,递归和迭代,公理化方法,形式化方法);计算学科中常用的系统科学方法(系统科学的基本思想,软件开发引入系统科学方法的原因,使用系统方法的思考);跨学科的计算问题案例等。

 

本课程还设置了可供学生选修的与课程核心内容相呼应的实验,可以让学生在体会计算机科学编程之美的过程中进一步理解计算机科学的基础概念,提高学生问题求解和系统设计的计算思维能力。

 

“计算思维的结构”课程建设为2014年教育部高教司—微软公司校企合作专业综合改革一类项目,项目得到微软公司的资助。


               

授课目标
就哲学方法论而言,学科方法论是认知一个学科的有效工具。本课程根据计算机方法论的结构框架组织教学,旨在通过计算机方法论的学习,认知计算学科,同时,借助大量的案例,加深人们对计算机科学基础概念的理解,提高人们问题求解、系统设计和人类行为理解方面的计算思维能力,促进各学科的交叉融合。
证书要求

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

预备知识

先修课:大学计算机

授课大纲

本课程分为七章,32学时。主要讲授内容如下:

第1章 绪论

    1.1 伟大的计算原理

     1.2 计算思维的结构

     1.3 难度、复杂度与能力(补充知识)

     1.4 SOLO分类法(补充知识)

第2章 计算学科的基本问题

     2.1 汉诺塔问题

     2.2 证比求易算法和P=NP?

     2.3 RSA公开密钥密码系统

     2.4 旅行商问题与组合爆炸

     2.5 GOTO与程序结构

     2.6 哲学家共餐问题

     2.7 两军问题

     2.8 图灵测试

第3章 计算学科的3个学科形态(抽象、理论和设计)

     3.1 对“学生选课”实例的感性认识

     3.2 对“学生选课”实例的理性认识

     3.3 “学生选课”系统的工程设计

     3.4 自然语言与形式语言

     3.5 图灵机·诺依曼计算机

     3.6 机器指令与汇编语言

     3.7 虚拟机

     3.8 高级语言

     3.9 应用语言

     3.10 自然语言

第4章 计算学科中的核心概念

     4.1 算法概述

     4.2 常用的两类算法:搜索与排序

     4.3 数据结构的基本概念

     4.4 基于Vomcputer机器的数据结构概述

     4.5 基于Vomcputer机器的数据的逻辑结构

     4.6 基于Vomcputer机器的数据的存储结构

     4.7 补码在计算机中的表示

     4.8 图像的存储和表示

     4.9 字符、字符串和汉字的编码

     4.10 奇偶校验算法

     4.11 CC1991报告提取的核心概念

第5章 计算学科中的数学方法

     5.1 数学的基本特征

     5.2 数学方法的作用

     5.3 计算学科中常用的数学概念和术语

     5.4 证明方法

     5.5 计算学科构造性的基础——递归和迭代

     5.6 随机数和蒙特卡洛方法

     5.7 公理化方法

     *5.8 计算学科的形式化方法

第6章 计算学科中的系统科学方法

     6.1 系统科学与系统科学方法

     6.2 软件开发中使用系统科学方法的原因

     6.3 使用系统方法的思考

第7章 跨学科的计算问题案例

     7.1 社会与职业中3个典型的计算问题

     7.2  森林火灾的计算问题

     7.3  多普勒效应的计算问题

     7.4  小世界网络模型的计算问题

     7.5 科赫曲线

     7.6 向日葵种子生长模拟

     7.7 烟花模拟

     7.8 俄罗斯方块游戏

参考资料

推荐教材:

1.董荣胜.计算机科学导论——思想与方法(第3版).高等教育出版社.2015

2.董荣胜,古天龙著.计算机科学与技术方法论.人民邮电出版社,2002


参考网站:

“计算机科学导论”国家级精品课程网站:http://jpkc.guet.edu.cn/jsjkxdl/index.asp


参考资料:

1.Herbert A.Simon著,武夷山译.人工科学:复杂性面面观.上海科技教育出版社,2004

2.Jeannette M. Wing. Computational Thinking. Communications of the ACM.2006,49(3)

3.Peter J.Denning.Great principles of computing. Communications of the ACM, 2003,46(11)

4.温伯格.系统化思维导论.清华大学出版社,2003

5.温伯格.程序开发心理学.清华大学出版社,2004

6.洛林·W.安德森(Lorin W.Anderson)等著,蒋小平,张琴美等译.布卢姆教育目标分类学:分类学视野下的学与教及其测评(完整版)(修订版).外语教学与研究出版社,2009

7.约翰 B.彼格斯(John B.Biggs),凯文 F.科利斯(Kevin F.Collis)著,高凌飚,张洪岩译.学习质量评价:SOLO分类理论(可观察的学习成果结构).人民教育出版社,2010.5

8.D.Easley,J.Kleinberg,李晓明等译.Networks, Crowds, and Markets,清华大学出版社,2011

9.徐长福.理论思维与工程思维.上海人民出版社.2002

10. J.Glenn Brookshear. 计算机科学概论(11版).刘艺,等译.北京:人民邮电出版社,2011


常见问题

Q:本MOOC课程选修的基础是什么?

A:计算机科学源于欧美,目前,美国在计算机领域占据领先地位,美国大学的第一门计算机课程(不分专业)的名称一般为“计算机科学导论”,有的也称为“计算思维导论”。计算思维的培养是美国大学计算机教育的第一任务。在中国,由于历史等多种原因,这类课程有很多名称,常见的有:大学计算机基础,大学计算机文化,计算机应用基础,计算机导论,计算机专业导论,计算概论等。经过多年的探索与实践,2016年1月,教育部高等学校大学计算机课程教学指导委员会推出了《大学计算机基础课程教学基本要求》,明确将计算思维能力的培养作为“大学计算机基础”课程的核心内容。本课程通过学科方法论的讲授来提高学生的计算思维能力,无论是从方法上,还是从内容上,都完全符合《大学计算机基础课程教学基本要求》的要求,只不过,本课程的内容超出了教指委大学第一门计算机课程的基本要求。因此,建议在修完"大学计算机"课程后,再进行选修。

Q:学习这门课程的同学都必须安装特定的软件吗?

A:不是必须的。但要求选修了实验的同学下载并安装与本课程有关的2个简单易学的特定软件:本课程网站上下载vcomp_alpha软件(存储程序式计算机仿真软件),在Raptor官网上下载Raptor可视化编程软件。

Q:对于初学者,如何学习,有何建议?

A:建议问题优先,即先从第2章“计算学科的基本问题”开始学习。建议,选了实验的同学尽快开始做本课程的实验内容。不选实验的同学,可以先做习题(不计入总分),看完视频、资料后,再做测验题,最后参加课程考试。

Q: 对基于本MOOC课程,开设MOOC+SPOC+翻转课程的老师有何建议?

A:本MOOC课程,干货多多。建议以案例教学为主,开课老师可以根据各自课程的具体情况进行取舍。比如,在本MOOC下开设“C语言程序设计”课程,侧重于本课程用Raptor实现的大量算法并转换之;“编译原理”,侧重本课程第3章的内容;“数据结构”,侧重本课程第4章的内容;“数据库原理及应用”,侧重第6章的“基于Access的简单数据库设计”的实验内容。