关昕
摘要:“计算机系统结构”是计算机专业学生的一门重要专业基础课程,由于该课程内容抽象难懂,学生在学习过程中产生了难以理解、难以实践的状况。为了进一步提高学生的学习兴趣,培养学生的自主能动性,达到更好的教学效果,探讨了问题驱动法在“计算机系统结构”教学中的应用。该教学模式有助于培养学生的应用能力,提高学生的学习兴趣,达到变被动学习为主动学习、自主学习的目的。
关键词:问题驱动;计算机系统结构;教学方式;教学效果
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)14-0145-02
“计算机系统结构”(Computer Architecture)一词的含义有多种说法,并无统一的定义。它是Amdahl等人在1964年提出的。他们把系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性。《计算机系统结构》课程研究计算机系统结构演化以及影响计算机软硬件系统设计,《计算机系统结构》研究的内容主要包括:数据表示、寻址方式、指令系统、中断系统、存储系统、输入输出系统、流水线处理机、超标量处理机、互连网络、向量处理机和并行处理机等,使学习者能够比较全面地掌握计算机系统的基本概念、基本原理、基本结构和基本分析方法,并建立起计算机系统的完整概念。
基于《计算机系统结构》课程的特点,传统的授课模式和方法往往不能达到教学目的。许多学生在学习《计算机系统结构》课程时会认为乏味无趣,无法领会该课程的学习目的,最终导致学生的学习效果不理想。结合高等教育的培养目标和学生的特点,考虑学生面临的就业问题,采取怎样的教学方法如何培养学生分析问题、解决问题的能力,使他们毕业之后能较快地适应工作需要,成为高等院校教育中的一个亟待解决的问题。[1]针对上述问题,本文提出问题驱动法来弥补《计算机系统结构》教学中的弊端。
一、问题驱动法
所谓问题驱动法就是在学习过程中,在问题的驱动下,紧紧围绕一个主题,进行自发的探索和相互协作的学习,完成教学任务的同时,引导学生产生实践活动,形成良好的学习习惯。问题驱动是一种建立在建构主义教学理论基础上的教学法,要求任务的目标性和教学情境的创建,使学生带着真实的问题在探索中学习。[2]问题驱动式学习旨在通过独立分析和解决问题的过程来培养学生自主学习能力以及解决具体问题时的协作学习的能力。所谓的自主学习,就是以学生作为学习的主体,通过学生自己的努力,自觉、主动、积极地获取知识。它要求学生在学习过程中独立地分析、探索、实践,充分发挥自身主动性,根据自身行动的反馈信息来形成对客观事物的认识和解决实际问题的方法。协作学习是在自主学习的基础上,通过小组协商讨论的形式,进一步加深对知识的理解和认识。学生通过协作学习,可以看到问题的不同侧面和解决方案,拓宽了学生解决问题的思路,对知识点也会有新的认识与理解。在计算机系统结构的实验教学部分,重点培养学生自主学习与协作学习相结合的能力,具体实施时将实验题目设计为必做题目和选做题目。教师制定必做题目,可以有目的地帮助学生夯实基础知识。教师在制定实验题目时应注意以下几个方面:一是选用难易适当的题目,通过该题目,学生能够较容易地理解和掌握计算机系统结构的基本理论与方法;二是题目要紧贴学生的日常生活和学习,有助于激发学生的学习兴趣,调动他们的积极性;三是题目要充分应用到理论知识点,理论与实践相结合,真正达到学以致用,增强学生的实践能力,激发他们潜在的学习兴趣。[3]这种问题驱动式的教学方式,不仅激发了学生自主求知的欲望,而且让学生也体会到了实验成功的喜悦。选做题目注重培养学生的实践操作能力以及创新思维。在此阶段教师以“导师”的身份出现,学生充分发挥主体作用,变过去“被动”学习为“主动”学习,在教师的指导和帮助下,主动搜集和查阅一些参考书、网络学习资源,通过自主探索和协作学习找出解决问题的方法,提高自主学习能力。当学生在解决问题时,可自由组合成组,2~3人适宜,明确分工,发挥各自长处,协作完成学习任务。教师对整个组的进程进行跟进指导。小组可以定期开小组会议,大家围绕一个主题展开讨论,取长补短,充分发挥共同学习、协作的精神,共同完成任务。所有题目采取一组一题制,避免抄袭。由此一来,学生在问题驱动的环境下,将生硬的课程知识生动具体地应用到实际项目中,进而对计算机系统结构中的重点、难点知识进一步完善和重构,有效提升了自身的实践操作能力。
二、“计算机系统结构”教学问题的有效设计
在设计问题时,必须考虑到学生现有的知识结构和能力水平。问题可分为了解、理解、掌握三个层次。了解指能够记住或复现已学过的知识和操作方法;理解指对已学习过的知识及操作方法能够用自己的语言进行表述、判断和运用;掌握指能用所学过的知识和操作方法去解决简单问题。在本课程中,了解是指初步理解硬件的工作原理;理解是指学会进行硬件分析并且能够完成实验;掌握是指能够按要求设计硬件电路并且在做实验时能有错误立即自我纠正[4]。笔者设计如下驱动问题:
第一个问题:验证运算功能发生器(74LS181)的组合功能。要求熟练掌握各个引脚功能,在实验中完成各种运算,并且理解利用74LS182设计16位超前进位加法器。
第二个问题:掌握静态随机存储器RAM工作特性及数据的读写方法。并且要求了解计算机系统中使用的主要几种存储器的性能参数,工作原理和优缺点;学会存储器的位扩展、字扩展和位/字扩展方法。能够按照题目要求设计各种容量和字长的存储器;如何使用并行存储器来提高存储器的访问速度?
第三個问题:(1)掌握微程序控制器的组成原理。(2)掌握微程序的编制、写入,观察微程序的运行。
第四个问题:(1)在掌握部件单元电路实验的基础上,进一步将其构造成一台基本模型计算机。(2)为该模型机定义五条机器指令,并编写相应的微程序,调试掌握整机概念。要求首先设计数据通路框图及微程序流程图。[5]
第五个问题:多核技术中的并行体系与多核体系结构包括哪些知识点?
三、建立起自主探索与协作的实践环节
问题驱动式学习旨在通过独立分析和解决问题的过程来培养学生自主学习能力以及解决具体问题时的协作学习的能力。所谓的自主学习,就是以学生作为学习的主体,通过学生自己的努力,自觉、主动、积极地获取知识。它要求学生在学习过程中独立地分析、探索、实践,充分发挥自身主动性,根据自身行动的反馈信息来形成对客观事物的认识和解决实际问题的方法。协作学习是在自主学习的基础上,通过小组协商讨论的形式,进一步加深对知识的理解和认识。学生通过协作学习,可以看到问题的不同侧面和解决方案,拓宽了学生解决问题的思路,对知识点也会有新的认识与理解。
四、建立起公平的实验评价环节
教师对学生的实验结果给出正确的评价,同时在实驗结果的基础上扩展纵向或横向思维,拓宽学生的思路,激发学生对计算机系统结构的学习兴趣和竞争意识。在课程中,以小组为单位来完成实验,然后大家交流心得,相互点评。评价的标准如下:一是在实验中反映出学生对计算机系统结构知识点的掌握应用情况;二是小组内部成员的合作沟通能力;三是学生自主学习能力;四是学生的创新能力等。当要求学生在大家面前展示自己的实验结果时,他们往往会完成得更好,细枝末节的问题也会考虑到。与此同时,同学间的相互交流能够集思广益,取长补短。通过实践证明,公平的实验评价环节是有效的、很有必要的,能巩固知识、完善结构、开阔思路。[6]
五、总结
基于“问题驱动”的教学模式有很多,在《计算机系统结构》课程中就是让学生在一个个典型的硬件工作原理和硬件处理“问题”的驱动下展开教学活动,引导学生由简到繁、由易到难、循序渐进地解答一系列“问题”,从而得到清晰的思路、方法和知识脉络,在解答“问题”的过程中,培养学生分析问题、解决问题以及掌握计算机硬件工作原理和处理信息的原理。进一步理解计算机软件和硬件的协同工作机制,从而激发学生的求知欲望,提高学生的实战能力。
参考文献:
[1]刘梦龙.运用任务驱动教学法培养学生自主学习和协作学习的能力[J].职大学报:自然科学版,2003,(02):115-116+54.
[2]王治.“任务驱动”教学法在《计算机系统结构》教学中的应用[J].硅谷,2009,(11):155.
[3]邓家宏.试论基于任务驱动的信息技术课程教学法[J].四川教育学院报,2005,(Zl):170-171.
[4]张晨曦,王志英.计算机系统结构[M].北京:高等教育出版社,2008:43-47.
[5]Hennessy J L,Patterson D A.计算机系统结构:量化研究方法[M].北京:电子工业出版社,2007:45-104.
[6]游琪.项目驱动在数据结构实践教学中的应用研究[J].软件导刊,2010,(9):187-188.