图书板块图书分类品牌系列获奖图书图书专题新书上架编辑推荐作者团队
计算思维导论
计算思维类首本教材,学生教师、教学研究人员必看教材
ISBN: 9787549527526

出版时间:2012-10-01

定  价:45.00

作  者:唐培和 徐奕奕 王日凤 编著

责  编:张贻松张珍珍
所属板块: 高教出版

读者对象: 普通高校学生,教师,教学研究人员

装帧: 平装

开本: 16

字数: 572 (千字)

页数: 340
图书简介

内容提要

在“计算思维”日益突显其重要性并不断被大家推崇的今天,作为计算思维导论方面的一本教材,本书以狭义计算思维为主线,适度拓展广义计算思维的知识。在强化计算思维方法论的前提下,尽量简化计算理论与技术方面的内容。

本书共7章,依次介绍计算思维概论、计算思维之计算(理论)基础、计算思维之逻辑基础、计算思维之方法学、计算思维之算法基础、程序设计中的特定思维以及其他学科中的计算思维等。本书的特点一是知识面比较广、内容非常丰富;二是尽量体现“实例化、生活化、故事化、图文并茂”的指导思想,以增强可读性;三是内容比较新颖。

本书可作为高等院校计算机专业和非计算机专业学生的入门教材,也可供相关教学人员和技术人员参考学习。

作者简介

唐培和,男,教授,现任广西科技大学计算机学院院长。广西高等教育学会计算机基础教育专业委员会常务理事,全国高校计算机基础教育研究会第六届理事会理事,广西高校“教学名师”。

长期从事计算机教学与科研,重点关注专业基础课。自知专业知识不够精深,但还算广博,提倡以博辅专,融会贯通。文风通俗,不饰粉墨,字如其人。可谓“三尺讲台毕生缘,一份痴情心血凝”。

徐奕奕,女,1980年生,在读博士,讲师。站在大学计算机基础教育教学一线讲台上已逾十年。幼时便热爱园丁一职,至今不改初衷, 赤诚长在。有幸教苑躬耕,却常如履薄冰;希望能做点认真的思考和有意义的探索。青灯黄卷十年,盼李盛桃红一片。

王日凤,女,副教授,工学博士。2004-2007年就读于广西师范大学计算机科学与信息工程学院,获工学硕士学位;2007-2011年就读于北京工业大学计算机学院,获工学博士学位。性喜淡雅宁静,为人明朗朴实,期待厚积而薄发。

图书目录

目 录

第1章 计算思维概论

1.1 科学研究的三大方法--理论、实验和计算

1.1.1 理论、实验和计算

1.1.2 科学计算与计算方法

1.2 关于计算思维

1.2.1 科学思维

1.2.2 什么是计算思维?

1.2.3 思维科学与计算思维

1.3 狭义计算思维与广义计算思维

1.3.1 狭义计算思维

1.3.2 广义计算思维

1.3.3 计算思维的应用

1.4 计算思维的研究现状

1.5 计算思维的学习方法

【阅读材料】

原始计算方法及其演化

第2章 计算思维之计算(理论)基础

2.1 揭开数据表示的面纱

2.1.1 计算机为什么采用二进制而不是十进制?

2.1.2 数据和符号的机器内部表示法

2.1.3 鸿沟与代价

2.2 “九九归一”的加法运算

2.3 图灵机及其计算思想

2.3.1 阿兰•图灵其人

2.3.2 图灵机模型

2.3.3 图灵机的工作原理

2.3.4 图灵机的计算能力

2.4 冯诺依曼机及其工作原理

2.4.1 冯•诺依曼其人

2.4.2 冯•诺依曼型计算机的组成

2.4.3 冯•诺依曼型计算机的特点

2.4.4 现代计算机的演化

2.5 冯•诺依曼计算机特点及其局限性

2.5.1 冯•诺依曼计算机的局限性

2.5.2 冯•诺依曼型计算机的改进

2.6 非传统计算方法与技术

2.6.1 光计算机

2.6.2 超导计算机

2.6.3 生物计算机

2.6.4 智能计算机

2.6.5 大规模并行计算技术

2.7 计算机系统之哲学与计算机之系统哲学

2.7.1 RISC与CISC

2.7.2 存储器分级及其多级存储体系

2.7.3 内存与外存

2.7.4 串行与并行

2.7.5 硬件与软件——相互依赖,相补相成

2.8 计算机什么都能计算吗?

2.8.1 事实胜于雄辩

2.8.2 可计算性与计算复杂性

【阅读材料】

PC机系统的硬件组成

第3章 计算思维之逻辑基础

3.1 逻辑与思维

3.1.1 逻辑是什么

3.1.2 逻辑形式的表示

3.1.3 逻辑与思维

3.1.4 逻辑思维形式的基本规律

3.1.5 语言、思维与程序

3.2 布尔逻辑、命题逻辑与谓词逻辑

3.2.1 布尔与布尔逻辑

3.2.2 命题逻辑

3.2.3 谓词逻辑

3.3 逻辑运算与逻辑推理

3.3.1 位层次上的逻辑运算

3.3.2 模式层次上的逻辑运算

3.3.3 逻辑表达式与求值

3.3.4 归纳逻辑与推理

3.3.5 逻辑推理与人工智能

3.4 逻辑思维与算法(程序)设计

3.5 逻辑思维的实例化训练

【阅读材料】

计算机软件及其软件系统

第4章 计算思维之方法学

4.1 问题求解过程

4.1.1 人类解决客观世界问题的思维过程

4.1.2 借助于计算机的问题求解过程

4.1.3 两种问题求解过程的对比

4.2 数学模型——问题的抽象表示

4.3 数据存储结构

4.3.1 顺序存储结构

4.3.2 链式存储结构

4.3.3 索引存储结构

4.3.4 散列存储结构

4.4 程序设计方法论

4.4.1 面向过程的结构化设计方法学

4.4.2 面向对象程序设计方法学

4.5 时空及其转换

4.6 抽象

4.6.1 什么是抽象?

4.6.2 计算学科中的抽象

4.6.3 抽象的层次性

4.6.4 程序中的抽象

4.6.5 抽象与模型

4.6.6 抽象与计算机语言

4.7 局部化与信息隐藏

4.7.1 局部化

4.7.2 信息隐藏

4.8 精确、近似与模糊

4.9 折衷与中庸之道

4.10 问题描述与甚高级语言

【阅读材料】

MATLAB问题表示与计算

第5章 计算思维之算法基础

5.1 算法

5.1.1 什么是算法?

5.1.2 算法的性质

5.1.3 算法的种类

5.1.4 算法的表示(描述)

5.1.5 算法与程序

5.1.6 算法的比较与分析

5.2 算法设计的基本思想与方法

5.2.1 穷举法(也称枚举法)

5.2.2 递推法

5.2.3 递归法

5.2.4 回溯法*

5.2.5 分治法

5.2.6 仿生法*——蚁群算法

5.2.7 并行算法*

5.2.8 小结

5.3 几个常用的经典算法

5.3.1 累加和、连乘积与最大(小)值

5.3.2 查找

5.3.3 排序

5.3.4 其他

【阅读材料】

计算机语言概述

第6章 程序设计中的特定思维

6.1 数据的类型与本质

6.1.1 我们熟悉的数与数据

6.1.2 计算机世界中的数据

6.1.3 数据的类型与本质

6.2 变量的特定含义

6.2.1 “先定义,后使用”

6.2.2 变量得有自己“好听”的名字

6.2.3 变量是有类型的

6.2.4 变量的作用域

6.2.5 变量的生命周期

6.3 有穷与无穷

6.3.1 数据的有穷性

6.3.2 程序的有穷性

6.4 程序的基本控制结构

6.4.1 顺序结构

6.4.2 条件选择结构

6.4.3 循环结构

6.5 问题求解的本质过程

6.6 效率与可读性

6.7 程序的构造特性

6.8 上下文无关文法

6.9 二义性

6.10 严谨性

【阅读材料】

Python语言

第7章 其他学科中的计算思维

7.1 方程求根

7.1.1 二分法

7.1.2 简单迭代法

7.1.3 牛顿(Newton)法

7.1.4 其它求根方法

7.2 定积分的计算

7.2.1 问题求解的基本思路与方法

7.2.2 求解算法

7.3 求解圆周率π

7.3.1 关于圆周率的计算

7.3.2 圆周率的计算史

7.3.3 圆周率的计算方法

7.3.4 圆周率的计算永无止境

7.3.5 研究圆周率的意义

7.4 有限元计算

7.4.1 有限元方法的诞生

7.4.2 什么是有限元法?

7.4.3 有限元方法的基本思想

7.4.4 有限元法求解问题的步骤

7.4.5 有限元方法的应用

7.4.6 有限元方法中的计算思维

7.5 数值天气预报

7.5.1 天气预报的发展

7.5.2 现代数值天气预报原理

7.5.3 天气预报对计算技术永无止境的需求

7.6 蒙特•卡罗法

7.6.1 蒙特•卡罗方法导引

7.6.2 蒙特•卡罗方法的基本思想与过程

7.6.3 蒙特•卡罗方法的应用与分析

7.7 巡航导弹制导系统

7.7.1 制导方法分类

7.7.2 “战斧”式巡航导弹

【阅读材料】

《红楼梦》作者之争

附录

附录A ASCII码字符集

附录B 几种常用进位制数值对照表

附录C 计算机发展史大事记

参考文献

序言/前言/后记

前 言

思维本身让人沉醉。

计算思维除了给计算机技术带来变革,还让人们在探索它的过程中体验到和谐、对称、完备、简洁等美学属性。

科学的美不逊于艺术的美。

计算思维可分为广义计算思维和狭义计算思维。

广义计算思维,在吸收计算学科丰硕成果的基础上,更侧重于哲学的角度,从辨证法、认识论、逻辑学的角度去理解,在更广泛的领域去应用,从而在体系、内容和研究方法等方面更具实践性、科学性和时代性。

狭义计算思维,则从计算学科的方法论出发,讨论借助于计算机这一特定的工具如何求解客观世界的实际问题。这里面涉及到特定的思想、方法、理论与技术。

作为大学生的入门教材,如果过份追求广义计算思维,将会变成一本有点空泛的关于哲学方法论的书籍;如果完全倾向狭义的计算思维,又将是一本计算学科方法论的书籍。因此,作者以为《计算思维导论》应该以狭义计算思维为主,广义计算思维为辅。这就是折衷的结果,毕竟学习《计算思维导论》的首要目的是利用计算及计算机技术更好地解决将来所面临的各种实际问题。

纵观现在的计算机基础教育,不断遭人质疑,特别是《计算机文化基础》、《大学计算机基础》等已陷入“狭义工具论”的境地——该课程除了介绍计算机技术的基本概念、基本知识外,剩下的差不多就是微软公司的产品说明书了,与一门大学课程有点不太相称(笔者也主编过2本《大学计算机基础》教材,在此无意贬低他人)。

有言曰:起点决定终点,思路决定出路。因此《计算思维导论》旨在给学生学习计算机基础知识时站在更高的起点,拥有更开阔的视野。

这样一来,《计算思维导论》是不是很难理解、很难教、很难学呢?应该不是!《计算思维导论》更多地是从思想、方法的角度出发展开问题的讨论,涉及到的理论与技术,尽量以浅显易懂的方式讲解。书中穿插了大量生活中的故事、案例或哲理,应该是大学生能够接受的。至少可以这么说:《计算思维导论》在理论深度上比《高等数学》、《大学物理》等课程要浅显得多。

正是由于《计算思维导论》的定位与《大学计算机基础》完全不一样,别指望学习《计算思维导论》能够起到立竿见影的实用效果。说的更具体一点,学习《计算思维导论》后,别指望学生立即通过现今流行的计算机等级考试。这正所谓“授人以鱼不如授人以渔”,“授人以鱼”立即可以食用,但吃了上顿未必有下顿;而“授人以渔”虽然无法立即填饱肚子,但从长远来说早晚无忧。

尽管计算思维已成为近年来教育界研讨的热点,但仍处于讨论、探索阶段。在这里,不妨借前言来谈谈本书的观点。

第一,《计算思维导论》的定位或者要达到的目标是什么?我们始终认为,该课程应该注重培养学生的思想、方法、意识、兴趣和能力,而不是灌输一大堆概念与知识。这里提到的思想和方法,指的是求解实际问题的思想和方法;至于意识和能力,我们认为二者都重要。有了良好的意识和兴趣,培养专业能力就不是什么大问题了。

第二,算法是计算机的灵魂,当然也是狭义计算思维的灵魂。在《计算思维导论》里面,算法的学习重在思想和方法,而不是表示和实现。至于算法的实现,应该是《程序设计语言》、《程序设计方法》之类课程的任务。在没有教授C语言等高级程序设计语言之前,在《计算思维导论》里面讲算法,会不会有困难?其实这种担心是多余的,因为:一是在《计算思维导论》里面讲算法,讲的是解决问题的思想和方法,而不是程序设计。二是算法比程序更加简洁,针对同一问题时,算法比程序更容易阅读。三是掌握了算法设计与描述后,再学习具体的高级程序设计语言更容易一些。

第三,“计算思维”教育及其推广是毋庸怀疑的,那么推动“计算思维”教育的最大障碍究竟是什么?我们最值得关注的是教师,而不是学生或相关领导。教师的思想不统一、业务水平不提升,“计算思维”教育及其推广是值得怀疑的。在大家充分肯定广大从业教师对大学计算机基础教学做出了巨大贡献的前提下,必需看到存在的问题,归纳起来有:一是从事计算机基础教学的师资队伍非常庞大和复杂,学什么专业的老师都有(没听说过学什么专业的老师都可以给大学生讲授《大学外语》,而讲授《大学计算机基础》却非常普遍),年龄跨度很大,职称结构、学历结构等不太合理,统一思想都非常困难,更不用说别的了;二是学校之间也有较大的层次差异,师资队伍的专业水平差异很大(在一些条件艰苦的学校,刚毕业不久的非计算机专业的本科生都上讲台讲授《大学计算机基础》了),师资培养的力度及其成长环境各不相同;三是人类本身的惰性,从事了多年计算机基础教学后,教学内容、教案、考试方式等都已经比较成熟了,谁又愿意改变呢?靠自觉行吗?可以想像,推广计算思维教育的难度将很大!跨出第一步将很困难!尽管如此,也要充满信心,勇敢地去面对,相信不久的将来,大家都能接受计算思维的洗礼!

从内容安排上来说,本书由7章组成。

第一章主要介绍计算思维的基本概念,学习计算思维的目的和意义,国内外研究计算思维的基本情况,侧重于知识的“宽度”。

第二章主要讨论狭义计算思维的理论与技术基础。在这里,首先介绍计算机为什么采用二进制而不是十进制?数据和符号在机器内部是如何表示的,采用二进制所付出的代价。然后介绍补码运算的神来之笔。面对图灵机,恐怕很多人都难以理解它的计算能力怎么那么强,本书利用等价传递原理给予了很好的阐述。介绍冯诺依曼机时,重点应该放在存储程序的工作原理,以便很好地理解计算过程,同时指出冯诺依曼机的特点及其局限性,由此引出非传统的计算方法和技术,如量子计算、分子计算、光计算、并行计算等。面对计算机系统之硬件与软件、内存与外存、串行与并行、RISC与CISC、存储器分级及其多级存储体系等问题,从哲学方法论的角度给予了分析与讨论,目的是掌握这些技术的思想,而非技术本身。本章最后通过几个实例,介绍了可计算性问题与计算复杂性问题,让大家明白不是什么问题都是可以通过计算机求解的。

第三章专门讨论计算思维之逻辑基础。主要介绍了布尔代数、命题逻辑、谓词逻辑以及逻辑演算等,以实例化的形式阐述逻辑思维与计算思维的关系。本来这一章的内容可以并入第二章,但逻辑思维对计算思维来说太重要了,不强化逻辑思维的训练,恐怕对深入理解计算思维会带来比较大的困难,因此,特别单列一章。

第四章重点介绍计算思维之方法学。本章首先分析问题求解过程,给出人类解决客观世界问题的思维过程与借助于计算机的问题求解过程有什么不同与差异,然后从狭义计算思维的问题求解过程出发,分别讨论数学模型、数据存储结构、程序设计方法论(面向过程的结构化设计方法学、面向对象程序设计方法学)等。对计算机世界中较为重要的时空概念、抽象、局部化与信息隐藏、精确、近似与模糊、折衷与中庸之道以及问题描述方法等较深入、较宽泛的分析与讨论,这些概念对深入理解计算思维来说非常重要。

第五章重点介绍计算思维之算法基础。算法是程序的灵魂,是计算机的灵魂,也是计算思维的灵魂。本章首先介绍算法的基本概念、算法的性质、算法的描述、算法的简单分析方法等,然后介绍算法设计的基本思想与方法,最后介绍几个常用的经典算法。本章的重点是介绍算法的思想,而不是算法的实现。有些算法有难度(打了*号),但其算法设计思想不难,甚至很有趣,如回溯法、蚁群算法、并行算法等。这些算法怎么设计不需要学生掌握,但领会其思想应该也值得理解。这是培养学生求解问题意识的重要途径。

第六章专注于讨论程序设计中的特定思维。只要借助于计算机求解现实世界的问题,必需依据算法写出程序,而程序设计过程中涉及很多特定的思想和概念,属于计算学科特定的思想内涵,应该好好理解和掌握。具体来说,比如数据的类型与本质(与已知认知的区别)、变量的特定含义(与数学的区别)、有穷与无穷、程序的基本控制结构、问题求解的本质过程、效率与可读性、程序的构造特性、上下文无关文法、二义性、严谨性(人工机器语言与自然语言的巨大差异)等等。深入理解这些内容,对提高程序设计能力非常有意义。

第七章主要介绍计算思维在其他学科中的应用。方程求近似根、定积分的近似计算、计算圆周率π、有限元分析与计算、数值天气预报、蒙特•卡罗方法、巡航导弹制导乃至《红楼梦》作者之争等,这些领域在没有计算机技术之前,依靠人类本身很难或基本不可能达到目的,而现在却可以做的很好。这就很好地体现了计算乃至计算思维的现实意义。

另外,为了更好地与原有的大学计算机基础衔接,实现平稳过渡,特意在每一章的后面提供了一些阅读材料,内容包括计算技术的演化、微型机的硬件组成、计算机软件及其软件系统、计算机语言概述等,之外,还特别介绍了MATLAB以及Python语言。需要特别指出的是Python语言与本书所采用的算法描述语言(类C语言)非常相似。

传统意义下,国内的教材都在最求“严谨、科学、完全、美”等目标,欠缺的恰恰是对初学者来说非常重要的“诙谐、有趣、直观、明了”等可读性好且吸引人的特点。从教学的角度来说,教材不一定非要写得“很严肃”,来点“笑容”未尝不可,甚至更好,毕竟不是学术专著。课前、课后学生要花很多时间阅读教材的,如果把教材写得很枯燥、无趣,难免拒学生于“千里之外”。该书内容丰富,涉及面甚广,但都力求以生活化、实例化和故事化的方式做到浅显易懂(以至于同事甚至笑称“口水话”太多了)。

课堂教学应该在教材的基础上做“二次开发”。如果仅仅是在理解教材的基础上“照本宣科”,注定不会有什么好的教学效果。若能结合CAI软件、实例演示、程序实现与体验等,一些看起来深奥的知识也就变得容易了。

作为“导论”教材,应侧重于“导”,而非“论”。教学时应把握一个中心思想——计算思维是一种方法论,从方法论的层面上培养学生求解问题的意识。这样以来,该课程就会变得生动、有趣,学生也就容易接受了。至于具体的理论与技术并不是不重要,而是当读者有兴趣的时候,自然会去学习与钻研。多年的教学实践表明,兴趣是第一位的,很多知识也都是靠自学获得的!本书之所以取名为《计算思维导论》,就希望教材和教师多在“导”字上下功夫!有人说,计算思维在心智上的帮助比它的实际应用更有价值。

周以真教授对计算思维是什么、不是什么做了明确的阐述,如下表所示。本书作者认为,周教授的阐述为《计算思维导论》的教学指明了方向。作为一个讲授计算思维的教师应该认真体会和理解其含义。计算思维的教学可以是令人生厌的,也可以是最引人入胜的。与其他课程传授知识为主不同,如何让学生对计算思维发生兴趣,引导学生象计算机专家一样思考最为重要。

计算思维是什么 计算思维不是什么

1 是概念化 不是程序化

2 是根本的 不是刻板的技能

3 是人的思维 不是计算机的思维

4 是思想 不是人造物

5 是数学与工程思维的互补与融合 不是空穴来风

6 面向所有的人、所有的领域 不局限于计算学科

至于实验教学,作者认为应该参照《大学物理》的做法,单独设置一门《大学计算机基础实验》,教学内容与目前《大学计算机基础》的实验内容大致相同,确保学生掌握一些基本技能就可以了。

计算机基础教育的改革牵涉面非常广,影响着一代又一代的大学生,也涉及到一大批从业的高校教师,每前进一步所产生的影响都非同寻常。由于影响面如此广泛,使得每一步教学改革都必须做认真、细致、深入地调查研究和理性分析。面对计算思维,“仁则见仁,智者见智”,针对本书,还望站在鼓励的角度,多提宝贵意见和建议,共同为计算机教育教学改革贡献大家的智慧和力量。

本书由广西科技大学(原广西工学院)计算机学院几个一线教师共同完成。全书分7章,其中第1章由徐奕奕同志负责撰写,第3章主要由王日凤同志负责撰写,第2章、第4章、第5章、第6章由唐培和同志负责撰写,第7章的第1节、第2节由陈集炎同志负责撰写,第4节由李威龙同志负责撰写,其余3节由唐培和同志负责撰写。除Python语言由朱亚超老师负责整理外,其他章节的阅读材料由唐培和同志负责整理。全书由唐培和同志负责统筹、安排、协调、统稿、审核等。另外,徐奕奕同志为每章填词一首(卜算子)。

本书的出版得到了广西教育厅特色专业及课程一体化项目建设经费、学校“卓越计划”试点建设经费以及学校专业认证试点建设经费的资助,学校主管教学的副校长李创第教授对本书的出版给予了大力支持,计算机学院的很多教职工都为之做了应有的贡献。在这里,特别感谢广西师范大学出版社的方奕华、施东毅、张贻松、张珍珍等同志,作者与他们在特别短的时间里就取得了共识,也在特别短的时间里(1个多月)就让本书呈现在读者面前。另外,撰写本书时,参考了大量的文献(特别是周以真对计算思维的阐述以及国内若干会议的报告),有些在参考文献中提及了,有些没有提及(多为网络资料),在此一并感谢。

教学改革不是一朝一夕的事情,需要付出艰辛的努力,且不能“立竿见影”地看到效果。成功了好说,失败了误人子弟、“罪莫大焉”!本书是大学计算机基础教学的改革与探索,期待着能引渠开河,抛砖引玉。由于作者水平有限,加上时间非常仓促,疏漏甚至错误之处在所难免,不当之处,敬请同行们批评指正。

唐培和 徐奕奕

2012年10月8日

于柳州

编辑推荐

在“计算思维”日益突显其重要性并不断被大家推崇的今天,作为计算思维导论方面的一本教材,本书以狭义计算思维为主线,适度拓展广义计算思维的知识。在强化计算思维方法论的前提下,尽量简化计算理论与技术方面的内容。

本书共7章,依次介绍计算思维概论、计算思维之计算(理论)基础、计算思维之逻辑基础、计算思维之方法学、计算思维之算法基础、程序设计中的特定思维以及其他学科中的计算思维等。本书的特点一是知识面比较广、内容非常丰富;二是尽量体现“实例化、生活化、故事化、图文并茂”的指导思想,以增强可读性;三是内容比较新颖。

本书可作为高等院校计算机专业和非计算机专业学生的入门教材,也可供相关教学人员和技术人员参考学习。

线上商城
会员家.png 书天堂.png 天猫旗舰店.png
会员家 书天堂 天猫旗舰店
关注我们
微信公众号.png   微博二维码.png
微信公众号官方微博

微信号:bbtplus2018(工作时间)
电话:0773-2282512(工作时间)

我要投稿

批发采购

加入我们

版权所有:广西师范大学出版社集团 GUANGXI NORMAL UNIVERSITY PRESS(GROUP) |  纪委举/报投诉邮箱 :cbsjw@bbtpress.com    纪委举报电话:0773-2288699  
   网络出版服务许可证: (署) | 网出证 (桂) 字第008号 | 备案号:桂ICP备12003475号 | 新出网证(桂)字002号 | 公安机关备案号:45030202000033号