图书前言

第2版前言

“计算机导论”是理工科专业学生的一门计算机基础课程,课程通过全面介绍计算机科学技术基础知识,揭示计算学科的特色,介绍该学科各分支的主要知识。教材在第1版的基础上进行了全面修订,改变的主要方面,一是全面采用Python语言进行案例示范,二是增强了学科领域和技术开发方面的内容,三是描述语言更加严谨。

写作目标

本教材编写原则是: 学习基础知识,开阔专业视野。教材始终贯穿以下主线。

(1) 计算无所不在。教材尽量从商业领域、社会科学领域、日常生活中选取不同的案例来讨论计算的普遍性。例如,囚徒困境问题、热门检索词排名、平均工资计算问题等,都从不同侧面讨论了计算的普遍性。

(2) 强调计算思维。计算思维是一种解决问题的方法和思路,教材强调利用计算思维的方法讨论和分析问题。例如在数学建模讨论中,着重讲解利用计算思维进行建模的方法,而不是数学模型的理论推导和技术实现细节。教材尽量通过大量的图表和案例讲解计算机科学的基础知识。利用计算思维分析问题的主线在程序设计、信息编码、体系结构、操作系统、网络通信、信息安全等内容中反复体现。

(3) 广度优先的知识框架。不同专业的学生如果想融入目前的信息化社会,需要具备宽泛的计算机背景知识和利用计算思维解决问题的能力。教材提供了对计算机科学领域的全面技术剖析,介绍了在社会各领域利用计算思维解决问题的不同案例。教材对计算机专业的讨论范围很广泛,目的是让学生在研究树木之前,能够先看一看森林的概貌,以后走到蜿蜒小路时不至于会迷路。

主要内容

全书包含3部分,主要内容如下: 

第1部分为计算工具,主要讨论计算机技术发展历程和程序语言结构,这一部分介绍了计算技术的历史发展阶段、计算机的基本类型和技术特征、计算机新技术的发展方向,以及程序的基本结构、常用编程语言、并行程序设计方法、软件开发方法等。

第2部分为计算思维,主要介绍计算思维的基本概念和算法思想,从不同角度介绍了数学建模的案例、计算机解题的主要方法、图灵机与可计算性、人工智能,以及常用算法等。

第3部分为计算技术,主要讨论计算机主要技术和工作原理,介绍信息编码的基本方法、数理逻辑、计算机硬件基本结构、操作系统主要功能和结构、网络通信基本原理、信息安全防护和加密技术,以及数据库技术、图形处理技术、常用应用软件、计算学科特征、专业人员职业道德、计算机使用中的卫生保健知识等。

几点说明

(1) 内容编排。尽管本书有自己的结构体系,但各个主题在很大程度上是相对独立的,而且各个章节内容的多少也刻意保持了大致相同。教师完全可以根据不同专业教学的要求,重新调整讲授内容和讲授顺序。在教材编写中,本书大致遵循每章讨论1~2个专业领域、2~4个技术主题。在内容编排中,教材对一些理论性问题尽量用图、表、案例的形式加以说明,试图帮助读者加深对所述内容的理解。

(2) 一家之言。在教材编写中,作者力图以严肃认真的态度进行分析与讨论,但是不免会掺杂一些作者不成熟的看法与意见。例如,计算机类型的划分、第一台电子计算机的发明、对冯·诺依曼(Van Nenmann)计算机结构的阐述等内容,可能与目前的主流技术观点有所不同。这都是作者一些不成熟的看法,是一家之言,期望专家学者们批评指正。

(3) 教学建议。在进行课程教学时,建议对讨论的问题不要拘泥于计算机专业领域,而是需要更多地加入与计算思维相关的经济学、生物学、医学、物理学等内容和案例,让学生在感受到计算思维无处不在的同时,领悟到计算机求解各类问题的方法。建议理论课讲授基本原理和概念,实验课则落实怎么做。

(4) 编程语言。教材对算法说明和程序实现采用Python作为主要描述语言,由于教材并没有详细介绍程序设计的语法规则和设计技巧,因此教材中的程序案例都进行了详细的注释,这些注释的目的是说明算法思想或语法规则。在工程实际中,程序注释不需要说明语法规则,而是告诉别人你的意图和想法,增强程序的易读性和可维护性。

(5) 英文缩写。书中涉及的英文缩写名词较多,为了避免烦琐,便于阅读,本书对大部分容易理解的英语缩写名词只注释中文词义,如CPU(中央处理单元); 对于容易引起误解的外国人名以及英文缩写等,一般随书注释英文全称和中文说明,如ABC(AtanasoffBerry Computer,阿塔纳索夫贝瑞计算机)等。

(6) 教学资源。本教材提供了大量课程教学资源、PPT教学课件、习题参考答案等,可在清华大学出版社网站(http://www.tup.tsinghua.edu.cn/)下载。如果教师需要实验教学视频、技术资料、教学参考文档等,请通过Email与作者联系。

致谢

本教材由易建勋编著,参加编写工作的还有邓江沙、唐良荣、廖寿丰、刘珺、周玮、范丰仙、甘文等老师。因特网技术资料给作者提供了极大帮助,非常感谢这些作者。

坦率地说,教材中不可避免地带有作者的个人见解,因为作者从事技术开发和教学工作多年,可能有意无意地会抬高工程技术领域,而忽视计算机科学的其他分支。尽管我们非常认真努力地写作,但水平有限,书中难免有疏漏之处,恳请各位同仁和广大读者给予批评指正。您可以通过电子邮件地址(Email: yjxcs@163.com)与作者进行联系。

易建勋

2017年5月20日