前 言 2006年3月,美国卡内基·梅隆大学周以真教授清晰系统地阐述了计算思维的概念。2010年7月,首届“九校联盟(C9)计算机基础课程研讨会”讨论如何在新形势下提高计算机基础教学的质量,与会者形成了共识并发表了《九校联盟(C9)计算机基础教学发展战略联合声明》。其核心要点: 必须正确认识大学计算机基础教学的重要地位,需要把培养学生的“计算思维”能力作为计算机基础教学的核心任务,并由此建设更加完备的计算机基础课程体系和教学内容。2010年10月中国科学技术大学陈国良院士在“第六届大学计算机课程报告论坛”上倡议将计算思维引入大学计算机基础教学。此后,计算思维得到了国内计算机基础教育界的广泛重视。 本书的特点如下。 第一,教材编写时以“计算思维”为主线,注重学生计算思维与学习者思维能力的培养。科学的计算思维是人类求解问题的有效途径之一,计算思维深刻地影响着人们的生活和思维方式,进而对我们的思维习惯和能力产生影响。计算思维不是程式化的,而是在抽象的多个层次上进行的思维。从计算思维的角度来阐述和理解计算机科学,有助于学生从学习专业知识开始就站在计算思维的高度来看待专业和学习,注重培养自己严谨的抽象的思维能力,使计算思维的精髓融入分析和解决问题的学习和实践当中。 第二,教材内容上也紧密联系应用,注重计算思维与学习者应用能力的培养。计算机科学从本质上讲是源自于工程思维,因为我们建造的是能够与现实世界互动的系统。目前,计算机应用已深入到各个行业,融入人类活动的方方面面,解决了许多计算时代之前不能解决的问题。然而,由于计算机能力的局限性,大量科学问题和工程应用问题仍然难以解决。计算机科学就是在挑战问题和解决问题的过程中不断地得到发展的,同时,计算思维能力也在分析和解决问题的实践中得到充实和提高。 第三,教材中有专门章节介绍计算机新技术,关注计算思维与学习者创新能力的培养。创新是要靠科学素养,要靠科学的思想和方法。学生掌握了科学的思想和方法,就能在以后的生活和学习中多层次、多角度、全方位地观察、理解客观世界的发展与变化,运用已经掌握的科学方法和知识去发现问题、提出问题和解决问题。所以说,计算思维能力是每一个大学生所必备的科学素养和思维方式之一,也是创新人才必备的能力之一。 本书的内容如下。 (1) 第1章从计算工具的发展引入计算机科学的概念,探讨图灵机和冯·诺依曼计算机,然后讲述计算机的发展历史,并进而探讨什么是计算思维。计算思维导论前言(2) 第2章从信息的基本单位比特入手,介绍计算机中用比特表示数值信息、文字符号、数字图像、数字视频和数字音频各类信息的方法。 (3) 第3章从计算机的硬件系统和软件系统两方面介绍计算机系统是如何工作的。 (4) 第4章从实际问题出发,讲述了算法的基本定义、算法的特征、算法的要素、算法的表示方法和算法分析方法;在此基础上,介绍了常用的查找算法及排序算法;然后针对具体问题,详细讲述了如何分析、建模、用算法描述的过程。最后介绍了常用的算法设计策略。 (5) 第5章首先讲述数据结构,数据在计算机中通常包含哪些类型的存储方式;接着分析如何将客观事物抽象成信息世界的实体,如何用概念模型来表示实体及其之间的联系;最后介绍了大数据的概念及其应用、数据挖掘的概念及其应用。 (6) 第6章介绍如何把计算机连接在一起、如何把网络联接在一起、如何把自己的网络接入Internet、如何实现计算机与网络设备间的数据通信、如何实现基于网络的信息交换和资源共享。进一步介绍物联网的工作流程,物联网的应用,云计算与物联网,人工智能与物联网。 (7) 第7章从全新的角度介绍网络安全与信息伦理。 本书主编马利、范春年、江结林分别完成第6章和第7章、第1~3章、第4章和第5章编写,编写过程中得到了课程组其他老师的支持和帮助,在此一并感谢。 鉴于编者水平有限,书中难免存在不当之处,殷切希望各位读者提出宝贵意见,并恳请各位专家、学者给予批评指正。 编者2020年5月