计算机运算方法的知识点强化及其教学实施
2015-09-10李仲生黄美玲
李仲生 黄美玲
摘 要: 针对计算机组成原理中的计算机运算方法教学面对的学时紧、学生兴趣不高、学生学习趋于表面化等问题,依据计算思维,分析知识点的具体结构,给出三种知识点强化方法:一致化归纳;相关性延伸;硬软件映射,并给出教学具体实施示例。
关键词: 计算思维 计算机运算方法 知识点强化 计算机
作为计算机科学与技术及相关专业的硬件核心基础课程,计算机组成原理教学面临严峻的挑战,这种挑战源于以下矛盾:技术发展递增的内容和教学课时被压缩的矛盾;硬件理论教学的必需和现实工作未必需要的矛盾;多层次理解的必需与学生实际只想浅尝辄止的矛盾。这三个矛盾在计算机组成原理之运算方法教学中显得更突出:第一个矛盾提升了教学双方的压力;第二个矛盾吞噬了学生的学习动力;第三个矛盾让学生把组成原理的运算方法学习当成数值运算,脱离硬件学习本意。
三个矛盾的存在将严重影响教学质量,为消除这些矛盾,研究者们做了很多有益探索。文[1]从教学方式多样化、实验层次化角度给出了一些宏观探讨;文[2]对运算方法中的原码乘做了剖析,并给出了硬件实现仿真模型;文[3]引入计算思维,采用关注点分离法(SOC)实施计算机运算方法教学,能简化与运算有关的硬件讲解。整体而言,针对当前地方本科院校学生生源情况,宏观化教学探讨意义不大,主要目标是简化问题、强化知识点的可接受性进而引起学生的兴趣。下文基于计算思维,引入几种知识点强化方法,并讨论其在运算方法教学中的具体实现。
1.知识点强化
知识点强化的理论背景为计算思维[4],期望学生化学习知识为培养相关思维能力,即以计算机科学基础概念分析理解问题、让所需学习的知识与思维方式融为一体。比对计算思维的主要行为模式与计算机运算方法的相关内容,为更好地理清知识点分布、强化知识点的规范性和易理解性,拟定一致化归纳、相关性延伸、硬软件映射等知识点强化措施。
一致化归纳。教学过程中遇到的常规复杂性是内容多、杂、无序,针对一些表现模式近似的知识点,或者一些分布在一定定义域范围、但有被合并潜力的知识点,可考虑将其合并归纳。一致化归纳有以下预期目标:有序化知识;给出知识的总体描述,提纲挈领;归纳过程反哺原知识点,让学生对原知识点有更深层认识。
相关性延伸。人的思维是容易惰化的,这种倾向很容易让学生学习计算机运算方法时把加减乘除这种本来由硬件实现的过程悄悄演变为数值运算,完全与硬件设计脱离。为了避免这种情况产生,要在计算机运算方法教学中巧妙引入相关硬件知识,这种巧妙指的是引入相关硬件知识后,知识点的理解难度不应是增加了,反而被降低了。
硬软件映射。对于计算机科学与技术及相关专业学生而言,软件类课程(如语言类课程)开得比较多,特别是C语言,在当代大学生中近于普及状态,换句话说,学生对软件的思维敏捷度一般情况下会超越硬件设计。从本质上说,在计算机发展史中,硬软件本身就有交融发展之势,为利用软件知识强化硬件教学提供条件。在计算机运算方法教学中,这种条件有着不错的利用价值,如在一些内容的讲解中,可利用软件知识完成硬件运行过程的结构化分析。
2.知识点强化在教学中的具体实施
前述知识点强化方法以计算思维为指导、以计算机运算方法为分析目标,反映出运算方法知识点的内在结构,可直接用于运算方法教学。以下分三个方面以实际教学为例,讨论知识点强化在教学中的具体实施。
,其中n=1时代表小数域。引入这个归纳后,可在归纳基础上强化对原来两个域上定义的理解。补码等的定义也有类似情况,此处不再赘述。
再看相关性延伸,目标是强化运算硬件背景。如讲解加减法运算时,可先设问:“相减的位数由谁决定、此处示例为什么是四位加减?”然后在学生猜测时展开讲解,“加减的位数由运算器决定,示例四位加减意味着采用的运算器一次能处理的运算是四位”。再问:“如果相加结果超出四位会怎么处理?”答:“如果硬件有专门设定的进位位,则进位位置位,否则超出位丢失。”问:“双符号位如何判定溢出?”答:“相同则不溢出,不同则溢出。”问:“补码怎么产生多个符号位?”答:“改变模的大小即可,如模为2,其中的n是运算的数码位数,k是符号位位数。”问:“增加符号位位数会改变真值大小吗?”答:“不会。补码正数的符号位为0,不会改变;负数的符号位为1,取反后为0,也不会改变真值大小。”小结:“对,汇编语言中有符号扩展指令,依据的就是这个原理。”讲运算方法是做相关性延伸,确保学生对知识的准确定位,强化学生对知识点的理解。
最后是硬软件映射,目标是将生疏的内容映射到学生相对熟悉一些的软件结构上,让学生快速理解所学内容。如Booth算法,可映射成一个简单的循环结构,初始化参数有部分积,及附加位y=0,循环体仅有三步,判定,相加,部分积&乘数&附加位连体右移一位。如此映射之后,将极大地简化学生的理解难度,提升学生的掌握速度。
三种强化方式在一些时候需要一起使用,如讲Booth算法时,除了做硬软件映射消除学生因面对多步推算而产生的困扰外,在讲解过程中有必要做适当的相关性延伸,即在学生对运算过程有了较直观的了解后,强化参与运算的乘数的符号位位数、部分积的符号位位数,进而说明右移的准则:以部分积当前的符号位为准,按补码规则添补高位的空出位。
3.结语
为在有限时间内让学生对计算机组成原理中的计算机运算方法有足够的了解,上文以计算思维为理论基础,引出三种知识点强化方法,并示例这些方法在实际教学中的具体实施过程。未来工作将以规范、简化、实效、结构化为指导原则,探索更科学的知识点强化方法。
参考文献:
[1]柴志雷.计算机组成与体系结构教学初探.考试周刊,2007,27:116-117.
[2]闫洪亮,耿永军.定点数乘、除法运算逻辑电路实现及模拟演示.电脑学习,2006,2:21-23.
[3]刘培奇.计算思维教学方法的研究与实践.计算机教育,2015,13:46-49.
[4]Jeannette M.Wing.Computational Thinking[J].Communications of ACM,2006,49(3):33-35.
基金项目:湖南省教育科学“十二五”规划课题(项目号:XJK015BXX007)