刘向举
(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)
计算机核心专业课程包括计算机组成原理、数据结构、操作系统、计算机网络等,这些课程是计算机专业学生学习其他专业课程的基础,对于后续其他课程或其他专业知识的学习起着至关重要的作用。以计算机组成原理为例,计算机组成原理是计算机科学与技术专业、网络与信息安全专业、软件工程专业、数字媒体专业、物联网工程等专业的专业基础课程、核心课程,课程系统阐述计算机硬件系统及其各部件的内部结构、功能特征、工作原理、交互方式和分析设计方法。课程的学习意在使学生系统地理解计算机硬件系统的组织结构和工作原理,掌握计算机系统的基本分析与设计方法,全面培养学生对计算机软硬件系统的认知、设计与创新能力,使学生对计算机的整机系统架构有清晰的认识,并为计算机系统结构、操作系统等后续课程的学习奠定良好的基础,但是当前计算机组成原理课程的教学现状并不乐观,根本无法达到所设定的教学目标,因此需要探索新的教学模式,提高教学效果。
虽然教师课下已经对课程内容做了精心准备,但是在课堂教学过程中,并没有使学生产生很大的学习兴趣,学生的积极性并不高,学习效果不理想,造成教师感觉课程难教、学生感觉课程难学的局面。导致这种局面的主要原因包括以下几个方面[1-2]:①课程知识点零散,内容难而抽象,教学方法灵活性差,教学手段单一;②学生对这门课程兴趣不足并有一种重软轻硬的认识,感觉学习这门课没有什么用,不如学一些流行的应用技术;③学生的硬件基础知识比较薄弱,先导课程学习得不扎实(如数字逻辑课程),学习这门课程的难度加大;④实验环节薄弱,实验内容固定,实验方法单一,许多学生不对实验内容进行拓展延伸并与实际相联系,并没有真正理解实验的目的,达不到理论联系实际的教学要求。
探究式教学法是一种以提出问题、分析问题、解决问题为基本特征的教学活动形式,源自杜威“从做中学”的教学方法,通过自主研究、分析和解决问题,激发学生的好奇心和探索愿望,培养创新潜能与自我创造力[3]。类比教学法就是通过联系与教学内容相似或相通并且为学生较熟悉的自然现象或生活实际,使抽象的内容形象化、复杂的内容简单化、枯燥的内容趣味化,从而减少学生对新知识的陌生感,唤起学生的注意力,激发学生对知识的浓厚兴趣[4-5]。
问题探究式教学法在计算机组成原理的教学实施过程中分为3步:①创设情境、引入问题;②自主探究与协作交流;③问题解析与引导。
1)教学案例1:冯•诺依曼体系结构计算机的相关问题。
当前计算机组成原理的教学内容主要是按照冯•诺依曼体系结构讲解计算机的组成及其每部分的工作原理[6]。冯•诺依曼的主要设计思想:计算机采用二进制数,硬件系统由运算器、控制器、存储器、输入设备和输出设备5个部分组成,提出“存储程序”原理,使用同一个存储器,指令和数据统一存储同时在程序控制下自动工作。对此,可以由浅入深地依次列出问题:①计算机为什么采用二进制?②指令和数据都采用二进制数,计算机是怎么区分从存储器中取来的是指令还是数据?③指令和数据统一存储,会不会影响程序的执行效率?如何改进?④冯•诺依曼体系结构的计算机和现代计算机相比,有何局限性?如何改进?
2)教学案例2:补码加减法运算的相关问题。
补码的加减法运算是计算机组成原理课程中的教学重点,教材中都会指出,在计算机中一般采用补码进行加减法运算,因为补码运算可以把减法运算转换为加法运算,也就是说采用补码可以把加减法运算统一为加法运算;而且采用补码进行加减法运算不需要单独处理符号位,符号位和数值位同等处理。此处可探究两个问题:①为什么采用补码可以将减法运算转换为加法运算?②为什么补码运算符号位可以直接参与运算,不需要单独处理,而原码在进行加减运算时,就需要单独处理符号位?
问题提出以后,教师要让学生明确问题的起因,对所提出的问题积极思考,查阅资料,自主探究。当学生对问题有了一定的认识和理解之后,开始交流讨论,这既是思路、观点的碰撞时刻,也是思维拓展的时刻,又是成果分享的时刻。交流讨论可以分组的方式进行,在这个过程中教师进行组织、协调和启发式的引导。
1)案例1的解析与引导。
案例1是围绕着冯•诺依曼思想的计算机体系结构特征而提出的一系列问题。教师在对这些问题进行解析引导的时候,一定要注意有些知识需要以前序课程为基础,有些知识涉及后面的教学内容,因此要做好对已学过知识的复习工作和未学知识的引导工作。对案例1的解释要点参考如下。
①计算机为什么采用二进制数?计算机中之所以采用二进制数,主要原因是二进制数在物理技术上实现简单、可靠性高;二进制数算术运算规则简单并便于逻辑运算[6-7]。②指令和数据都采用二进制数,计算机是怎么区分从存储器中取来的是指令还是数据?这个问题会涉及后面指令周期的知识,一条指令的执行主要包括取指周期和执行周期,有些指令可能还包含间址周期和中断中期,在取指周期取出来的肯定是指令并送往控制器,而执行周期取出来的是数据并送往运算器。③指令和数据统一存储会不会影响程序的执行效率?如何改进?这个问题的要点是指令和数据统一存储肯定会影响程序的执行速度,因为指令和数据的存取要分开进行。改进的方案可以采用并行存储器(双端口存储器、多模块交叉存储器等)提高读写效率,还可以将指令和数据分开存储,也就是哈佛结构的存储器。④冯•诺依曼体系结构的计算机和现代计算机相比,有何局限性?如何改进?随着对计算机处理速度要求的提高和对需要处理数据的种类、量级的增大,冯•诺依曼体系结构计算机的局限性主要体现在程序指令的执行是串行的,由程序计数器控制,使得即使有关数据已经准备好,也必须遵循逐条执行指令序列,影响系统运行的速度;冯•诺依曼体系结构计算机是以运算器为中心,CPU的负担非常重,效率低。现代计算机的特点是改变传统计算机控制流驱动的工作方式,设计数据流驱动的工作方式,只要数据准备好,就可以并行执行相关指令。将运算器为中心改为存储器为中心,可以减轻CPU的负担。近几年,为了提高计算机的速度,非冯•诺依曼体系结构的计算机相继出现,将信息载体由光子、量子或生物分子等替代电子,如光子计算机、量子计算机、神经计算机、DNA计算机等。
2)案例2的解析与引导。
案例2围绕补码加减法运算提出两道问题,重点是要对补码的概念有一个深刻的理解,因此教师对补码的概念要做好引导工作,解析要点参考如下。
①为什么采用补码可以将减法运算转换为加法运算?这与补码的概念有关,补码的求得是以模为基础的,因为在有模运算中,减去一个数等于加上这个负数的补码,另外如果运算结果超过计算机所能表示的数值范围,则只保留它的小于模的低n位的数值,超过n位的高位部分自动舍弃。②为什么补码运算符号位可以直接参与运算,不需要单独处理,而原码在进行加减运算时就需要单独处理符号位?通过原码和补码的公式可以看出,原码实际分为两部分,最高位是符号位,符号位以后部分为真值的绝对值,这个符号位是孤立的、强加上去的,不是数值的一部分,因此必须单独处理,不能参与运算;而补码则不一样,补码中的符号位并不是强加上去的,是经过运算得到的,是数据本身的自然组成部分,因此可以正常地参与运算。
1)教学案例1:存储器容量的扩充。
存储器容量的扩充一直是计算机组成原理课程教学的难点和重点,讲解的主要内容包括位扩展、字扩展、字位同时扩展、芯片的译码方案等知识,纯粹从理论上讲授这些内容,学生不太容易理解,因此可以用生活中的例子对抽象的问题进行直观、形象的讲授。以教学楼走廊铺设地砖的过程为例说明这个问题,一块地砖相当于一个存储器芯片,如果要想把走廊的横向一行铺满,需要用多块地砖,横向铺设的这一行相当于存储器容量的位扩展,那么如果要把整个走廊铺满,还要一行一行地进行纵向铺设,这个纵向铺设就相当于字扩展,铺满后的整个走廊地面就相当于扩展后的整个存储器的存储空间,在铺设地砖的过程中要求地砖与地砖之间要紧凑,但又不能重叠,这恰好与存储器地址空间的连续性和不可重叠性概念相吻合。在直观例子的基础上,再进一步讲解如何从技术上实现存储器位扩展、字扩展、字位同时扩展、地址空间的不可重叠性等问题,学生就比较容易理解。
2)教学案例2:中断。
中断理论的讲解会涉及中断请求、响应中断、保护断点、进入中断服务程序、中断返回等技术,如果直接讲解这些概念及技术的实现过程,学生会感觉枯燥、晦涩难懂,对此可以用日常的敲门事件和中断联系起来。例如,某单位领导正在办公室办公,突然有人敲门,敲门事件就相当于中断请求,敲门的人相当于中断源,办公室里的人一般也不会知道什么时候会有人敲门,因此这个敲门的事件也是随机的,正好和中断的随机性相吻合;外面有人敲门,如果里面的人可以让外面的人进来,这就是响应中断请求;在和外面的人会面之前,里面的人要记录一下当前的工作情况,这就是保护断点;然后里面的人和外面的人进行会面交流,这就与进入中断服务程序相吻合;会面结束后,里面的人继续办公,就是中断返回;如果里面的人对外面的敲门人不理睬,这就是拒绝中断;如果办公室外面设有秘书,里面的人可以吩咐秘书接待哪些人,不接待哪些人,这就是中断屏蔽技术。通过一个简单的日常生活事件,学生便可了解计算机的中断过程,也比较容易接受和理解中断的每一个过程的技术实现。
对于其他的问题,如溢出的概念可以用量杯盛水进行形象类比,补码减法运算转换为加法运算的原理可以用时钟调整时间进行类比,管理外设的几种信息交换方式可以用车间任务分配作为类比等。类比的教学方法能够激发学生的学习兴趣,令课堂气氛轻松愉快,深受学生欢迎。
表1 问卷调查表
为了检验教学效果,以笔者任课的两个教学班进行实践,两个教学班分别命名为A教学班和B教学班,其中A教学班采用正常的讲授方式,B教学班采用改革后的教学模式。无记名方式的问卷调查结果显示,教学效果有明显的提高,问卷的内容及调查结果见表1。
计算机组成原理是计算机及其相关专业必修的一门专业核心基础课程,在课程体系中占有重要的地位。为了提高教学效果,笔者将问题探究式教学方法和形象的类比教学方法运用到计算机组成原理的课程教学中,用学生主动参与、乐于探究、交流合作的教学模式改变被动接受、死记硬背、机械训练的传统教学模式。从实际教学效果看,该教学方法激发了学生学习的积极性和主动性,活跃了课堂气氛,加深了学生对知识的理解,培养了学生的自主学习能力和解决问题能力,使得教学效果得到改善。该教学方法可以在计算机专业其他核心专业课程中进行推广应用。