《计算机科学导论》课程教学改革探究
2009-01-18崔晓松刘德山孙美乔
崔晓松 刘德山 孙美乔
【摘要】本文主要阐述《计算机科学论》课程在计算机专业教学中所处的地位,介绍该课程的教学内容,总结该课程的教学特点和目的。同时,结合《计算机科学导论》课程的教学目标,分析了刚刚接触计算机专业学生的特点,提出了一种如何让他们对计算机专业产生兴趣、如何让他们认识到数学在计算机专业中的作用、如何让他们快速掌握5个学科形态的教学方法。
【关键词】计算机导论;学科形态;核心概念;教学内容
●引言
《计算机科学导论》是计算机科学与技术专业学生入学后接触到的第一门专业课,也是该专业学生了解计算机科学内容、发展及其学习方法的一门导引性课程。开设这样一门课程的目的是让学生了解计算机学科的历史渊源、学科的本质特点、核心概念和学科知识体系等内容,让学生了解计算机科学与技术专业发展所经历的曲折和困难,激发和增强学生学习计算机科学的兴趣和积极性,为学习后续课程和献身计算机科学事业奠定基础。
计算学科的认知问题是学术界长期以来一直探讨的问题,反映在教学上就是“计算机导论”课程的构建问题。1989年,美国计算机协会攻关组提交了著名的“计算作为一门学科”的报告,该报告认为,《计算机科学导论》课程应该培养学生面向学科的思维能力,使学生领会学科的力量,以及从事本学科工作的价值之所在。报告希望该课程能用类似于数学那样严密的方式将学生引入到计算学科各个富有挑战性的领域之中。由此可见,《计算机科学导论》课程肩负着如何让刚步人大学的学生对计算机专业产生兴趣,进而更好地在本专业有所建树的重任。鉴于此,《计算机科学导论》课程的构建问题及如何粗线条、纲要式、科普性地讲解计算学科的核心概念是本文所要论述的主要内容。
●计算机导论课程教学内容的现状与问题
目前,国内计算机导论课程的教学内容主要有三种类型。
第一种类型是以计算机应用基础为主,理论教学着重于计算机基础知识,实践环节要求学生熟练使用Windows操作系统,并掌握Office办公软件的使用方法。这种模式实际上只是借用了《计算机科学导论》的课程名称,并没有系统介绍计算机学科的本质及其核心概念。
第二种类型是将计算机专业所学的主要专业课程加以浓缩,主要讲授计算机硬件基础、计算机软件基础以及算法等课程的基本概念与核心内容。CC2005指出,该课程的关键是课程的结构设计问题,现有的浓缩版显然不是一种好的课程结构。
第三种类型是通过引入大量学科基本问题来阐述计算学科的本质,以抽象、理论和设计3个学科形态揭示学科中各主领域发展的基本规律以及各主领域之间的内在联系,以高度概括的语言和丰富的实例介绍了计算学科中算法、数据结构等核心概念,并着重介绍了计算思维方法中最为重要的数学方法。这样授课,有助于学生开阔思维、了解计算学科的本质内容,使他们认识到数学和系统科学方法在计算学科中的重要性,从而自主培养其计算思维。
综上所述,第一种类型的教学内容过于简单,但第三种类型的教学内容过于抽象,因此,根据学生的特点,我们以第二种类型和第三种类型兼而有之的教学内容来授课,既培养了学生计算学科的思维能力,又让他们了解一些专业核心课的内容,为新生学习将来的课程打下坚实的基础。
●计算机导论课程的教学内容
目前,刚刚步入大学的学生在中学阶段也接触到一些信息技术类课程,他们认为选择计算机专业就是学习编程序,或者是学习操作性和技术性的知识。鉴于此,我们根据这类学生的特点,并参照“计算作为一门学科”报告给出的计算学科二维定义矩阵的概念,制定了如下图所示的教学内容,共26学时。
其中,计算学科及其基本问题、3个学科形态、学科中的数学方法与系统科学方法都属于计算思维的本质问题,其他几个部分属于学科中的具体内容介绍。这样设计教学内容,便于学生理解该课程,容易对计算学科产生兴趣。
●构建以培养学生学习计算机兴
赵致琢教授曾认为,该课程的教学任务和目的主要有两个:一个是帮助初学者认知——“授人以鱼”;另一个是为初学者提供导学——“授人以渔”。笔者认同上述观点,为此,本文主要从以下3个方面来讲述如何增加新生学习计算机专业知识的兴趣。
1培养学习数学的兴趣
计算机科学与技术学科最初来源于数学学科和电子学科,如今,数学技巧和形式化的数学推理已在该学科领域占有重要的地位,而且,数学提供了一组用于分析与验证的特殊工具,一个理解重要思想的理论框架。因此,要求计算机科学与技术专业的学生应该具有良好的数学功底,诸如数学分析、概率论与数理统计、微积分、高等代数、数学建模等。数学如此重要,那么,如何让刚入学的学生领悟呢?笔者认为,只凭教师在课堂上说数学重要并无济于事,本文通过举例,说明数学在数字图像处理中的简单应用来引导初学者学习数学的兴趣。
如下图所示,一幅灰度图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f任何坐标点(x,y)处的振幅为图像在该点的灰度(灰度是用来表示黑白图像亮度的一个术语)。图像关于x和y坐标以及振幅连续,要将这样的一幅图像转换成数字信号形式以便于计算机处理,就要求数字化坐标和振幅。将坐标值数字化称为取样,将振幅数字化称为量化,因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
取样和量化的结果是一个实数矩阵。假设对一幅图像f(x,y)取样后,得到了一幅有着M行和N列的图像,则称这幅图像的大小为M×N。坐标(x,y)的值是离散量。这样一幅数字图像就可以很自然地表示成矩阵被计算机来处理。
接下来,计算机对图像的处理就转化为对矩阵的处理。例如要将图1所示的图像旋转90°,可以通过求f的转置来完成。这样介绍完后,学生应该大致地知道了数学在计算机中最浅显的应用。当然,为了更好地处理图像(例如图像分割、边缘检测、特征提取),可以从空间域转换到频域进行处理,最好的数学工具就是傅里叶变换。既然学生知道了数学的用武之地,也就增强了学习数学的兴趣。
2培养学习3个学科形态的兴趣
众所周知,抽象、理论和设计3个学科形态是计算学科中较重要、同时又很抽象的概念,如果教师在授课时只是干巴巴地讲这三个概念,学生可能会一头雾水,倒不如举例说明。笔者以“学生选课”实例来进行学科形态的划分。
首先,将客观世界抽象成信息世界。通过对实体、属性、域等概念的介绍来建立概念模型,进一步转化为E-R模型,从而实现对这一例子的感性认识(抽象阶段)。
其次,将概念模型转换成机器世
界支持的数据模型,即关系模型。根据概念模型向关系模型的转换规则,例子“学生选课”的E-R图可以转化为下面的关系模型(关系的码用下划线标出):学生(学号,姓名,年龄,性别);课程(课程号,课程名);学生选课(学号,课程号,成绩)。虽然从E-R图转换到关系模型已属于对客观世界的理性认识,但当在学生关系中增加系名、系主任等属性时就会出现插入异常、删除异常、数据冗余等问题。要解决这样的问题,必须要满足关系模式的形式化定义,因此,就例子而言,可以再划分一个关系,即系(系号,系名,系主任名),从而满足关系模式规范化的要求,实现了对例子的理性认识(理论阶段)。
最后,还要根据具体的关系数据库管理系统(如Oracle、Informix、SyBase、SQL Server等)对该模型进行定义,然后经过计算机处理,便可进行有关数据的输入、修改和查询工作,这属于该例子的实践(设计)阶段。
以上“学生选课”管理系统的研制过程蕴含了人们对客观世界从感性认识到理性认识,再由理性认识回到实践中来的科学思维方式。对“学生选课”这个简单例子的分析有助于新生理解计算学科中有关抽象、理论和设计3个学科形态的概念。
3培养学生学习计算机专业的兴趣
为了更好地引导一年级新生明确学习目标、制定本科四年的学习计划,在教学中还要进行专业培养方向介绍。针对每个专业培养方向,介绍其课程体系、知识构成、研究领域、研究方法、研究趋势、就业方向与就业前景等问题。对于每门具体课程,阐述课程特色、开课时间与开课模式、考核方式、实践环节教学内容,以及它在所属培养方向中的地位和作用等。具体来讲,就是给学生详细介绍教学计划。通过这些介绍,能够使学生了解学校为他们规定的专业培养方向,有助于激发学生学习计算机学科的兴趣和提升他们对本专业发展与就业的信心。与此同时,学生的学习主动性也将被最大程度地挖掘出来,他们可以选择感兴趣且适合自己的发展方向,从而尽早确定目标并规划好大学四年的学习和生活。
除此之外,学院每学期都邀请一些重点大学的知名人士来作学术报告,在《计算机科学导论》课的教学过程中,也会抽出一定的学时安排学院的资深教师作科普性的报告,以上做法都是为了让初学者能够与著名学术专家进行近距离接触,提前感受学术与应用前沿,并以此来增强学生学习计算机专业的兴趣。
●结束语
计算学科毕业生的各种能力不能仅仅通过《计算机科学导论》课程的教学来实现,也需要通过各种途径、经过长期的培养过程去实现,尤其是专业能力的培养,更需要通过相应的系列课程来完成。可持续发展教育观要求学生关心他人,强调协调,其核心是在知识和能力的基础上强调素质。计算机导论课程的教学应该初步培养学生的团队协调能力,了解职业和道德责任。计算机导论课程的开设会使大学生对计算机技术的初步感性认识上升到一定的理性高度,为其学习计算机学科的后续课程做好铺垫,为大学生的专业学习做好方法和工具上的准备。