对计算机科学导论教材的探讨

时间:2022-10-13 08:44:02

对计算机科学导论教材的探讨

现在,“计算机科学导论”是大多数高等院校计算机科学与技术类专业一年级学生在第一学期必修的专业课程。课程讲授和计算机系统、计算机科学相关的基本概念,使学生对本专业的核心知识有全面的、概要的认识。

这门课程的开设要追溯到上世纪80年代。当时,“PASCAL”或“C”通常是学生的第一门专业课程。经过教学实践大家逐步认识到,以脱离计算机机器层次概念的程序设计高级语言作为专业学习的切入点并不妥当。第一门专业课程应该着眼于让学生认识计算机科学和计算机技术的宏观概貌,建立专业思想。为此,需要开设一门全面而简略、导论性的课程。

二十多年来,上述导论性的课程会冠名为“计算机科学导论”、“计算机导论”、“计算机文化基础”,等。可供选用教材的风格大致上可以分为三类:最早期的以介绍计算机的基本应用为主要内容,前面加一章游离而杂乱的“概述”;第二类教材罗列专业内容,书的每一章实际上就是相应一门专业课教材的一个浓缩版;近年来开始引进的国外版计算机科学导论教材,内容比较全面、新颖,叙述比较生动、容易理解,而且各具风格。

因为一年级新生通常要参加军训,本课程的一种典型教学安排是,每周课堂讲授3学时,14周共42学时。在相对短的时间内要完成覆盖面很广、内容极为丰富的专业知识教学,而又要使一年级学生能够理解,笔者认为关键在于:

(1) 要建立一个课程讲授结构体系;

(2) 要把握好内容广度和深度的关系;

(3) 要采用深入浅出的叙述风格。

在长期的教学实践中,笔者始终感觉在用的国内外教科书共同的不足之处是:对计算机科学作导论性质的介绍时,缺乏一个认识纲领,所以内容庞杂,章节之间缺少内在的联系,篇幅动辄四五百页,教师难以剪裁,学生难以接受,更难把握专业知识的相互关联。

可能是受到中学阶段学习方式的长期影响,不管教师如何组织讲授内容,大学一年级的学生仍然对课程所使用的教材非常在意、非常依赖。为此,笔者设计出以“一个本质核心,三条内容纲领”来统率计算机导论教程的讲义,使新生们能够在短短的十几周里对计算机和计算机科学能够有入门性的、比较全面的认识。

笔者的思路是:

计算机的本质功能就是数据处理,数据是客观世界一切事物的表达概念,归根结底计算机是一种数据处理机器;计算机科学是使计算机完成各行各业、形形数据处理任务所需要的理论、方法、技术的知识集合。

因此,可以依据三条纲领阐述和认识计算机科学的主要内容:

(1) 数据的分层表示方法学

计算机科学用“数据”作为手段,来表示客观世界里要处理的对象。而在计算机内部,能够物理实现的数据记号只有两个二进制数字“0”和“1”。因此,数据表示面临的任务是,用最简单的记号表示出内容复杂而形式多变的对象。计算机科学的解决方法是:划分出不同的数据表示抽象层次;每个层次上都对数据的表示概念和工具进行定义;它们既相对独立,又可以从上一个表示层次映射到下一个表示层次上去;从现实世界到计算机内部的物理实现,数据表示的抽象程度逐层降低,一直到“0”、“1”记号能够在硬件的层次上实现为止。这样,在完成数据表达任务的过程中,人可以根据需要选择适当的表达层次。而层次之间不同表示手段的转换,由人或者计算机系统本身,按照明确定义的映射规则来完成。

上述的数据表示层次可以总结为:

现实世界里的数据对象;

数据结构和信息结构层;

程序设计语言层;

机器层;

物理层。

(2) 数据加工的分层表示方法学

计算机科学的另一个核心任务是解决数据加工的表示方法。要计算机“记住”的数据加工过程复杂多变,而在计算机内部,能够物理实现的数据加工表示记号仍然只有两个二进制数字。因此,和数据的表示方法学一样,数据加工表示面临的任务是,用最简单的记号表示出内容复杂而形式多变的数据加工过程。解决方法仍然是分层次的表达方法学:划分出数据加工过程不同抽象表示层次;每个层次上定义相应的数据加工表示手段;它们既相对独立,又可以从上一个表示层次映射到下一个层次去;从现实世界的数据处理问题开始,把数据加工过程一层一层地转换到计算机内部的物理实现为止。这样,在完成数据加工表达任务的过程中,人可以根据任务的需要选择适当的表达层次。然后由人或者计算机系统本身,按照明确定义的映射规则,完成层次之间不同加工表示手段的转换。

上述的数据表示层次可以总结为:

数据处理问题描述;

解题模型;

算法层;

程序设计层;

机器程序层;

物理层。

(3) 计算机系统的构成

计算机系统是数据和数据加工表示方法的最终载体。已经比较习惯从硬件系统、软件系统、网络系统三个方面进行描述。

教材按照上述认识纲领展开,可以包含后续各门专业课程的主要概念,从而使学生对计算机科学的内容,特别是对后续专业课程之间的内在关联有全面、清晰、概要的认识。

教学实践表明,本课程的学习能够激起学生新的问题和思考。课程结束后,学生提出的疑问通常会比课程开始前还要多。这就说明本课程已经为学生后续几年专业课程的学习奠定良好的基础,真正起到了“导论”的作用。同时,本课程也成为对一年级学生进行专业思想教育的一个环节,具体而且有效。

按照上述思路编写的教材《计算机科学导论教程》(ISBN:9787302152347),已经由清华大学出版社出版。这既是笔者在中山大学和广州大学华软软件学院教学实践的总结,也是对计算机科学导论课程教学的探讨。期望得到同行们的指正。

上一篇:面向高职计算机人才培养的教学模式研究 下一篇:数字环境下三维设计的教学探索