关键词:实践教学;案例项目任务驱动;创新能力
为培养高素质创新人才,提高学生创新能力和就业竞争力,各大高校都非常重视实践教学,并将其课时设置大幅提升,在有些高校中甚至已经超过了理论教学课时量,同时学校在科研和设备投入方面也给予了大量倾斜。但受传统教学理念的影响,实践课程的设置过分依赖理论教学,实验内容仍以验证性和演示性实验为主,教师在实践教学过程中处于中心地位,学生被动地跟随教师的思路进行实验方法和技能的学习。因此,学生的主观能动性和创新能力难以有效发挥。
计算机硬件课程是计算机专业的重要分支,是软件课程学习的基础,对学生实际动手能力与创新能力的培养起着举足轻重的作用。鉴于计算机硬件课程本身的复杂性,学生在硬件实践课程的学习中存在着畏难情绪,同时硬件实践教学改革滞后,教学方法陈旧,实践课程与快速的计算机信息技术发展严重脱节,学生对计算机硬件实践课程学习的主观能动性不够,学习效果不佳,为此笔者探讨案例项目任务驱动教学法在计算机硬件实践教学中的应用,引导学生重视硬件课程,以提高学生学习兴趣,切实地提高学生实际动手能力、创新意识和就业核心竞争力。
1、基于案例项目任务驱动的教学方法
案例教学法基于启发式教学理念,寓教学内容和知识点于具体案例,结合典型案例的剖析,引导学生主动解决案例所遇到的问题,培养学生分析和解决问题的能力,发挥学生的学习主观能动性。项目教学法则是依托实际项目,融教学知识点于具体项目,学生在完成项目的过程中,学习教学大纲中设置的知识点,由于项目完成需要小组人员的通力合作,利于增强学生的团队意识,提高其自主创新能力。而任务驱动教学法是以学生作为学习主体,结合自己分担任务模块的完成,建构知识体系,极大地发挥了学生的学习主观能动性。上述3种教学方法已在当前教学实践中获得了良好的教学效果,但多以单一课程作为研究对象,教学方案设计过分依赖所选案例、项目和任务,且教学内容与设计案例、项目和任务严重脱节,影响了教学方法的效果。同时3种教学方法在培养学生创新能力和发挥学生主观能动性等方面各有侧重,为此,笔者以计算机硬件课程系统为研究对象,融3种教学方法于一体,以学生喜闻乐见的“案例”为“引导”,以“实际项目”为“主线”,寓课程知识点于项目实施的每个任务模块,“驱动”学生在完成任务的同时,建构理论体系。
2、基于案例项目任务驱动的计算机硬件实践课程的实施
2.1 计算机硬件课程实践教学内容的优化设置
计算机专业硬件课程主要有“模拟电路”、“数字电路”、“计算机组成原理”、“微型计算机原理”、“单片机原理及应用”以及“嵌入式系统”等。由于课程之间在内容上存在交叉部分,我们需要深入分析和研究计算机硬件课程的教学任务,按照硬件课程体系培养能力结构的要求,优化整合硬件课程实践教学的内容,将其分为电子技能训练教学内容、计算机系统训练教学内容、单片机与嵌入式系统教学内容3个部分,而每个部分又可分为验证性、综合性和创新性3个层次。
电子技能训练教学内容是计算机硬件课程实践教学的基础,主要以验证性和综合性试验为主,通过验证性试验巩固深化教学内容。综合性试验则是以学生熟知的案例(如设计系统电源、放大电路以及信号采集调理电路等)驱动学生综合解决系统级任务课题,提高学生综合解决问题的能力。实践教学平台包括基于Proteus仿真试验平台和自主性创新试验平台2种类型,其中基于Proteus仿真试验平台用于模拟电子电路运行机理,验证和巩固课堂教学知识点;而自主性创新试验平台是在教师引导下,学生自主搭建电子线路,从而加深其对课堂知识点的理解,提高其动手能力,激发学生的科研探究兴趣。
计算机系统训练教学内容多以综合性和创新性实验为主,主要设计内容包含处理器设计和计算机控制系统设计等方面,采用基于EDA试验平台和自主性创新试验平台2种类型。其中基于EDA试验平台的实验主要用于训练学生自主设计CPU的能力,强化其计算机底层理论体系,以便使学生建立整机的概念,优化软件编程效率。创新性试验平台则是基于实际的计算机控制系统,由学生自主地完成某一控制系统的设计,深化学生理解计算机专业硬件课程的重要性,激发学生对计算机硬件专业课程学习兴趣。
单片机与嵌入式系统教学内容主要以自主性创新试验为主,主要是对计算机硬件课程知识体系的综合检测。其试验平台多以教师实际承担的科研项目和电子设计大赛题目为主,项目具有较强的时效性和复杂性特点,易于提高学生参与课题的主观能动性,可作为计算机硬件实践课程的项目资源。学生在教师的任务分配下,独立完成自己所承担的任务,在任务完成过程中建构自己的知识体系。
2.2 项目资源的优化选择
计算机硬件课程实践教学项目资源的选择应以培养学生的创新能力为首要目的。所选项目应尽量涵盖教学大纲要求内容,同时项目还需具备一定的难度和时效性。为此,我们必须深入分析计算机硬件实践教学内容,获取相关知识点,并将其融于项目实施过程,使学生在解决项目实施过程中所遇到的问题时,掌握和深化课程知识点。
项目资源优化选择的原则有3个:①鉴于计算机硬件课程实践教学内容由电子技能训练内容、计算机系统训练教学内容和单片机与嵌入式系统教学内容3部分组成,项目资源需融合上述3种教学内容所涉及知识点,并充分涵盖相关教学内容;②项目资源内容需紧跟信息技术的发展方向,应有较强的时效性,易于激发学生学习的积极性;③项目在实施过程中所遇到的问题难度应适中,最后实验结果要明显,易于激发学生强烈的成就感。
我们以单片机与嵌入式系统教学内容为例说明项目资源优化选择原则。项目资源选择“基于单片机的智能车控制系统的设计”,包括软、硬件2部分,其中硬件部分包括了电源部分、硬件滤波部分、信号采集调理放大部分、数模转换部分、控制电路部分等电子电路部分,基本涵盖了模拟电路和数字电路的基本教学知识点;软件部分涵盖了定时器控制、中断应用、键盘使用、AD转换等,基本涵盖了微机原理和单片机原理的相关知识内容,且相关知识点均为硬件课程教学内容的基本知识点,难度适中。通过项目的实施,智能车可实现快速避障运行,易于激发学生的学习兴趣。智能车快速避障功能是智能机器人研究领域的热点,具有强烈的时代背景。此项目的开发经历,对于学生就业以及进一步深造都具有较强的指导意义。
2.3 实践案例的合理剖析
项目分解要注意与实践教学内容相结合,分解后的案例模块在功能上要保持一定的完整性,且各模块之间具有一定的渐进性、扩展性,这样可逐步引发学生的学习兴趣,避免产生畏惧和抵触情绪。我们需要针对每一个案例模块,进行有效地评价和优化,分析每个案例模块所运用的知识点、用到或可能替代的相关算法以及相关联的案例模块等,并实现和演示。
我们以“基于单片机的智能车控制系统的设计”为例,说明实践案例剖析过程。“基于单片机的智能车控制系统的设计”可分解成:智能车系统的电源模块、智能车系统信号调理模块、智能车系统显示模块、智能车系统速度控制模块、智能车系统循迹模块和智能车红外避障控制模块等典型案例。上述案例直接由实际智能车系统分解而成,功能上具有完整性,难度逐步加大,具有一定渐进性,且各案例均涉及计算机硬件课程相关知识点,譬如智能车红外避障控制模块包括硬件电子电路和软件设计部分,硬件电子电路设计部分还有模拟电子的信号推挽放大电路、12C总线扩展、中断硬件电路设计等,软件设计部分包括数字滤波设计信号、定时器设定控制周期、中断避障判定等。这样,一个案例就涉及了计算机专业硬件课程的相关知识点,便于学生在项目实施过程中,强化理论知识的学习,激发学习兴趣。
2.4 具体任务分配
案例剖析完毕后,我们必须指导学生将所选项目分解成相应的任务,使其与案例密切相关,并通过“模仿”、利用教学资源等学习方式完成任务,同时引导学生按照课堂上的案例步步深入,每完成一个任务,就将该任务“组装”进来,最终“组装”成一个完整的项目应用程序。结合“基于单片机的智能车控制系统的设计”剖析完成的案例,以任务的形式下达给各试验小组,分别用相关案例给各实验小组分配相关任务,因此会有智能车电源模块实验小组、智能车系统信号调理实验小组、智能车系统显示实验小组、智能车系统速度控制实验小组、智能车系统循迹控制实验小组以及智能车红外避障控制实验小组。各小组人员的具体任务进一步被分解,使得每一个学生都承担一定的具体任务。每位学生的责任明确,自己任务的完成都是项目完成必不可少的部分,使每位学生充分意识到团队合作的重要性,提高学生学习的主观能动性和创新能力。
2.5 客观评价体系的优化设置
具体任务下达以后,学生便进入动手操作环节,充分地发挥了学生的主体能动作用。为有效防止学生任务完成过程中出现困惑和畏难情绪,教师需要做好正确的引导,但必须时刻坚持“学生为主导”的教学理念,仅需在解决途径和思路上给予指导。学生在具体任务完成过程中建构自己的理论体系。项目完成时,每位同学需对自己所完成的任务进行总结和评价,并接受教师和学生的提问,教师做出点评。各实验小组都要对自己所承担的任务进行评价,这不仅对目标达成的结果作出判断,还对小组成员目标达成的情况作出分析评价。学生通过参与自己学习成果的评价,认识到自己的智力潜能,利于激发学生的科研热情。教师依据各小组评价、任务完成过程、设计方案、调试过程、实验报告等部分,按一定的比例计算出学生最终的考评成绩。
关键词:考研;计算机组成原理;课程改革;教学方法
2009年以前计算机考试是各个学校自己命题,根据各个学校对考生的要求和学校老师的研究方向确定不同的考试科目。一般从数据结构、组成原理、操作系统、计算机网络这四门课中挑选两到三门来考。不同学校的试题难度相对不同学校的学生存在有非客观的因素。为使学生在计算机专业课考试中有一个客观的评价,教育部针对这个问题提出了统考科目。众所周知,计算机学科整个课程体系粗略可以分为软件理论和硬件理论两部分。“数据结构”是软件课程的基础,“计算机组成原理”是硬件课程的基石。在这两门课程的基础上,操作系统讲述的是如何使计算机展现给用户强大而易用的功能。随着网络应用的兴起,计算机网络运行基本原理也显得越发重要起来。因此,将这四门课被选定为计算机专业研究生入学考试考查的课程还是比较科学的。计算机专业考研统考给我们的计算机教学提出了新的要求。
1 “计算机组成原理”考研大纲解析
1.1大纲考查目标
首先我们要知道考研大纲的考查目标,大纲中明确指出了课程的考查目标为:
(1) 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
(2) 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。
(3) 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。
1.2大纲解析
从大纲的考查目标以及近两年的真题中可以看出“计算机组成原理”课程的教学内容不仅要传授有关硬件设计的课本知识,更要重视理论知识与实践过程的结合,将知识综合灵活运用,重视学生综合能力和创新能力的训练和培养。本课程应该着重培养学生关于计算机硬件系统方面的3种能力:即计算机硬件系统的认知能力、设计能力与创新能力。课程主要通过对计算机各功能部件的组成及运行原理的分析、讲解和配套实验,培养学生对计算机硬件的系统级认知能力。通过对数据的机器表示、运算方法及运算部件的组成等知识点的讲解和实验,使学生掌握计算机的运算特征;通过指令系统的相关知识,使学生掌握计算机系统汇编级的结构特征和基本操作描述方法;通过存储系统的详细讲解和实验,使学生能从容量、速度和成本的角度理解多层次存储系统的组织结构和工作原理;通过CPU及控制单元的功能和结构的详细分析,结合指令执行控制的深入讲解和实验,使学生理解计算机系统指令执行的实质和控制单元的基本实现方法;通过总线、输入输出接口及外部设备等知识的讲解,使学生了解计算机系统内部、计算机系统与外部的交互方式。
2教学方法探讨
2.1教学内容设计
通过对大纲及其所涉及的知识点的分析来看,“计算机组成原理”考研大纲首先要求学生了解各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。也就是要求学生既能够从全局或宏观的角度掌握计算机硬件系统的整体结构和工作原理,又能从局部或微观的角度理解计算机各个部件的工作过程和交互方式。任课教师不但要使学生清晰地了解所学内容在课程知识结构中的位置以及和其他部分之间的关系,还要使学生对所学内容具有清晰的脉络和思路,这对学生全面地掌握本课程的知识具有十分重要的作用。因此,有必要研究并实践一种有效的教学模式,使学生从微观层面掌握课程知识单元、从宏观层面建立该课程知识体系,进而培养学生关于计算机硬件系统的认知能力、设计能力和创新能力[1]。
在实践中,我们从知识与能力两个层次,课堂与实验两个环节对“计算机组成原理”课程与实验体系进行了详细设计,采用自顶向下的教学思路,建立了一种从整体功能推进到局部组成、从微观实现抽象到宏观结构的层次化课程内容设计模式。通过提出问题、分析问题、分析功能需求、探讨解决思路、总结功能特征、介绍设计与实现细节的教学内容展开模式,分别对存储系统、计算单元、控制单元和输入输出系统的教学内容进行设计,贯彻局部组成体现整体功能、微观实现体现宏观结构的教学内容设计思路,同时突出“功能分析”和“结构设计”两条主线。
2.2教学方法
在实际教学过程中,有些学生,甚至老师认为各硬件课程之间的衔接并不紧密,互不相干。有的教师讲到的知识点如果用到了前导课程的知识,很多老师在这里就只是一笔带过,没有将前导课的知识点和本课程衔接和过渡起来,而知识之间的贯穿、联系去靠学生自己去领悟,这样的教学效果可想而知。因为课程与课程之间的联系内容对同学们对旧知识的加深和对新知识的理解起着非常重要的作用,教师明确将这种衔接和过渡告诉学生,学生才能在大脑里形成一个严密完整、一环扣一环的硬件体系[2]。
在培养学生对计算机硬件的系统级认知能力的基础上,我们通过对运算部件、存储系统、指令系统、控制单元、整机硬件系统的设计方法等知识的讲解,结合相应设计实验,培养学生对计算机硬件系统的理解和设计能力。在设计能力培养的具体方式上,可通过课堂讲授、课后练习、配套实验等形式分层次实现。如课堂讲授可重点介绍系统和部件的设计方法和设计过程等内容;课后练习可进行框架性设计;配套实验可围绕规范、典型的模型系统,从功能部件的实现开始,直至最终设计出一台具备基本运算能力和存储能力、支持有限指令集的计算机设备。从而达到验证功能部件和系统的功能,掌握必要的硬件描述语言、设计工具及仿真环境,体验计算机硬件系统的设计过程,掌握相关硬件设计技术与方法等目的。
课堂教学和实验应着力培养学生的创新意识和创新能力,在培养学生认知和设计能力的基础上,通过对计算机硬件系统不同阶段面临的问题及其技术发展的分析和探讨,体会在特定的技术条件下的创新思维;针对计算机硬件系统面临的新问题和新需求,结合新技术向学生介绍该领域的技术发展趋势,引领学生突破思维定势,以此培养学生的创新意识。通过集成计算机组成原理、操作系统、编译技术等课程知识内容的综合课程设计,培养学生的基本创新能力。
3教学方法实践
在教学中笔者还有意识地运用以下一些方法。
3.1多媒体教学
“计算机组成原理”传统的教学方法是采用粉笔加黑板的教学方式,教学手段单一。很多工作过程都发生在芯片内部,看不见也摸不着,内容很抽象,而且电路图、时序图也非常多。如果总是空讲或是单凭老师在黑板上画是远远不能满足授课需要的。要解决这个问题,就得充分利用现代的多媒体手段,上课的时候通过多媒体课件,使同学们有一个直观的、感性的认识,同时扩大学生的知识面。比如:要讲解CPU执行指令的时候,最好制作一个能反映 CPU每一步工作流程的动画,动画生动地反映了计算机指令被执行的详细过程,指令如何流动,数据如何获取,结果如何存放。这样就能使同学们直观地获得感性认识,同时也加深了大家对理论知识的理解和记忆。
3.2启发式教学
启发式教学是指教师有意识地提出一些现象或问题去引导学生思考。例如,讲解加法器的时候引导学生思考:ALU内部有加法器,那么有减法器吗?教师进一步引导:补码出现的意义是什么,补码如何实现减变加?经过启发引导,学生把前后两个看似孤立的知识点有机联系在一起,构成完整的知识体系。
3.3类比教学
类比教学是在授课过程中将一些概念、策略和思想等与现实生活中的生动事例进行关联、类比。使学生更容易理解和牢固掌握教学内容、抓住关键思想。例如:为了便于理解指令寻址方式,用生活事例类比:你想找张三,如果张三与你在同一办公室,在办公室可直接找到他,这相当于立即数寻址;如果张三与你不在同一单位,但你知道他的家庭地址。根据地址到张三家可以找到他,这是直接寻址:如果你不知道张三的地址,但是你知道李四的地址,而李四知道张三的地址,可以通过李四找到张三,这就是间接寻址。再如,把存储层次中的映像规则与阅览室的位置分配进行类比;把局部性原理与衣柜里存放什么衣服以及电脑的桌面放什么图标相关联;把流水线技术与工业流水线进行类比等[3]。
还有在讲述计算饥存储系统时,学生对Cache在计算机系统中的作用不能准确把握,此时可以列举:假没学生要找一个同学的电话号码,一个途径是从整个城市的电活号码薄中去查,另一个途径是在自己随身携带的手机通讯录中去查,显然在手机通讯录中去查会快得多。这例子形象地说明了在Cache中获取数据会比在主存中获取数据更快,另外也说明了Cache的另一个特点:虽然存储容量有限,但所存储的信息是较常用的。又例如教学总线宽度的慨念,可借助于城市道路宽度来类比说明。
3.4根据教材内容补充最新的实用知识
计算机技术的迅速发展和教材的出版周期的不协调,使得教材中部分知识显得较老或过时,这也是造成学生学习兴趣不高的原因之一。因此,教学过程的每一环节,都尽量补充一些当前最新技术的发展情况和新型元器件的介绍。让学生不但能在该课程中学习到理论知识,还能开阔眼界并学习到实用的知识,从而有效提高学习积极性[4]。如:在讲述内存的存储单元工作原理和读写工作周期时,也可以补充一些与当前流行的计算机内存的相关知识,如SDRAM、DDR、DDRII等,以及内存工作参数如PC150、DDR266、DDRII800等。又如:讲存储器时,也可以补充ROM、PROM、EPROM、EEPROM,使学生在比较中了解这几种存储器的区别和发展历史。在输入输出系统教学中,需要指出哪些技术和设备已经过时,让学生清楚了解输入输出系统的发展过程。同时补充一些当前最新的输入输出设备的发展、技术和性能,如 U盘和串行硬盘存储系统、液晶显示系统等。由于这些最新的技术和产品是学生经常接触到的,相关知识容易吸引他们的兴趣,让学生清楚地理解教材内容究竟有哪些实际应用,可以让学生在学习理论知识的同时也学到一些与实践和应用相关的知识。这样,使学生对知识的记忆不再孤立,而能进行关联记忆,产生较好的教学效果。
4结语
总体来说“计算机组织原理”课程的难度还是较高,在计算机专业课里占到45分。在学习的时候要特别注意以下几点,第一要正确理解大纲的基本概念,掌握概念的一些要点;第二把概念和原理联系起来,不要孤立学习某一部分,要关联起来,因为计算机各个部件之间本来就是一个相互联系的整体;第三要把握重点、难点,主次分清。
以上是笔者在多年“计算机组成原理”教学改革摸索过程中的一些心得体会,归纳起来就是:通过合理组织硬件课程的知识内容,使它们详略得当,突出重点;充分结合实际,引入当前的许多实例来丰富学习的内容,提高同学们的学习兴趣;采用新的教学方法,使用多种教学工具充分调动同学们学习的积极性和主动性,提高学生对计算机组成的实际分析、设计和动手操作能力。通过以上这几个方面来提高课程的教学水平和教学质量,促进课程的建设与发展。在教授知识的同时,作为教师也应该不断学习提高,加强学科科研,立足教学,只有这样教师才能把“计算机组成原理”课程讲好,学生才能更加深入地理解和掌握课程内容,对考研大纲所要求的各个知识点才能更加融会贯通,当然也能够取得较为理想的考试成绩。
参考文献:
[1] 刘旭东,熊桂喜. “计算机组成原理”的课程改革与实践[J]. 计算机教育,2009(7):74-76.
[2] 杨振华.“计算机组成原理”课程改革探索[J]. 中国电力教育,2008(23):119-120.
[3] 王志晓,夏战国,王凯.《计算机组织与体系结构》教学改革与探索[J].福建电脑,2009(2):213-214 .
[4] 王勇,黄贤英.“计算机组成原理”的教学方法[J]. 重庆工学院学报:自然科学,2008,22(3):167-170.
Discussion of Teaching Method to the Principles of Computer Organization
under the Environment of National Unified Exams
WANG Ding-lei
(Anyang Normal University, Anyang 455002, China)
摘要:传统的计算机硬件基础课教学已不适应现代科学技术的发展和社会对人才的需求,本文结合计算机专业的特点,从课程内容、教学体系、教学方法等方面总结了在硬件基础课教学改革中所取得的实际经验和体会。
关键词:硬件基础课;教学改革;整合课程
中图分类号:G642 文献标识码:B
1引言
计算机硬件教学的先修课程是“电路分析”、“模拟电子学”和“数字逻辑与数字系统”。由于历史原因,这些课程大多由电子系开设,是以理论研究为目的的课程体系,存在教学内容陈旧,课程体系老化,理论论述多,占用学时多,前后衔接不好等问题,给后续计算机硬件课的理论教学和实践教学带来了诸多困难和被动。而计算机专业与其他专业相比较,少有的几个优势之一就是对计算机硬件结构的掌握。因此,结合计算机专业的具体情况,在教学体系、教学内容和教学方法等方面对硬件基础课程进行必要的改革就显得尤为重要。
2整合内容、精缩课时
1) 现代科学技术的发展日新月异,计算机技术的发展更是突飞猛进。在大学本科阶段,除了要给学生传授基础理论知识外,还要讲授新技术、新理论,这就使得各高校不断压缩某些传统基础课的课时,增设一些新的课程。在这种形式下,硬件基础课的课程体系和教学内容亟待更新。
2) 课程体系的构建是以理论知识为架构,以实际应用为目标,教学内容则应紧密结合专业核心能力对理论知识的要求。综合时展、专业结构和课程体系的总体考虑,从98年起我们就根据计算机专业的特点,逐渐建立完善了一套硬件基础课的课程体系。首先,在课程内容的组织与建设方面,注重了先修课和后续课程的关系,做到内容上不重复,知识点上不脱节。其次,教学内容力图反映时代的发展,技术的进步。通过编写出版《电路与电子学基础》、《数字逻辑与数字系统》两本教材重新划分课程内容,精缩学时,将原有的64学时的“电路分析”和64学时的“模拟电子学”这两门课程整合为课内48学时、实验20学时的“电路电子学”课程,重新划分、补充了“数字逻辑与数字系统”(课内48学时、实验20学时、三周课程设计)的教学内容。
(1) “电路与电子学”课程。在电路分析部分不再追求研究线性电路的理论体系完整性,删除了部分传统教学内容,只保留直流分析、交流分析和动态电路三大部分。在直流分析中,删掉了“电路分析”教学中关于支路电流法和回路电流法的内容,保留电路系统分析法中的被广泛用于机辅分析的节点电压法。在交流分析中,删除了三相电路内容,而对通信中的谐振电路则详细讲解。动态电路的分析中,只通过一个简单的RC充电回路让学生了解时域分析的基本步骤,而将重点放在三要素法和RC无源微积分电路上。在“模拟电子学”部分,去掉了半导体器件导电原理和反馈的方框图计算法,精简了阻容耦合放大电路(包括多级放大)、小信号动态图解法、差分电路分析等。相应地加强了有源器件MOS管、电流源电路和系统稳定性的介绍,课程着重讲解集成运放的应用。在讲解由运放构成的有源积分电路时,与前面的无源积分电路做比较,这样有助于学生理解并牢固掌握两种电路各自的特点。实践证明,学生在做电子竞赛时对这两种电路的使用都非常恰当。
(2) “数字逻辑与数字系统”课程。教学内容删除了数字电路中各种触发器电路的内部结构和传统设计方法中的设计技巧,精简了中规模器件的内部逻辑介绍,缩减了卡诺图和逻辑简化内容。由于计算机专业的硬件课程“微机原理与接口技术”中将介绍A/D、D/A转换,故这一部分内容就不出现在“数字逻辑”课程的教学中。将教学重点放在各类触发器的逻辑功能触发条件、集成电路外部功能、可编程器件和EDA技术上,要求教会学生如何通过查找器件手册了解器件功能和使用要点。由于计算机硬件中三态门、OC门的重要性,课程加强了对其逻辑功能及应用的举例说明。
(3) 改革组课方式。逻辑门电路是传统“数字逻辑”教学中最难的一章,由于门电路的原理要涉及到电路、模拟电子学等方面的知识,因此在讲述这一部分内容时,必须帮助同学复习有关的知识。在改革课程体系时,我们打破传统的教学体系,将这一部分内容放在“电路电子学”课程中,在讲述半导体器件后引入逻辑门电路,如MOS管可以具有开关和受控源两种类型的功能,根据器件所给偏置条件的不同,在模拟电路中可作为放大器件或在数字电路中作为开关器件。课堂上的师生互动证明,经过这样的调整,学生对有关门电路的问题就很容易理解掌握。通过合理地整合教学内容,改变了过去把电路模型与实际器件(如受控源和晶体管)、开关与放大作用、模拟与数字等研究对象截然割裂的组课方式,而是将它们有机地融合,找出共性和个性,讲清个性,突破难点,这样便于以统一的观点使学生建立完整的概念〔1〕。
3软硬结合与时共进
1) 当前国内计算机专业的普遍现象是“过软”,即强调软件编程,而学生的硬件动手能力非常薄弱。在计算机科学技术飞速发展的今天,计算机系统的软硬件界限开始变得模糊,且采用软件方法来设计硬件, FPGA、VHDL、DSP技术带来了全新设计理念与结构体系,与之相应EDA技术和ISP器件在教学、科研等领域应用越来越广泛。在这种软硬件逐渐融合的背景下,计算机学科的硬件基础课程必须要反映出这种时代的发展。
2)EDA技术分为三级:以PSPICE、EWB、Multisim等为软件平台的仿真分析类辅助设计技术为初级;以MaxPlus II、Quartus II等为软件平台,以FPGA/CPLD为硬件系统目标芯片的电子系统设计EDA技术为第二级;以NC Simulator、Virtuso、Diva等为软件设计开发平台、以集成电路芯片版图设计为目标的ASIC芯片设计为最高级〔2〕。EDA技术的前两级都与计算机硬件基础课密切相关,因此在进行课程体系改革时,应结合实践性教学环节,根据“基础型、应用型、综合型、创新型”的循序渐进的实验课程教学体系,将EDA技术分层次地引入设置在教学中:
(1) 第一级――首先在“电路电子学”教材各章的最后一节给出PSPICE对本章典型电路的仿真实例,教材最后一章加入可编程模拟器件ispPAC。其次,增加了20学时的Multisim仿真及电路设计实验。通过仿真实验,将教学中的难点用直观的图形和曲线表述,降低了数学难度。如通过对模拟放大电路的仿真,可以直接观察到改变电路参数所导致的波形失真,学生就很容易理解并掌握静态工作点变化对放大电路性能的影响。最后,利用仿真平台生动直观方便的特点,让学生掌握先设计、后仿真、再实际的设计方法和理念,在此基础上,将以往的一些验证实验提升为综合设计实验。对每一个实验都要求虚实结合,虚实互动,通过这种训练,极大地提高了设计的成功率。计算机专业的学生取得北京市大学生电子竞赛的3个一等奖,更多的二、三等奖证明,整合后“电路电子学”的教学改革取得了成效。
(2) 第二级――传统的“数字逻辑”课程体系以逻辑代数为基础,采用自底向上(DOWN-TOCTOP)的设计方法,教学内容以门电路-中规模集成电路-大规模集成电路-数字系统为顺序排列。导致学生在学习前面局部知识的时候,缺乏整体系统概念,只会 “搭积木”拼凑式的设计,当后续“组成原理”课程要建立整机、系统这些非常重要的概念时,前面所学的一个个分散的知识点不能被融会贯通〔3〕。现代数字系统的设计以硬件编程语言为基础,采用自顶向下(TOP-TO-DOWN)的设计方法,因此数字电路的教学体系必须重新构建。第二级的EDA技术包含三方面内容:(1)大规模可编程逻辑器件;(2)硬件描述语言;(3)软件开发工具。所以在“数字逻辑与数字系统”的教学体系上,应以逻辑代数与VHDL语言并行为基础,强调自顶向下的设计理念和层次化设计方法,以系统为对象,用VHDL语言描述,在EDA软件平台上,自上而下、逐步细化,最终完成整个系统的设计。依据整体“自顶向下”,细节“自底向上”的教学模式,在教学内容组织上,先给出数字系统的整体架构及逻辑系统的三大部件:存储、处理、控制,让学生有全局、整体的认识。在讲述逻辑系统的每一具体部件时, 仍然遵循“由浅入深,循序渐进”的原则,采用传统的“自底向上”的教学组织方法。在实践教学的综合设计部分中,要求学生必须按照从顶层抽象描述向底层结构描述,最后到可实现的硬件单元描述这一过程进行数字系统的设计。通过这种教学改革,学生的知识结构趋于合理,满足对软硬件结合的人才的需求。
4注重衔接 承前启后
在计算机硬件基础课的教学中,首先应注重介绍该门课程的主要内容、在计算机专业中的地位及与相关课程的关系,激发学生的学习兴趣。其次,应注重与后续课程的衔接。由于当代大学生在入学时就具备了计算机使用的基本知识,因此在授课过程中,要有意识地用计算机硬件电路作为基础课的授课案例。如“电路电子学”课程中,在集成运放构成的比较器一节,就可给出比较器在A/D转换中的应用举例,再指出A/D、D/A是计算机接口中的重要单元电路,这样就埋下一条线索,与后续课程的知识相联系。在“数字逻辑与数字系统”课程中所给出的案例都要尽可能为后续课程使用,如从键盘等引出编码的概念和编码器的作用;在讲三态门时,可进一步给出物理上总线的概念,解释当译码和读写信号设计错误时,CPU访问存储单元数据总线严重冲突会造成死机的原因;在存储逻辑一章,介绍完寄存器队列(FIFO)的逻辑结构后,可让学生设计寄存器堆栈(LIFO)的逻辑电路图。在该课程的实践教学中,所给出的设计题目包括总线缓存器、全加器、键盘扫描电路、硬件控制器等计算机的基本功能部件。通过这种方法引导学生思考,建立必要的知识关联及整体概念,最终达到对计算机硬件系统基本知识融会贯通的目的。实践证明,这种训练对于今后的“组成原理”课程和“嵌入式系统”设计都打下了坚实的基础。
5黑板、多媒体、EDA仿真
高校的教学手段基本都采用多媒体。多媒体图文并茂、生动有趣,但很容易变成另一种形式的照本宣科或“填鸭式”教育。在教学中要综合多种教学手段,注意针对不同的教学内容去寻求最佳的表述方式:黑板+粉笔、电子教案、实物投影、动画课件、虚拟电路。计算机硬件基础课教学内容多,知识点杂,不容易理解。对于较难理解或学生有争议不明白的问题,传统的“粉笔+黑板”有其独特的灵活性,既可以表述学生课堂思维的过程,又有利于师生交流互动。在课间让学生自己摆设实物投影,增强学生的感性知识,课间的学习气氛仍生气勃勃。录像CD和动画课件则留给学生自己观看。计算机硬件基础课程的实践性强、信息量大、EDA设计技术应用广泛。在授课时通过EDA仿真将验证实验与理论教学相结合,解决理论与实践的时空分离弊端,通过提问、思考、演示、总结等一系列步骤,循序渐进,调动学生参与教学的积极性,充分发挥学生的主动性。值得注意的是,在此过程中,教师一定要掌控好演示进程,既不能影响教学进度,又要协调好单位时间教学信息量与学生接受理解能力之间的矛盾。
6结束语
硬件基础课的教学改革,涉及课程多、学术性和技术性强,是一项系统工程,需要教师付出不懈的努力,不断学习新技术,及时更新教学内容,完善教学方法,才能更好地提高教学质量,更好地培养适应社会的发展人才。
参 考 文 献
关键词:层次化计算机硬件实验课程体系;开放实验平台;项目驱动实践教学;過程式考评机制
文章编号:1672-5913(2013)03-0050-04
中图分类号:G642
计算机硬件系列实验课程主要从逻辑和应用两个方面对计算机硬件的基本原理、应用方法进行教学,其目的是在学生学习硬件抽象理论的同时,通過教师演示或学生亲自动手实验,直观地验证计算机硬件的基本原理和工作机制,培养学生在应用技能方面的实践创新能力。因此,计算机硬件系列实验课程在高校计算机教学中占据非常重要的位置。
1 问题分析
当前,计算机硬件实验课程教学主要存在以下几个方面的问题:
1)思想上“重软轻硬”。不少学生认为硬件实验课程只是验证计算机硬件的工作原理,对学习软件知识,进行软件开发没有帮助;或者认为硬件实验完成的多少无碍大局,因此在硬件实验课程上缺乏主动性。
2)实验教学内容陈旧。当今计算机硬件技术飞速发展,而硬件理论和实验教材均稍显落后,实验设备老化,实验内容陈旧,很多新理论新技术没有融入到实验课程中。
3)实验课程体系缺乏系统性和科学性的规划。由于计算机硬件实验课程包含了众多的基础知识、基本思想、基本方法,课程之间不仅存在前后衔接的层次关系,而且存在着相互渗透的交叉关系,计算机硬件实验课程之间和课程知识点之间内容衔接比较紧密。但各门课程的任课教师按照教学大纲独立授课,過分强调某一门课的完整性和独立性,忽略了课程之间的内容衔接和整体优化,内容重复的现象时有发生。加之有些课程的先修课并未放到培养计划中,造成前导知识断层,致使学生的硬件知识体系不系统、结构不健全、实验技能不全面,无形中给学生学习计算机硬件课程和软件课程制造了障碍,影响了学生的学习积极性。
4)对创新性实验认识不足。计算机硬件实验不能仅仅停留在通過基础类实验验证计算机硬件的工作原理这一最低要求上,还要通過综合类实验让学生完成一些综合性系统设计,更需要拓展视野,完成一些开创性的设计,培养科学探索精神和素养。
5)实验室的开放程度不高。目前国内多数高校的计算机硬件实验室为限制性集中管理,学生进行集体实验,不能满足学生个人实验需求,实验设备共享和利用程度不高。传统的实验教学存在时间和空间的限制等问题,这些都严重影响了硬件实验课程教学效果的提高和专业人才培养的质量,限制了学生完成硬件实验的能力,降低了实验兴趣。
6)缺乏科学的实验、实训成绩评价方法。计算机硬件实验、实训成绩過度依靠教师现场观察进行打分,导致实验指导教师工作量繁重,实验抄袭现象时有发生,缺乏统一评价标准,降低了考核成绩的公正和客观性。
针对以上问题,计算机教育专家们提出了许多计算机硬件实验课程改革创新性的建议,但多倾向于从某一侧面解决问题。计算机硬件实验教学改革需要统筹规划,兼顾课程体系、实验平台、实践模式和评价方法各个方面。
计算机硬件实验课程的重要性不言而喻,它对于培养学生实际动手能力、工程实践能力及开发创新能力具有特别重要的意义。随着电子技术和社会经济的发展,计算机科学与技术和电子科学技术相互渗透和融合,硬件软件化和软件硬件化日益普遍,尤其是ARM、SoC、SOPC等技术的出现,计算机软、硬件的融合日益显著和成熟,加强计算机硬件实验课程的建设、硬件课程体系新的实验平台的建设显得越来越重要和必要。为了培养创新型人才,有必要对计算机硬件实验课程体系进行更系统、更深层次的教学改革。
2 融合各门计算机硬件实验课程
传统的计算机硬件实验课程的主要任务是验证计算机的工作原理,以配合对应的计算机硬件理论课程,忽略了各实验课程间的融合性,而且课程内的各个实验之间的融合也不够紧密,而技术的发展需要软硬结合、软件硬化或交融。硬件实验课程教学任务不但要学生了解计算机结构、工作原理,而且要掌握计算机维护技术,能用硬件描述语言进行部件及应用系统的设计;结合软件知识,能够设计计算机应用系统。尤其是嵌入式系统的应用日益普及,应用范围迅速扩大,要培养学生综合设计能力。
因此,计算机硬件实验课程群应以“培养应用型、创新型人才,注重计算机实践能力培养”为核心进行建设。按照计算机科学与技术专业培养方案的要求,将课程群中各门课程的授课、讨论、实践、考核、教材等教学环节作为一个整体进行统筹优化,融合各课程的学习内容,形成一个完整的体系。这样就能使学生较容易地理解和掌握课程的重点内容,理解课程间的连续性,使所学的知识形成一个完整的体系。
按照培养方案,对课程群内各课程的安排顺序、授课内容、授课重点、授课计划等按照计算机科学与技术专业培养方案的要求和社会对人才的需求进行调整和整合,形成包含基础层、系统层和应用层的层次化课程体系(如图1所示,其中标*的课程为核心课程)。修订教学大纲,协调各门课程的内容,避免同一内容在多门课程重复讲授;适当引入新概念、新技术;注重课程之间的内容侧重和无缝衔接。
在基础层,讲授模拟电路和数字电路分析与设计,让学生掌握电路的基本知识和现代设计方法,能够设计一般的数字逻辑部件及简单的数字系统。在系统层,让学生掌握现代计算机组成结构、工作原理、实现方式和设计方法,能够再现和设计简单指令系统、CPU和完整的计算机硬件系统。在应用层,让学生掌握计算机应用系统(包括硬件电路、应用软件)设计方法,能够设计实际的嵌入式应用系统。
3 建设共享和开放的计算机硬件实验平台
当前,计算机硬件实验主要通過集体实验来完成。由教师布置,学生准备,在固定时间集中到实验室完成,最后提交实验报告。这种途径不能充分满足学生的个性化实验需求。
此外,一些实验室采用分散预约和集体实验相结合的实验方式,学生可以在任何地点、任何时间通過网络进入实验网站进行预约,提前准备实验内容,写好实验报告的“静态”(实验项目、原理、内容、设备等)部分后,再到实验室开始做实验;在实验過程中完成实验报告的“动态”(实验调试過程、出现的问题、解决方法、实验结果、分析等)部分。这种方式较为灵活,一定程度上提高了实验室的利用率和实验效率,但在实验资源有限的情况下依然不能解决供需矛盾。
近年来,利用多媒体技术、网络技术和虚拟现实技术进行虚拟教学和虚拟实验已经成为业内研究的一个热点。虚拟教学可模拟进行演示、探索、游戏。利用简易型虚拟现实技术表现某些系统(自然、物理、社会)的结构和动态,为学生提供一种可供体验和观测的环境。虚拟实验室概念是由美国弗吉尼亚大学教授William Wolf于1989年首先提出的,它描述了计算机网络化的虚拟实验环境,致力于构筑一个综合不同工具和技术的信息化、网络化的集成环境。在这个环境里,实验员可以非常有效地利用世界上分布的各种数据、信息、仪器设备及人力等资源。利用虚拟现实技术构建基于网络的虚拟实验,将有效缓解很多院校在经费、场地、器材等方面普遍面临的困难和压力,而且开展网上虚拟实验教学能够突破传统实验对“时、空”的限制,无论是学生还是教师,都可以自由地、无顾虑地随时随地上网进入虚拟实验室,操作仪器,进行各种实验,有助于提高实验教学质量。
4 改革创新计算机硬件实验和实训
计算机硬件实验教材中对一些重要原理的有关实验大多是验证性的,即先通過教师演示,然后学生再现计算机硬件各个器件的工作。目前的计算机硬件实验仪器生产厂商多提供这种封闭性实验仪器,虽然利于教学,但是仅支持基础类实验,实验内容固定,实验目的单一,扩展性不足,不利于学生创新能力的培养。
针对以上验证性基础类实验的问题,综合类实验也纳入到了计算机硬件实验模式中。这类实验需要综合多个知识点,对所学内容的综合运用,一般作为考试型或课程设计实验项目安排,目的在于充分发挥学生的潜在能力,拓展思维空间,考查学生运用综合知识,进行规划、设计、组织以及调试运行的能力;也可以作为学生课外开放实验的选题项目,一定程度上满足学生开展课程设计和课外创新实践活动的需要。
对任何一所大学来说,本科教育始终是学校办学的主体和基础。在有条件的大学开展本科生科研,培养本科生的科研意识,鼓励本科生及早进入研究领域,是培养具有实践能力和创新能力的本科人才的一个十分重要的途径。因此,创新成为实践环节的更高要求,其实现途径成为实验模式研究的新课题。
5 建立完善科学的计算机硬件实验成绩评价机制
在高校计算机课程教学過程中,实验成绩是学生实践能力的综合反映,也是一个综合评价问题。在教学实验中如何科学地、合理地判定学生的实验成绩,有效地提高学生的学习主动性和积极性,发现和挖掘学生在教学实验中的潜能是从事实践教学的高校教师所探讨的课题。
计算机硬件实验成绩的评价不同于软件,需要结合具体的实验设备进行考核,其考核形式包括单项实验验收式、实验报告验收式、综合实验考试式等,考核教师的工作量巨大。考核過程中,成绩的评定人为因素较严重,過分依赖于考核教师。另外,实验考核中也存在抄袭现象,仅仅通過实验报告形式考核欠科学公正。因此,计算机硬件实验成绩的考核需要规范化、量化。
为了减轻考核教师的工作负担,可以用“优秀”“良好”“中等”“及格”“不及格”来分等级衡量。等级制成为首选的评定方法。但该评价标准较为模糊,而评价学生实验成绩的因素是多元的,并没有完全客观的标准,通常难以定量衡量。如果直接进行定量分析,如仅给出一个成绩,很难科学合理地反映学生的综合能力及水平,也就难以对其学习进行正确的评价。
指标制则对等级制进一步细化,将考核指标化,如表1所示。
可以进一步限定指标的分值比重和等级的分数范围,实现考评的量化。通過在线评测系统登记考评结果,实现对实验成绩的规范管理,可提高实践教学的指导效率,更准确及时地调整实验内容和难度,更有效地杜绝或减少互相抄袭,更客观公正地考核成绩,从而调动学生学习积极性,提高学生的动手能力。
目前计算机硬件教学多采用“三段式”的基本程序进行教学,即:组织教学、讲授新课、小结内容,教师在整个教学活动中处于中心的地位。他以语言、文字(课件或板书)、图表等形式按教学计划要求系统地、有针对性地向学生介绍、讲解、分析、论述知识、经验、思想观点,使学生在较短时间内了解、掌握教学内容。在这种模式下,教师是整个教学过程的主宰,是主动的施教者,学生是被动的外部刺激接受者即灌输对象,媒体是辅助老师向学生灌输的工具,教材则是灌输的内容。这类教学方式的好处在于教师可以更好地发挥其指导作用。教师可依据自身的知识储备和理论修养及经验,最佳地组合教学内容,并运用优化的方法和语言艺术有效地对学生施加定向影响,但也有明显的不足,它以教师的施教活动为主,严重束缚了学生思维的发展和学习的主动性,导致学生死记硬背,学习被动,学习效率低下,产生厌学情绪。
2将CAI引入到计算机硬件教学中
CAI(ComputerAssisted(aided)Instruction)是一种利用计算机作为教学手段的教学系统,是教育技术的重要组成部分。它的产生和发展对促进教育、教育技术的变革与发展有着巨大的推动作用。改进传统计算机硬件教学方式不足的办法之一就是将CAI引入到教学中,以其灵活、生动、形象、鲜明的文字、声音、图形和动画等丰富多彩的表现形式,使硬件教学内容化难为易,化静为动,化抽象为具体,化微观为宏观,通过人机交互、信息共享,拓展学生的视野,培养创造性思维。总体说来,将计算机辅助教学引入到硬件教学中,可从如下4个方面入手。1)课件生动有趣,激发学习兴趣。兴趣是学生学习的动力,有了兴趣,学习的开展才能变为可能。课件生动有趣,增添些学生感兴趣同时又对学习有帮助的内容,往往就能激发学习兴趣,使学生在轻松活跃的气氛中学习,提高了学生的认知能力。2)课件内容翔实,拓宽学习视野。在计算机硬件授课过程中,教师纯粹按照课本上的内容讲解,学生所获取的知识面是很窄的。此时如果在课件中加入大量实例、实物图片,就可增强学生的感性认识,将抽象与形象、理性与感性相结合,这对学生知识面的拓宽非常有利。3)课件互动性强,检验学习效果。以往学习效果是通过课堂提问、课后作业及测验来检验的,在这种传统模式下,多数学生有抵触情绪,常常形成课堂提问躲避、课后作业抄袭、测验临时突击的局面,教师在检验学生学习效果时也常常觉得无所适从,不能及时发现学习中出现的问题。此时如在课件中穿插些知识问答或抢答竞赛活动,充分发挥课件的交互能力,让学生们积极参与,教师就可以充分的检验学习效果,便于在后期教学中有的放矢,事半功倍。4)课件演示性好,理解学习内容。在硬件教学过程,很多内容比较抽象,有的内容就算通过实物演示也不能够看到实物的内部结构(如:硬盘的内部结构及工作原理),这样就会导致学生对这些知识点的不理解、难以掌握,此时如在课件中加入一些视频、动画等元素,教师在授课过程中,通过对视频、动画的演示,有助于学生对这些知识点的理解。
3CAI在计算机硬件教学中的实现
3.1系统分析
如前所述,计算机硬件教学本身存在着知识点多,内容杂、不容易理解的特殊性。作为专门为教学服务的课件,其最终用户就是学生。因此课件除了具备将各种庞杂的知识点串接在一起,让学生能够获取较大信息量的功能外,还应该方便学生的理解,针对教学中某些不容易理解的知识点,可将实物图片、视频、动画等做到课件中,方便学生的学习。这样,教师在教学中,通过多媒体展示,让课件真正发挥作用,不再单一的将“黑板”变为“白板”,达到事半功倍的效果。在设计开发过程中,主要利用PhotoshopCS5完后图片的编辑、合成、调色及特效制作;利用FlashCS5完成动画的制作;利用Authorware将文字、图片、视频文件、动画等信息集成到一起。
3.2系统设计
3.2.1课件框架
主界面用于设定课件显示窗口的大小及显示课件界面图标和背景;交互部分是整个课件的主体,包含硬盘工作原理、硬盘接口规范、硬盘容量计算、硬盘技术前瞻和硬盘日常维护5个部分。交互部分的界面如图所示。内容部分用于显示各导航内容,主要通过显示图标来实现相应文本内容的显示。
3.2.2素材准备
素材准备是制作课件的一个重要环节,它的好坏直接关系到课件的整体效果。课件中的素材主要通过PhotoshopCS5和FlashCS5来实现,其中,用PhotoshopCS5创建了课件中的文本(Authorware中显示的文本只支持图片格式)、图片及背景,用FlashCS5制作了硬盘内部结构及工作原理动画,见图2。
3.2.3程序开发
当各种素材都准备好后,将各外部素材导入到Authorware程序中,设计出合理的程序界面,定义画面显示效果,建立导航控制和交互响应的结构,并确定各部分内容之间的链接关系等。
3.2.4系统测试
由于多媒体作品的结构比较复杂,特别是交互结构,如不能正确响应用户的行为,就会出现错误。当课件完成后,进行试运行,测试程序功能是否完善、逻辑是否严密、交互是否准确,发现错误及时调整修改。
3.2.5作品
当课件通过测试无误后,将程序打包,把它制作成可以脱离开发环境的可执行程序,以方便使用者使用。
3.3系统检验
学生普遍反映,通过计算机辅助教学方式,激发了他们学习的兴趣,把书本上抽象的理论变成形象的知识,增强了教学的趣味性,能够看到以往课堂讲解、实物展示、实验操作中无法看到的硬件内部结构及其工作过程,增加了自由思维空间,开阔了视野,让他们充分感受、理解了知识产生、发展的过程,吸引他们的注意力,激发他们强烈的求知欲望和学习动机。他们非常喜欢这种教学方式。教师反映,通过计算机辅助教学,突破了教学难点,帮助学生解除抽象思维、逻辑思维、语言理解等方面的困难,变抽象为具体,变静态为动态,化枯燥为生动,降低了教学难度,弥补了传统教学方式在直观感、立体感、动态感等方面的不足,同时,能够将抽象的知识以及难以用语言准确表述的知识点,用最合适的方法,在最短的时间内完成,在教学过程中得以充分展示,这对提高课堂教学效率帮助非常大。
4结语
《计算机组装与维修》是中职计算机专业的一门主干专业课程,其主要任务是使学生了解计算机各种部件的分类、性能、选购方法,理解各主要部件工作原理、硬件结构、相互联系和作用,熟练掌握各种软件安装,以及计算机的组装与简单故障的维修方法。它是一门实践性很强的课程,需要将理论与实践进行有效结合。
一、《计算机组装与维护》课程的特点
《计算机组装与维护》是一门侧重实践和应用的课程,主要有以下特点:
1.课程内容多,知识面涉及广。这门课程主要包括计算机组成部件介绍、计算机硬件组装、硬件评测、系统设置、硬盘规划、软件安装、计算机日常维护等方面的内容。知识面涉及计算机文化基础、计算机组成原理、Windows操作系统等课程,教学内容多,可扩充性强。
2.课程知识更新周期短,时代特征鲜明。计算机软硬件的发展日新月异,新技术、新产品层出不穷,只有定期更新教学内容,才能满足学生了解新技术和产品的需要。
3.课程侧重实践,培养独立动手能力。《计算机组装与维护》课程的教学目标是通过学习,能认识和了解计算机硬件结构,能完成计算机硬件组装、软件安装和掌握计算机日常维护的技能,提高解决实际问题的能力,要实现这一目标,必须通过大量的实践教学环节来完成。
二、《计算机组装与维护》课程教学的现状
针对该课程的特点,结合培养学生动手能力的目标,大部分学校均采用“理论+实践”的教学模式。
1.以多媒体教室或机房讲授为主的教学模式。多媒体教学是理论教学的主要形式,使用多媒体课件,能比较直观地展现计算机知识。对于计算机硬件部分的知识,从横向展示不同部件外观、连接使用,以及各自不同的功能作用。对于每种部件,可以从纵向介绍与展示其不同时期由低到高的版本发展历程和各个版本的功能特点。从理论课的学习中让学生对硬件系统的各部分都能准确地辨认与识别,形成感性认识。另外,在讲授硬件组装与系统安装时,使用多媒体有选择地播放计算机安装操作视频,让学生学习如何对一大堆硬件进行有序安装,安装过程中有哪些技巧与注意事项等。但由于中职生自控能力不是很强,上课精神状态不集中,理论教学成了教师的独角戏。特别是在软件系统的安装过程中,由于多媒体教室与机房是公共设施,往往不能进行实际操作,学生只能观看教师演示,上实践课时才能去练习,因而不能及时消化知识。如果每个学生都可以在电脑上进行系统安装等操作练习,将减轻学生实践课的压力,提高理论课学习效率。
2.以计算机组装与维修为主要实践内容的实验室教学模式。通过多媒体学习组装的理论知识,然后在组装实验室里接触实物进行实践操作,完成计算机硬件的组装与调试、软件安装、故障排除等实验。通过实践课,学生动手能力提高了,但由于各个学校硬件设施水平的差异,不一定都能满足每个学生的练习需要,部分学校机器设备陈旧,学生在实验过程中也不懂得珍惜,造成部分设备损坏严重,还有部分学生因机器设备陈旧以至于不想动手操作。中职生的抽象思维能力和综合归纳能力较弱,学习积极性不强,因而不能把提高实践能力全部放在实验室。例如,软件安装、BIOS设置等可在机房进行练习,让每个学生都有练习的机会,从而保证利用有限的资源进行有侧重点的项目练习,发挥最大效率。
三、在教学中运用“虚拟机技术”的作用
正如上述分析,如果在理论教学中能使学生获得更多的“实践”机会,将不仅有助于提高理论课堂的教学质量,体现以学生为主体的教学思想,还有利于提高实践课的课堂效率。那么,如何在理论课堂中让学生尽可能获得更多的“实践”机会呢?在计算机机房采用“虚拟机技术”进行理论教学是一种不错的选择。
虚拟机是指通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统。通过虚拟机软件,可以在一台计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全像真正的计算机那样进行工作,可以安装操作系统、安装应用程序、访问网络资源,等等。它只是运行在物理计算机上的一个应用程序,但对于在虚拟机中运行的应用程序而言就是一台真正的计算机。因此,在虚拟机中进行软件评测时,系统一样会崩溃,但只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且使用“Undo”(恢复)功能可以马上将虚拟机恢复到安装软件之前的状态。
使用Vmware可同时运行Linux各种发行版、Dos、Windows各种版本、Unix等,甚至可以在同一台计算机上安装多个Linux发行版、多个Windows版本。VMware 可以在一台机器上同时运行2个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在同一个时刻只能运行一个系统,切换系统时需要重新启动机器。而VMWare可在主系统的平台上“同时”运行多个操作系统,就像标准Windows应用程序那样切换。而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据,极其方便。
关键词:教学改革;案例教学;硬件基础
中图分类号:G642 文献标识码:A
1引言
当今社会对于熟练掌握计算机应用能力的复合型人才的需求日趋旺盛,熟练掌握计算机的通才极为紧缺。为满足社会的需要,培养出适应新世纪我国现代化建设需要的具有创新精神、实践能力和创业精神的高素质人才,在高等院校加强学生掌握计算机理论知识和实际应用能力的培养势在必行。
基于通识教育的大类培养,实施精英教育是大连理工大学提出的教学改革指导方针。“计算机硬件技术基础”课程是培养学生利用计算机从事科学研究和科技开发工作的技术基础课程。1997年教育部高教司颁发“加强非计算机专业计算机基础教学工作的几点意见”以来,我校便开始执行计算机基础教学三个层次的课程体系,“计算机硬件技术基础”课程成为面向全校非电类专业开设的第二层次计算机技术基础类课程之一。2003年教育部计算机科学与技术专业教学指导分委员会又下发“关于进一步加强高等学校计算机基础教育教学的意见”(以下简称“意见”),把“计算机硬件技术基础”列为重点核心课程,并提出了教学基本要求。
“计算机硬件技术基础”是大连理工大学非电类理工科专业技术基础限选课程。本课程是一门面向应用的、实践性和综合性的通识教育课程。本课程主要讲授计算机硬件的基础理论、基本技术和方法,教学目的是培养学生应用计算机硬件技术知识解决本专业及相关领域中问题的能力,使其能成为具有较强实际动手能力和科研开发能力的应用复合型人才。培养学生利用软硬件相结合的方法分析解决本专业领域的思维方式,从而为学生进一步学习计算机的后续课程,学习和应用相关方面的新知识、新技术打下必要的基础。
2立足创新能力培养,构建“硬件”教学课程体系
“计算机硬件技术基础”作为非电类专业的计算机技术基础类核心课程之一,其教学改革应符合精英人才培养这一目标。“计算机硬件技术基础”课程包含了众多的计算机硬件基础知识、基本理论和基本方法,而且具有很强的系统性和实践性。该课程对于强调培养学生的实际动手能力、工程实践能力、开发创新能力具有特别重要的意义。任课教师不能只“教”计算机的硬件知识,还应特别重视培养学生的创新能力。课程组的任课教师根据这一思路,充分借鉴了国内外相关高校成功的教学实践经验,设计了以基于通识教育的精英人才培养模式为导向的“计算机硬件技术基础”课程体系。从教材建设、教学内容、授课方式、实践环节、考核体系等方面全方位构建计算机硬件基础教学体系。经过近四年来的教学实践,该门课程取得了良好的教学成果,获得了学生的好评。
3重视教材建设和教学内容的及时更新
根据高等学校非计算机专业计算机基础课程教学指导分委会2003年提出的指导意见中的教材建设要求,对于典型核心课程的教材,要强调教材的基础性和系统性,突出基本概念、基本技术与方法的讲解。要使教材能反映计算机技术的新发展,特别是对于教材中一些技术性、应用性的内容更应如此,要让学生能学到一些先进的开发工具和开发方法。要编写一些具有专业特色的计算机教材。教材内容不是一般性地讲解计算机的技术与方法,而是将它们与专业应用有机结合。要重视案例课程的教材研究,教材从内容到结构要能反映案例课程的特点。
根据“意见”精神,课程组的任课教师编撰了高等教育出版社最新出版的“十一五”规划教材《微型计算机硬件技术》,以目前在计算机领域中占主导地位的80x86系列微机为例,系统地介绍了计算机的硬件技术基础知识,并通过对计算机中相关先进技术的介绍,体现出计算机及其应用技术发展的最新水平与趋势。
结合教材内容,重新调整了教学大纲和教学内容,学时安排参见表1,教学学时为32学时。
“计算机硬件技术基础”课程内容涉及常用逻辑元器件、CPU、指令系统、内存储器、外存储器、输入输出接口、常用外部设备和计算机网络等诸多内容,较为繁杂,课程组的任课教师本着少而精、知识面宽、知识新等原则,删繁就简,一是适时修改教学大纲,使之尽量符合新的学科技术及应用发展现状;二是体现在每次具体讲课内容中,可及时传递一些新的学科技术及应用信息,强调加强计算机硬件的基础知识、基本思想、基本方法和基本技能的培养。在保持课程内容系统性的前提下,主要选用和总结具有一般性、普遍性意义的内容。并在今后的课程讲授中,实时追踪最新计算机发展技术,及时补充到课堂教学中。
4启发式的案例教学方法
计算机硬件课程的特点是包括多门计算机相关课程,体系庞大,内容繁杂,而且大部分知识枯燥抽象,晦涩难懂。计算机硬件的工作原理与人的思维和行为方式“格格不入”,学生对抽象的指令和复杂的硬件电路很不适应。如果教学方法不合理,学生往往因为感觉太难而产生抵触心理,从而导致教学效果不理想。因此课程组在授课环节的设计上,围绕以学生为本、培养学生的创新能力这一教学目标,以是否符合创新能力的培养目标作为教学方法的设计依据。实践表明,采用循序渐进、深入浅出、突出重点的启发式方法授课,配合精心选择的各种工程实际案例有助于教学效果的提高。
用浅显易懂、循序渐进、逐步深入的方式介绍课程内容,帮助学生对课程产生学习兴趣,避免一开始就介绍过多的专业术语和细节。在每一堂课的设计上都有一个重点主题,课堂内容围绕这个重点展开,而不是一味按照讲义的章节顺序进行。例如在介绍计算机各个部件的工作原理时,以人体为例对比介绍,CPU的作用相当于人类的大脑,指挥身体各个器官协调工作,键盘、鼠标等输入设备相当于人们的耳、鼻、喉、眼等感知器官,显示器和打印机等输出设备相当于人类的嘴、手、脚等等,既避免了枯燥的讲解,又加深了学生的印象,激发了学生的学习兴趣。
精心选取和策划教学案例,案例是为知识服务的,所讲的案例一定要紧紧围绕相关知识,切不可偏离主题。具体讲授时可以步步导入,由浅入深;也可互相穿插,讲述理论知识时引入案例分析,分析案例的过程中又回到对理论知识的进一步探讨。整个过程中要注重与学生的互动,提出精心准备的各种问题给学生,让他们思考解决问题的办法,教师可以进行适当的启发和提示,这样学生对知识在实例中的应用会有更切身的体会,这种体会还可以进一步反作用于知识,使其对知识的理解和认识更进一层。比如在讲授逻辑电路时,结合三人表决电路的设计,从实际出发,重点介绍逻辑电路的设计和优化,这样讲授要比按照教材逐一介绍各种逻辑电路的效果好得多。又比如在介绍串行接口的介绍,避免对接口原理的枯燥讲解,引入计算机监控系统的实例,介绍RS232在计算机监控系统中的应用方法,进而引申出在工程中广泛应用的RS422和RS485接口,极大地调动了学生的学习兴趣,形成了研究型学习氛围。课程组的老师在授课过程中注重对课程内容学习方法的介绍,引导和启发学生掌握分析问题的方法,从而做到融会贯通、举一反三。
5重视实践环节
鉴于上机实践实习在计算机硬件基础教学中的重要性,任课教师编写了《计算机硬件基础》上机实验配套教材,合理组织实验教学内容。
实践能力和创新能力是素质教育的重要组成部分,是由被动学习转为主动学习的必由之路。在“计算机硬件技术基础”课程中,动手能力的培养尤为重要。因此在实验教学方式上,要有意识地增加学生自主思考、独立动手的机会,培养他们的独立创造能力;在实验内容上,根据不同专业需求,分别开设计算机硬件拆装实验和微机接口实验两部分。
计算机硬件拆装实验内容:为每个学生提供一套微型计算机,要求学生认知计算机各个主要硬件、独立完成组装计算机、安装操作系统、驱动程序和应用软件,独立完成计算机网络的配置操作。课后要求每个学生写出完整的实验报告,要求记录CPU型号和主频,主板外频和倍频的设置方法,各种板卡的型号,各种外设的品牌型号。除了上述实验报告以外,还要求学生根据电脑市场的商情和学生本人的实际需求,写出一份虚拟装机报告。该实验适用于数学学院、物理学院、力学系、化工学院、材料学院、船舶学院、环境生命学院和管理学院等。表2为该实验内容及学时(12学时)安排。
微机接口实验内容:为每个学生提供一套综合实验仪器设备,完成A/D和D/A转换实验,I/O接口设计等(4学时)。着重培养学生应用典型可编程接口芯片和数字电子技术进行综合设计能力。为培养学生主动学习的意识,加强了要求提前预习实验的环节,以使学生不盲目地仅为完成实验内容而做实验,而是要求他们做完实验后有一定的收获,得到一定的能力训练。要求学生独立完成实验,最后给出具有一定见解的实验报告。尽可能发挥学生的独立思考能力和主观能动性,以培养学生的实际动手能力和创新能力,倡导学生自主学习和独立探索。该实验适用于土木学院、动力系和化机系等。
6改革考试评价体系
根据本课程的特点,要求学生理解本课程的基本原理外,着重考核学生分析和解决问题的能力,引导学生不仅关注课本知识,还要关注本学科的最新技术的发展趋势。
改革了传统的“一纸定终身”的考评模式,学生的最后成绩由基础理论成绩、实验成绩和平时成绩三部分综合评定得出,其中基础理论部分的考核采用上机考试,机考成绩占总成绩的60%,实验成绩占总成绩的20%,并结合学生在实验过程中的主动性、动手能力、分析和解决问题的能力给出实验成绩。任课教师根据平时出勤情况、平时作业、课堂提问以及课堂讨论等平时学习的积极性、主动性给出平时成绩,平时成绩占总成绩的20%。
严肃考场纪律,杜绝学生作弊思想的滋生,课程组老师建立数量庞大、范围广泛的试题库,并随时补充新的题目加入试题库。课程组的任课教师开发了计算机硬件考试系统,并按遗传算法随机组卷,学生上机答题,避免了雷同的试卷,杜绝了相互抄袭的现象。上机考试的评阅则采取学生考试结束后当场打分,整个考评过程透明公正。此外,课程组还建立了考试结果分析制度,以指导命题和改进教学。
7结束语
“计算机硬件技术基础”课程改革从2006年秋季开始进行,从各学期学生的教学评估情况看,多为“理论联系实际”、“讲解方式浅显易懂”、“考核方式新颖”、 “这门课程很有趣”等正面评价。从学生的认可度来看“计算机硬件技术基础”课程的改革是比较成功的,符合人才培养的目标,有利于培养学生的研究创新能力。经过课程组教师的长期努力建设,2008年该门课程获得辽宁省精品课程立项,现正在建设当中。
构建合理的计算机硬件基础课程体系,对培养学生良好的计算机硬件基础,提高学生在本专业领域综合应用计算机的能力至关重要。通过计算机硬件系列课程体系建设及系列课程的教学改革实践,完善了课程体系,改革了各个教学环节,在教学大纲、教学内容、教学手段、考核环节和实验教学等方面做了许多工作。近年来,随着中小学信息技术课程的普及,大学生的计算机应用水平得到了很大的提升,尤其是从大中城市报考来的大学生已经具备了相当不错的计算机水平,这些学生已经不满足于有限的课堂讲授,为满足学生自主学习的需要,课程组的教师正在努力建设基于因特网的教学资源库,整合国内外优秀的教学资源。随着计算机技术的不断发展,计算机硬件课程建设和教学改革是一项长期的工作,更需要坚持不懈的长期努力。
参考文献:
[1] 教育部计算机科学与技术专业教学指导分委员会.关于进一步加强高等学校计算机基础教学的意见[J].中国大学教学, 2005(5):11-18.
[2] 邹逢兴.关于创新“计算机硬件技术基础”课程教学的实践和思考[J].计算机教育,2004(2):81-84.
计算机组装 计算机维护 实训体系
计算机组装与维护是计算机应用技术专业的核心课程,也是计算机相关专业重要的专业基础课程之一,由于产品的更新速度导致这门课程教学内容更新快,实践性和应用性也比较强。通过该课程的学习,学生可系统掌握计算机的硬件组装、软件维护知识,具备计算机常见软硬件故障诊断与维修的能力,为进一步学习后续课程打下坚实的基础。合理的实训体系对于能否学好实践性较强的这门课程来说是必不可少的,笔者结合自己长期本行业的工作经验及实际教学工作经验,对计算机组装与维护课程实训体系的构建谈谈自己的一些看法,以期对目前人才市场“计算机人才过剩”现象能带来一些思考。
一、课程特点及实训教学现状
1.计算机软硬件产品更新快
计算机芯片所集成的晶体管数目与功效每18个月翻一番。说明硬件发展速度非常快,实际上作为电脑产品上已经超过摩尔定律的预期。本课程的应用领域是计算机产品最前沿的地方,所以要求学生必须把握市场的发展动态,紧跟计算机技术的最新发展状况,熟悉当前市场上计算机配件的主流产品。
2.课程实践性强,需要大量实验实训支撑
组装与维护是一门理论性、实践性、应用性非常强的计算机专业课程。本课程的主要内容包括:计算机的组成与结构、计算机各个硬件部件及系统扩充外部设备、CMOS基本设置、硬盘分区及格式化、操作系统的安装、驱动程序及应用软件的安装、常见软硬件故障排除方法以及与维护有关的实用软件的使用等。学生不仅需要大量的实践与实训,甚至要走入电脑市场进行锻炼。要对各种知识融会贯通,如电子线路、英语等。灵活运用这些知识分析解决实际问题。
3.学校实训实习配套设施严重不足
硬件实验需要大量的硬件投资,计算机硬件实验在偶有操作不当的情况下会损坏硬件,很多学校组装与维护实验室设备都是由正常教学上不能使用的淘汰的计算机充当,根本保证不了学生实验实训课的需求。即便有些可正常启动的机器,也是早就被淘汰的落后产品,根本无法安装操作系统,更无法建立维护平台。
4.大多数学校仅能满足于课程教学,实训“认证”体系不完备
部分教师无行业相关经验,只知道纸上谈兵,理论相当强,一旦遇到实际问题,找个理由搪塞过去,学期结束或进行卷面考试评定、或作为考查课给出平时成绩进行评定,根本没有通过相关认证体系进行考取“资格证”。经过这些评定方式评定的维修人才,想直接适应市场对计算机维护人才的需求,基本上是不可能的。
二、计算机组装与维护课程实验实训教学体系的构建
1.加强实验实训教学改革,全面提高动手操作能力
实验实训课不仅能巩固所学的理论知识,又能让学生掌握和理解科学实验的思想方法,培养学生动手操作的能力。由于一些院校认识不够或者实验实训条件有限,随意删减实验内容,甚至于连最基本的实验也不能保证,说这些实验会损坏硬件设备,代价太高。有的干脆降低理论与实践课的比例,连30%的实验量就达不到。基于这些情况,根据笔者多年来的教学经验,计算机组装与维护有条件的学校可以把课程全部安排在实验室进行,采取边理论边实践。实验条件不是很好的学校,实验课的比重至少要占总课程的一半一上。当然,也可以采用多种实验实训方式,实验室可采用实物操作,没有实物的也可以借助视频教学,利用VPC或VM软件构建教学虚拟实验系统,在不增加任何投入的情况下自建虚拟实验系统,可以满足绝大部分实验,学生经过虚拟实验操作后到实验室进行实际操作,这样可以减少出现硬件损坏的现象;实验之前教师尽可能根据本校实验室特点明确实验内容,细化实验步骤;实验室设备数量不够的,也可以进行分组实验;实验室应该最大程度地实行实验室开放,提高实验室的利用率,学生课内实验如果不能按时完成的话,还可以利用业余时间补做。
2.教师行业知识的培养与更新
教师的思想与观点会直接影响学生的知识学习与效果。一个好的计算机硬件教师应当具备扎实的理论知识和行业的相关经验,受教师的指引及熏陶,这样带出来的学生往往能高瞻远瞩,站在行业的前沿。但实际上大多数的计算机维护教师行业市场经验、计算机行业工程经验缺乏,只能纸上谈兵。笔者建议这样的教师应当深入到行业一线,进行培训再提高,具备市场行业经验,如市场硬件产品的发展动态、主流产品的价格及应用,始终让自己的意识、知识和能力同行业市场保持一致。
3.积极进行社会实践,课堂教学与社会实践相结合
在向学生讲授理论知识时穿插大量的市场知识,鼓励学生深入到市场一线,了解市场、调研产品;在周末或假期时间让学生实习基地了解公司的正常运营;带领学生举行师生义务电脑维修活动,提高自信,增强学生的动手实践能力。这样做,保证了正常的课程理论教学,公司又有了免费的劳动力,学生也具备了行业从业经验;还可以利用师生中零散的电脑配件进行了真正意义上的实训。当然,这些形式同样要求任课教师要有高度的责任感和事业心,在学生维修的同时首先把握好自己监管的一关,切莫让学生把客户的产品越修越坏,从某些意义上来说,教师的行业水平是提高实训质量的保证。
4.完善考核制度,制定或参与合理的实训认证体系
课程的考核不能只重理论而忽视技能,要改变传统的笔试方式。可以建立理论技能试题库进行理论考核,可以采用多种多样的考核方式,如安装操作系统或软件测试,故障的排除、计算机的拆装操作,写调查报告,做市场调查等。考核与社会认证相结合,鼓励和组织学生参加社会上的相关硬件技术的认证考核,取得相应的职业资格证书,争取在毕业之前取得“双证”或“多证”,为毕业后的职业选择奠定基础。
总之,本课程最终目的是培养学生的实践操作能力,其实用性、职业性特征非常鲜明。在教学中,只有把实验和理论教学真正结合到一起,建立完善而实用的人才培养实训体系,才能达到理想的教学效果,才能让我们的毕业生有较强的动手能力,才能让我们的毕业生一走出校园就能够找到工作。说开来,假如高职类每门课程都能建立完备的实训体系,何愁我们的毕业生会出现一走出校园就面临失业的尴尬境地呢?
参考文献:
[1]孟庆伟.计算机组装与维护[M].中国铁道出版社,2009
关键词:系统观;能力培养;教学改革;计算机系统
从1946年第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer)诞生到现在,计算机的发展经过了大型机时代(Mainframe Era: 1950s-1960s)、小型机时代(Minicomputer Era: 1970s)、个人计算机时代(PC Era: Mid 1980s-Mid 2000s)和后PC时代(PostPC Era: Late 2000s)。计算机教学模型机也经历了从大型机、小型机到PC的过程。通常,课堂教学内容比业界技术要滞后几年。20世纪80年代初,基本以IBM 360/370或DJS 200系列等大型系列机为模型机;20世纪80年代中后期开始,则以VAX 11/780等小型机为模型机,并同时开设以IBM PC为模型机的“微机原理与接口技术”课程,到21世纪开始,基本上都转入了以Intel x86或PowerPC或MIPS等微处理器为模型的教学模式。
随着多核/众核处理器、嵌入式和云计算技术的发展,以及大规模数据中心(WSC)的建立和个人移动设备(PMD)的大量普及使用,计算机发展进入了后PC时代。呈现出“人与信息世界及物理世界融合”的趋势和网络化、服务化、普适化和智能化的鲜明特征[1]。
那么,后PC时代的计算机专业教学应该如何改革?计算机专业教育的核心应该是什么?计算机课程的教学内容应该如何调整以适应新的发展需求?这些都是我们从事计算机专业教学的大学老师们应该思考的问题。本文将从计算机专业人才培养的目标、目前我国大学计算机专业教育存在的问题、南京大学在学生系统能力培养方面的新举措等几个方面阐述笔者的思考及初步探索。
一、计算机专业人才“系统观”培养的重要性
图1描述了计算机系统抽象层的转换。从图1可以看出,计算机系统由不同的抽象层构成,“计算”的过程就是不同抽象层转换的过程,上层是下层的抽象,而下层则是上层的具体实现。计算机学科主要研究的是计算机系统各个不同抽象层的实现及其相互转换的机制,计算机学科培养的应该主要是在计算机系统或在系统某些层次上从事相关工作的人才。
计算机系统由各种硬件和各类软件采用层次化方式构建,不同用户工作在不同的系统结构层,如图2所示。
从图2可看出,计算机用户有最终用户、系统管理员、应用程序员和系统程序员。显然,计算机专业培养的主要应该是设计和研制计算机的计算机工程技术人员以及系统程序员、应用程序员和系统管理员。不管培养哪个层面的计算机技术人才,计算机专业教育都要重视学生“系统观”的培养。
所谓“系统观”,笔者认为,就是指对计算机系统的深刻理解。具有“系统观”的人才,能够站在系统的高度考虑和解决应用问题,具有系统层面的认知和设计能力,包括对软、硬件功能进行合理划分、对系统不同层次进行抽象和封装、对系统整体性能进行分析和调优、对系统各层面的错误进行调试和修正、对用户程序进行准确的性能评估和优化,以及根据不同的应用要求合理构建系统框架等能力。
图2 计算机各类用户所在层次
特别是在后PC时代,并行成为重要主题,培养具有系统观的、能够进行软/硬件协同设计的软/硬件贯通人才是关键。而且,后PC时代对于大量从事应用开发的应用程序员的要求也变得更高。首先,后PC时代的应用问题更复杂、应用领域更广泛;其次,要想编写出适合各类不同平台的高效程序,应用开发人员必须对计算机系统具有全面的认识,必须了解不同系统平台的底层结构,并掌握并行程序设计技术和工具。
只有具备“系统观”,计算机工程技术人员才能够设计研制出性价比高的适合特定应用需求或通用的计算机,系统程序员才能编写出适合于底层硬件架构的易于上层应用程序员或系统管理员使用的系统软件,应用程序员才能最合理地利用底层硬件实现机制和系统软件提供的相应功能编写出性能最优的应用软件,系统管理员才能配置出最佳的系统环境并提供最好的系统维护和系统管理等方面的服务。
二、我国大学计算机人才“系统观”培养的现状
为了更好地了解国外大学计算机专业人才培养的情况,笔者对MIT、UC Berkeley、Stanford和CMU等4所美国一流大学在相关课程方面教学情况进行了跟踪调查[2]。我们发现,中美大学在计算机专业人才培养及课程教学方面存在许多不同。
首先,从课程设置上来说,上述美国四校在学完编程语言及其程序设计课程后都开设了一门关于计算机系统的基础课程,而且在课程内容上特别注重在计算机系统各个抽象层上的纵向关联,沿着一条主线,把每个抽象层都串起来,从而使学生形成完整的计算机系统概念。而国内大学计算机专业课程设置,基本上是按计算机系统层次结构进行横向切分,自下而上分解成数字逻辑电路、计算机组成原理、汇编程序设计、操作系统、编译原理、程序设计等课程,而且每门课程都仅局限在本抽象层,相互之间几乎没有关联,学生对整个计算机系统的认识过程就像“盲人摸象”一样,很难形成一个对完整计算机系统的全面认识。虽然国内高校也有计算机系统概论、计算机系统入门或导论之类的课程,但内容广而不深,什么都讲一点,什么都讲不透,基本上是计算机课程概论,而不是计算机系统概论。
其次,美国四校都采用了分流培养模式,都设置了偏硬件或计算机系统的专业或方向。例如,有电子工程(EE)、电子与计算机工程(ECE)、计算机工程(CE)和计算机系统等专业或方向。而目前国内大多数高校都只有一个专业,即计算机科学与技术,专门分出ECE、CE和计算机系统方向进行人才培养的学校很少。国内绝大多数高校只能培养应用程序员,而且是对计算机系统底层知之甚少的应用程序员。
最后,美国四校在计算机系统入门课后面都开设了关于数字系统设计的课程,课程内容涵盖了数字逻辑电路和组成原理两门课的基本内容,并要求学生用EDA方式设计相对完整的流水线CPU,而且都是由EE(ECE)部门开设,但并不要求所有学生都学,通常是偏硬件类的EE、ECE、CE和计算机系统方向的学生必学,其他方向学生选修。反观国内绝大多数高校,基本上都是先上数字逻辑电路(有些合并了一些模电内容)课程,然后上组成原理课程(有些组成原理课程上的是微机原理与接口的内容),而且这两门课程基本上都是所有学生的必修课程,并没有考虑不同方向学生对于计算机底层硬件知识和硬件设计能力的不同需求。目前国内大多数学校的组成原理课程教学基本上还是沿用传统的教学理念,教学内容还停留在计算机硬件的基本构成和基本设计原理层面,既不像国外的数字系统设计那种硬件设计课程,能够让学生真正了解如何用硬件描述语言通过FPGA来设计现代计算机硬件系统;也不是一门关于计算机系统的入门课程,能够让学生全面地理解整个计算机系统的实现机理。因此,目前国内绝大多数高校的组成原理课程的教学,既没能达到培养学生利用现代化工具进行实际硬件设计的能力,也没有让学生学会运用机器底层硬件和系统结构知识来增强高效软件开发和程序调试的能力,更没有通过该课程让学生建立起计算机软、硬件系统的整体概念。
总之,国内大学计算机专业教育在“系统观”培养方面还存在一些问题,这点从近五年来全国计算机专业研究生入学考试的抽样结果可以得到印证。2009年开始,计算机专业的研究生入学考试采用全国统考方式,计算机专业基础综合统考科目包括数据结构、组成原理、操作系统和网络四门课程,总分为150分。五年来的抽样结果显示,全卷平均分每年仅在60~78之间,试题统计难度(单选题的试题难度指答对人数/总人数,综合应用题的试题难度指样本平均分/该题总分,最终难度为加权平均值)仅在0.41~0.52之间,其中组成原理最低,特别是其综合应用题的难度仅在0.181~0.440之间,五年共10个综合应用题,只有两题的难度达到了0.4以上,说明所有考生平均仅掌握所考内容的大约30%左右,有的方面只有20%不到,也即考生们对绝大部分综合应用能力考核内容都没有掌握。从抽样省份来看,前三年抽样的大多是高等教育水平比较高的地区,可想而知,全国的抽样数据应该更差。近五年的综合应用题抽样数据表明,试题统计难度与解题涉及的知识点个数相关性较大,通常涉及的知识点越多得分越差,说明学生的综合应用能力较弱,平时缺乏对相关知识和概念关联性的思考。
根据近年来对全国研究生计算机专业基础综合统考科目考试成绩的抽样调查结果,可以看出国内大学计算机本科专业存在“轻应用、缺关联、少综合、无系统观”的问题[3]。
三、国内大学相关教学改革概况
目前,越来越多的高校发现计算机专业基础课程教学中的一些问题,开始注重学生的系统能力培养,强化学生的“系统观”。
目前为止,已经有一些高校以MIPS为模型机,对数字系统设计的相关内容进行了深入的讲解和实践,也有一些高校同时把CPU设计与操作系统和编译的内容融合起来进行实验课程的开设。浙江大学多年来每年在暑假都会开设有关CPU及其计算机系统设计的选修课;东南大学也专门开设了面向所有学生的计算机系统综合实验课程;北京航空航天大学从2006年开始筹划,花了5年时间实现了突破,在相关的数电和组原、OS及编译原理课程中逐步让学生完成一个完整计算机系统的设计;清华大学目前也已经完成了计算机综合实验平台的所有软、硬件部分的开发,准备在所有本科生中开设计算机系统综合实验课程。此外,中科大和国防科大等高校也一直在实施本科生的计算机系统设计能力培养计划。可喜的是,一些非重点高校的任课老师也在组成原理课程的教学及其相关实验中,引入了以MIPS为模型机的 CPU设计的教学和实验内容。
另一方面,像复旦大学软件学院和上海交大软件学院等则开设了与CMU的CS 213类似的课程[4],北京大学也在去年全盘引入了CMU的CS 213课程教学内容。但是,总的来说,目前在国内全面开展像CMU的CS 213那样的课程教学困难还不小,对任课教师和学生来说都是一个不小的挑战。
四、南京大学相关教学改革思路和做法
根据对计算机相关领域目前发展情况的分析以及对国外一流大学计算机相关专业教学情况的调查,我系在新的2013版教学计划中,实施分流培养机制,提供了计算机科学、计算机系统、计算机应用、软件工程和信息安全五个方向。
在“系统观”培养方面,其基本培养目标为:建立计算机系统完整概念,深刻理解计算机系统的层次化结构。包括:理解计算机系统中各个抽象层之间的相互转换关系,了解计算机指令集体系结构的设计原则和设计原理,具备使用HDL进行计算机硬件设计的基本能力,深刻理解OS和硬件之间的分工和衔接关系,理解掌握从硬件角度出发进行编译优化的基本技术,深刻理解从硬件角度出发编制高效程序的基本原理,提高利用硬件知识进行程序调试的能力。特别对于计算机系统方向的学生,在系统能力方面则要求更高,在CPU设计、体系结构、操作系统、编译技术和并行处理技术等方面都有相应的实践要求。
在2013版教学计划中,重新规划了相关的一系列课程,并采用以下思路对相关课程进行重新建设:(1)根据系统能力培养总体目标,规划好相关课程各自涵盖的知识结构和框架体系,合理定位各门课程的教学目标,把每个知识点落实到具体课程中。(2)根据相关知识点总体框架,拟定各个相关课程之间知识点衔接方案,并且在教学过程中明确各知识点在不同课程之间的关系。(3)根据规划分头编写或修订教材及教案,并在统一的框架下建设相关课程。(4)在保留各课程独立实验平台的同时,构建一个公共实验平台,使相关课程的实验内容按照一定的关系有机联系起来。
2013版教学计划中有一组课程是所有方向学生都必修的学科平台准入和学科平台准出课程。学科平台准入课程是指转系学生只有选读并考试合格后才有资格转入我系学习的最低门槛课程;学科平台准出课程是指学生只有修读合格后才能从我系毕业的最低门槛课程。
与系统能力培养密切相关的准入课程是“程序设计基础”和“数字逻辑电路”;而与系统能力培养密切相关的准出课程是“计算机系统基础”、“操作系统”和“计算机网络”。
每个方向有几门方向必修课程和方向指选课程。方向必修课程是该方向学生必选的方向基础课程,方向指选课程是为该方向学生指定的选课范围内的方向相关课程。例如,对于计算机系统方向,其方向必修课程是“计算机组成与设计”、“计算机体系结构”和“编译原理”;而在方向指选课程中,与系统能力密切相关有“计算机系统综合实验”、“并行处理技术”、“LINUX分析”、“微机原理与接口”和“嵌入式系统”等课程,也即计算机系统方向学生必须在这些课程中选修一定数量的课程。
图3给出了整个教学计划中与“系统观”培养密切相关的课程设置,图中箭头描述了课程的先后依赖关系。
从图3可看出,所有相关课程中,“计算机系统基础”是最核心的课程,其先行课程是“程序设计基础”和“数字逻辑电路”,与其相关的后续课程有“计算机网络”、“操作系统”、“计算机组成与设计”、“计算机体系结构”、“编译原理”、“并行处理技术”、“微机原理与接口”、“嵌入式系统”、“LINUX分析”和“计算机系统综合实验”。
课程设置基本思路是“从两头到中间、从框架到细节”,即先开设顶层的程序设计课程和最底层的数字逻辑电路课程;然后再在“计算机系统基础”课程中,从两头到中间,把顶层程序设计的内容和底层电路的内容,按照程序员视角串起来,以形成对计算机系统的全面的和系统的框架性整体认识;在此基础上,再分别在其他后续课程中,介绍计算机系统底层的硬件以及操作系统和编译器等层次的实现细节。
围绕系统能力培养目标,根据课程之间的相互关系,我们确立了各课程定位如下:
(1)程序设计基础。该课程是学科平台准入课程,所有学生必修。它主要介绍高级语言编程技术的基础内容,让学生初步理解高级语言及高级语言程序设计涉及的概念,初步理解图1所示的计算机系统中最上面三个抽象层(问题、算法和程序)及其相互转换关系。学完该课程后,学生能够了解到计算机解决应用问题首先必须将其转换为算法,然后用某种编程语言将算法编写成程序才能在计算机上运行。因而,学完本课程后,应该希望进一步了解为什么计算机能够执行程序、计算机如何执行程序等问题。
(2)数字逻辑电路。该课程是学科平台准入课程,所有学生必修。它主要围绕组合逻辑和时序逻辑两大核心内容,在逻辑门到功能部件这两个层次展开,以后续课程中用到的功能部件(如半加器、全加器、加法器、比较器、编码器、译码器、触发器、寄存器、移位器、内存储器等)作为数字逻辑电路设计实例进行介绍,初步掌握图1所示的计算机系统中最下面的三层(功能部件、门电路和器件)相关内容。学完该课程后,学生能够了解到目前主流计算机解决所有问题的最根本的基础是布尔代数和数字逻辑电路,并了解到利用数字逻辑电路可以构建执行程序所需的所有功能部件。
(3)计算机系统基础。该课程是学科平台准出课程,所有学生必修。它是一门新开设课程,主要介绍高级语言程序中的数据类型及其运算、语句和过程调用等是如何在计算机系统中实现的,从宏观上介绍计算机系统涉及的各个层次,使学生从整体上了解计算机系统全貌和相关知识体系,初步理解图1所示的计算机系统中的每一个抽象层及其相互转换关系。学完该课程后,学生能从程序员角度认识计算机系统;能够建立高级语言程序、ISA、OS、编译器、链接器等之间的相互关联;对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解。从而增强学生在程序调试、性能提升、程序移植和健壮性等方面的能力,并为后续的“计算机组成与设计”、“操作系统”、“计算机体系结构”等课程打下坚实基础。由此可见,该课程可以作为“程序设计基础”课程的深入内容,能起到为其解惑答疑的作用,学完该课程,学生完全应该能够回答为何计算机能够执行程序以及计算机如何执行程序等问题。
(4)操作系统。该课程是学科平台准出课程,所有学生必修。它将系统地讲解操作系统的基本概念和方法、设计原理和实现技术。主要内容包括:处理器管理,同步、通信和死锁,存储管理,设备管理,文件管理,操作系统安全和保护,分布式操作系统和网络操作系统。既阐述经典内容,又以当代主流操作系统作为实例介绍最新发展;既注重操作系统的理论知识,又重视操作系统的实践和应用。操作系统是一门实践性、应用性很强的课程,学习这门课程必须动手实践。实验将配合原理教学同步进行,课程实验以设计性实验为主,进行模拟类操作系统实验,要求学生能够基于虚拟机环境,实现一个可运行的操作系统。实验通过对操作系统原理的剖析,辅助学生深入理解抽象原理,强化学生对操作系统总体结构的理解和认知,提高学生的动手实践能力,并帮助学生对操作系统建立起理性、全面、完整和准确的概念。
(5)计算机组成与设计。该课程是计算机系统方向学生的必修课程。它主要从寄存器传送级以上层次介绍单处理器计算机设计的基本原理和设计细节,重点在CPU设计和存储器设计方面,使学生在理解高级语言程序与机器级代码之间对应关系的基础上,进一步理解机器级代码如何在具体硬件系统中执行的过程以及如何构造计算机硬件系统。因而,该课程主要涉及图1中的第5层(指令集体系结构)和第6层(微体系结构),并通过实现细节介绍这两个层次与上层的操作系统/虚拟机以及与下层的功能部件/RTL之间的关系。通过该课程的学习,要求学生能够利用硬件描述语言和FPGA开发板来设计基本的功能部件以及单周期CPU和流水线CPU。因而,在课程内容组织方面应该细化通用寄存器组、ALU和桶形移位器等功能部件设计的内容,细化单周期CPU和流水线CPU设计的内容,并讲透流水线CPU设计中的各种冒险处理机制和基本的指令级并行处理的内容。
(6)计算机体系结构。该课程是计算机系统方向学生的必修课程。学生在完成单处理器计算机系统相关技术学习的基础上,通过该课程进行多核处理器、众核处理器、多处理机系统、集群系统等不同粒度和规模的并行计算机系统的工作原理、实现方式及其应用方面的深入学习。因为学生已经建立了单处理器计算机系统的完整概念,因而该课程重点应该更多地转移到超标量流水线、多核/众核系统、多处理器系统、多计算机系统等并行处理系统方面。此外,该课程还涵盖了数据中心、云计算系统和虚拟机/虚拟化方面的部分内容。
(7)编译原理。该课程是计算机系统方向学生的必修课程。学生在掌握了程序设计、数据结构、算法设计与分析、组成原理和操作系统的基础上,进一步学习编译器的设计原理和实现技术。它主要包括有限状态自动机理论、形式语言分类以及词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成的作用和方法,还介绍属性文法的基本概念和半形式化的中间代码生成方法。该课程的各个知识模块综合起来对应的培养目标,是使每位学生掌握和编译器设计相关的形式语言理论基础、了解编译器生成工具的使用方式以及实践一个简单编译器的设计与实现过程。该课程的学习能为后续的形式语言和自动机等课程以及在软件工程和自然语言处理等方面的研究工作打下良好的基础。
(8)并行处理技术。该课程是计算机系统方向学生的指选课程。其主要内容包括并行环境、并行算法、并行程序设计、并行性能评价等部分的内容。课程总目标是通过并行计算和并行处理的基本概念、基本原理、基本方法与基本知识的讲授与实践,为计算机系统方向学生打下并行算法与并行处理方面的研究与应用基础。通过简单介绍并行计算机的体系结构、并行计算模型与并行算法的性能评价方法,掌握并行算法设计、编程实现与性能评价时涉及的基本知识与基本概念;通过介绍任务分解、任务调度、负载平衡、设计模式、设计技巧等知识,掌握并行算法设计的基本原理、基本方法与基本技术;通过对MPI与OpenMP等编程语言或编程模型的简单介绍,使学生掌握并行算法程序实现的基本知识;通过几类典型的数值与非数值并行算法介绍,加深学生对并行算法设计基本原理与常用方法的理解,并为实际应用问题的并行算法设计与并行处理打下坚实的基础。
(9)微机原理与接口。该课程是计算机系统方向学生的指选课程。主要定位为在PC上的实例化教学课程,以目前流行的基于IA-32体系结构的PC为实例,主要介绍IA-32提供的存储管理机制、异常/中断机制以及总线和接口技术。实验重点内容在PC的I/O接口技术,包括在FPGA实验板上利用CPU软核进行总线、中断和DMA实验,利用硬件描述语言(HDL)进行UART等I/O接口设计的实验等。
(10)嵌入式系统。该课程是计算机系统方向学生的指选课程。主要定位为在嵌入式系统方面的实例化教学课程。主要介绍嵌入式系统概论、嵌入式处理器、存储器及其总线互连,嵌入式系统集成接口,嵌入式操作系统,嵌入式硬件与软件协同设计方法与工具,嵌入式应用系统开发及其工具,嵌入式系统功耗分析与优化设计等。实验重点内容是基于ARM处理器和μCOS-Ⅱ操作系统的简单嵌入式软件开发技术。
(11)LINUX分析。该课程是计算机系统方向学生的指选课程。它是操作系统的后续课程,以剖析Linux内核实现技术为切入点,结合Linux内核代码,从用户层及内核层两个层面,围绕“原理、技术、应用”三个角度剖析Linux的内部结构与内核实现机制,帮助学生从系统实现角度理解现代操作系统的系统架构、实现机理及关键技术。课程以“技术专题”形式组织教学内容,每个专题由知识讲授与课程实验组成。核心知识模块包括进程管理、进程调度、进程通信、存储管理、系统调用与中断处理、文件管理。每个知识模块按“原理设计基本思想―实现相关技术问题―Linux内核实现途径―用户系统编程体验”为主线组织具体内容。
(12)计算机系统综合实验。该课程是计算机系统方向学生的指选课程。主要目的在于将本科计算机教学中的基础课程,如程序设计、数字逻辑电路、操作系统、计算机组成与设计等课程融会贯通,使学生从系统的角度对整个计算机有一个全面的认识和了解,并能够设计和实现一个简单的计算机系统。本综合实验区别于一般的基础实验课程从单个层面出发的设计局限性,它要求学生把计算机软件和硬件相结合,并强调各个基础课程之间的衔接与联系。实验要求学生能够对于从高级程序语言开发到程序的系统管理、编译与代码转换以及硬件运行的选择与实现等有一个全面的掌握。实验还强调学生的动手能力和对系统的设计能力,培养能够独立开发一套简单系统并能对整个系统进行改进和优化的能力。
当然,除了上述课程以外,其他课程对学生系统能力培养也有一定的作用。除了学科平台准入和准出课程以外,其他方向的学生还可以选修上述其他课程,有些课程还可能是某个方向的必修课和方向指选课,而计算机系统方向的学生除了上述给出的必修课和指选课以外,也还可以选择一些偏理论或偏应用的课程进行修读。
后PC时代WSC、PMD和PC等共存,使得原先基于PC而建立起来的专业教学内容已经远远不能反映现代社会对计算机专业人才的培养要求,原先计算机专业人才培养强调“程序”设计也变为更强调“系统”设计。这需要我们重新规划教学体系,调整教学理念和教学内容,加强学生系统能力培养,使学生能够深刻理解计算机系统整体概念,更好地掌握软/硬件协同设计和程序开发技术,从而更多地培养出满足业界需求的各类计算机专业人才。
参考文献:
[1] 王志英,周兴社,袁春风等. 计算机专业学生系统能力培养和系统课程体系设置研究[J]. 计算机教育,2013(9):1-6.
[2] 王帅,袁春风. 美国一流大学计算机组成与系统结构实验课程研究[J]. 计算机教育,2011(17):121-124.