前言:中文期刊网精心挑选了计算机组成原理基本知识范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机组成原理基本知识范文1
中图分类号:G640 文献标识码:A 文章编号:1003-2851(2012)05-0150-01
《计算机组成原理》是计算机类专业的一门重要专业基础课,是计算机类硕士研究生全国统考课程之一。该课程主要讲授信息的表示方法、运算方法、CPU与外部的信息交换、指令系统、程序设计、运算器、存储器、控制器、输入设备和输出设备等。通过这些内容的学习,使学生掌握数字计算机的系统组成,特别是硬件线路的组成和工作原理,对计算机有个较全面的了解,建立计算机的整机概念,为后续的各门硬件和软件课程的学习打下坚实的基础。
一、现状分析
目前出版的《计算机组成原理》教材版本有很多种,各有许多长处,又存在许多不足。例如,教材中某些章节与前面课内容重复;教材中各计算机组成部分之间的联系阐述不够,特别是控制器作为全机的控制中心,是怎样指挥全机各部分之间协调一致地工作的论述不够,也就是说没有把控制器的指挥中枢作用突出出来。
历届学生反映:
1.觉得控制器抽象难学,虽然知晓控制器是全机的指挥中心,是各种操作命令的机构。但是再一研究,控制器到底是怎样指挥各部件有条不紊地工作的,就不很清楚。
2.对指令的执行过程和计算机工作理解不深。
3.感到学到的知识零碎散乱,缺乏系统性。
由于以上原因,致使学生学完计算机原理之后,尚不清楚计算机组成原理和工作原理。建立不起计算机整机概念。
鉴于上述分析,我们认真编写了《计算机组成原理》课程教学大纲,整合教学内容,改进教学方法,加强实践环节,进一步提高教学质量。
二、改进措施
(一)修改和补充教材内容。经过多年的教学实践,发现现有一些计算机组成原理教材各具特色。我们认真总结经验,博采众教材之长,避各教材之短。对教学内容进行了认真的整合,以满足教学需求,具体做法如下:
1.删除与前面的课程重复的内容。例如,数制和码制、逻辑代数、基本逻辑单元电路和逻辑部件部分。补充必要的新内容。
2.注意各章节的内容衔接。在讲清楚计算器、存储器、控制器、输入设备和输出设备各部件的组成原理和工作原理的基础上,注意各部分内容的衔接和配合,加强知识的系统性。
3.改进和充实控制器一章的内容。我们知道,控制器线路的逻辑关系和各种信号时序关系异常复杂,发出各种信号很多,不易叙述清楚。也是改进的重点。我们认为控制器这一章应把控制器发出的各种控制信号对机器各部分控制作用论述透彻,由控制器把全机各部分之间的关系有机结合起来。这样就会使学生感到脉络清晰,前后呼应,融为一体,便于掌握。
(二)改进教学方法
1.明确要点、抓住三基、掌握方法,培养能力
要点即主要之点,计算机是信息处理的自动机,就必须研究信息表达方法、信息组织方法、信息加工方法、信息变换方法、信息存储方法、信息控制方法和信息传送方法。还必须研究程序存储技术、程序控制技术和程序中断技术。这些方法和技术即关键所在,要点所在。
三基就是计算机的基本组成、基本原理和基本方法。把基本东西学会、学透,就能举一反三。
教学中采用启发式、互动式、讨论式、案例式等教学方法。
坚持培养学生运用基本知识观察问题、分析问题和解决问题的能力。
2.教师在讲授指令执行过程和计算机工作过程时,要把指令的流程,数据通路和微操作信号三者有机结合起来。指令流程能把指令的执行周期、节拍等时间关系清楚地表示出来;从数据通路可以看出从何处取操作数,取出操作数经过哪些路径送往运算器的哪个部件进行加工。其操作结果又经怎样的路径送往何处保存;在指令执行过程中发出哪些微操作信号,对这些信号的作用怎样,他们之间的时序关系怎样,是怎样控制数据通路的形成和数据加工的?这些问题阐述清楚了,主机内数据信息和控制信息流动和作用的过程也就清楚了。
(三)加强实践环节。电子计算机是十分复杂的电子机器,计算机组成原理课工程性比较强,只有通过必要的实验才能较好的掌握它。许多问题,虽然在课堂上很难真正的理解而通过实验也就理解了。比如说,在课堂上教师强调:控制信息处于主动地位,数据信息处于被动地位,数据信息是在控制信息的控制下实现传递、加工并产生相应的结果。学生理解的还不十分深刻,而学生带着问题,亲自动手做实验,来验证所学的知识,问题也就解决了。在实验中可以通过显示器进行观察,用仪器进行检测,并且可以断开某个控制信号,观察前后有什么不同,数据传递到什么地方终止了,为什么没有形成正确的数据通路和产生正确结果?通过学生亲自实验、观察、分析和整理,就会得出正确的结论,就能比较牢固地掌握两种信息流动和作用的基本原理,消化和巩固所学知识。
以上仅是本人在教学实践中具体做法和粗浅体会,有错误和不当之处,望批评指正。
参考文献
计算机组成原理基本知识范文2
关键词:计算机组成原理;EDA技术;课程设计
中图分类号:G642 文献标识码:B
1背景
“计算机组成原理课程设计”是计算机科学与技术专业本科教学阶段的核心专业基础课程“计算机组成原理”的重要实践教学环节。其先修课有“数字逻辑”及其实验,其后继课程有“计算机体系结构”,“编译技术”,“接口与通讯技术”等。
本课程起着承上启下的重要作用,通过本课程的各项实验,使同学进一步掌握计算机各部件的基本原理和结构,掌握计算机各部件的基本设计方法和实验方法,帮助同学建立计算机时间―空间的整体概念,巩固课堂知识,初步培养学生的实验操作能力和分析解决问题能力。
但是以前的教学实践中在CPU硬件设计这一重要内容方面存在不足。CPU、DSP处理器乃至计算机系统的设计技术及相关课程随着新技术的发展应该成为计算机科学与技术专业中重要的组成部分,计算机专业对于软硬件综合设计人才的培养是责无旁贷的,也是本专业的特色与亮点。作为计算机专业的人员,如果只会使用计算机而不会设计CPU 和计算机,那么和其他专业比较就没有优势,不符合计算机专业的办学宗旨而缺失市场竞争性。
调研表明,国内大多高校仅将“计算机组成原理”定位为“计算机科学导论”和计算机模型认知的层面上;而在实验与实践方面,“计算机组成原理”的实验则主要是在一些由分离元件构成的实验平台上,完成简单模型CPU的验证性实验,基本谈不上设计。这显然难以满足教育部在《关于加强高等学校本科教学工作,提高教学质量的若干意见》中关于“高等学校要重视本科教学的实验环节,保证实验课的开出率达到本科教学合格评估标准,并开出一批新的综合性、设计性实验”的要求。
随着科学技术的发展,核心技术已经愈来愈集中在集成电路芯片和软件这两项之中,其中CPU 和OS设计技术是最核心的两项技术,特别是高性能计算机技术一直是衡量国家实力的一个重要标志。美国、日本和西欧等国都作为一种国家行为,不断加大这方面的资助力度。美国的许多高校本科计算机专业中也都安排了CPU 设计方面的课程和实验内容,例如麻省理工学院的一门相关课程是“计算机系统设计”。学生在实验课中,须自主完成(即自行设计)ALU、单指令周期CPU、多指令周期CPU,乃至实现流水线32位MIPS CPU和Cache的设计。斯坦福大学计算机系的本科生也有相似的课程和实验,即“计算机组成与设计”课,实验要求学生以各自独立的形式,用VHDL语言自主实现CPU、VGA显示控制模块等接口,并最后实现于FPGA中,及完成软硬件调试。此外,如加利福尼亚大学和伯克利大学等学校在基于FPGA 的超级计算机研制方面都实现了大量成果。因此我们有必要向国外的先进教学实践学习,应用EDA技术改革“计算机组成原理”课程的实践教学环节。
2改革目标
基于以上问题的考虑,学院计算机体系结构教学组经过调查研究,深入讨论,决定改变基于小型模拟计算机系统的实验教学模式,采用基于硬件描述语言方式,通过让学生实际进行计算机各个组成部件的设计方式进行实验教学,以提高实验教学水平。
为了更好地贯彻学院的本科教学培养计划,培养出基础知识扎实,具有创新意识,善于自主学习,实践能力较强的计算机高级专门人才,我们提出了“计算机组成原理”实验教学环节的下列改革目标。
2.1与基于EDA的现代工程设计接轨
首先,在“计算机组成原理课程设计”中增加向工程实际转化的符合现代计算机系统工程设计规范的硬件设计内容。在传统的实验模式中虽也有“设计”内容,但主要是根据不同实验系统各自规定的方法,用既定的分离元件和接口器件进行拼装搭接而成,学生无法从这样的“设计”过程中了解真实的现代实用CPU基本设计技术。
其次,使学生在了解计算机组成原理和软件设计技术的同时,学会计算机硬件设计技术。计算机的软硬件设计技能是一个合格的计算机专业学生本应具备的基本知识,离开了硬件设计,自主创新能力的培养便无从谈起。以前不少计算机专业学生只将注意力和兴趣集中在各种编程环境、开发工具、数据库、计算机网络的技术上面,对于硬件技术的学习和应用研究不感兴趣或忘而生畏,培养学生掌握计算机硬件设计技术,能从根本上解决这个问题。
2.2培养创造能力
从创造能力培养的角度看,软件设计人员只须拥有逻辑上的单向一维思维能力就能保证软件设计的成功,即过量单纯的软件设计,不断强化设计者纯逻辑性思维和收敛性思维。显然,这与培养植根于多维多向的发散性思维方式和非逻辑思维方式的创造能力是相违背的。因此,多数纯软件设计训练只能归类为技能性和知识性训练。
硬件系统设计则不同。首先,硬件系统可以有许多相关或互为独立的模块组成,相关模块的关系可以是同步,也可以是异步。其次,硬件系统设计本身并不能离开软件设计,因此硬件系统的构建是一个软硬综合的并发系统,设计和把握它自然必须拥有并发和多维的思想方法。例如在时序问题和竞争冒险问题的解决上有时还可能用上非逻辑思维方法。而Verilog HDL语言正是描述和设计硬件系统的计算机语言,它的语句都是并发的,甚至包括进程中的顺序语句。基于EDA技术和Verilog的计算机设计训练无疑十分有利于强化发散性思维和自主创新能力的培养。
3实施方案
3.1实验教学体系的改革
计算机专业的硬件基础实验课多年来一直采用传统的芯片搭电路的方法,此方法过于陈旧,限制了学生能动性的发挥。在实验教学中引入现代EDA技术是必然趋势。
在计算机组成原理实验中我们引入该技术,采用先进的虚拟设计及仿真软件工具quartusII,结合GW48_SOPC实验箱,可以设计、仿真与硬件下载验证计算机的各功能部件。
3.2实验教学软硬件设备及教材的建设
EDA技术的发展已从根本上改变了传统电子系统的设计与开发模式,我们必须适应这一趋势。为此,在学院的大力支持下,我们建设了一个可以容纳65人的计算机组成原理专用实验室,新购置了65台高性能的PC机及终端桌椅。另外,学院还将采购65台新型的基于FPGA芯片和EDA环境进行实验的计算机组成原理实验台,该平台已被国内数十所大学采用。学院的EDA课程实验即采用类似平台,两年多的运行证明性能良好。在实验软件工具方面,我们紧跟国际步伐,引入了高级的虚拟设计与仿真软件工具quartusII。
在教材的建设方面,我们经过两年的教学实践,在实验项目方面有了一定的积累,但距离改革目标还有很大的距离。为了促进教学改革的进一步深入开展,我们将在原有实验指导手册的基础上,增加新的实验项目,并系统整理与实验内容相关的硬件描述语言Verilog HDL,quartusII使用手册及实验台技术手册。在此工作的基础上,将形成“计算机组成原理课程设计”正式出版的配套教材。另外,我们还将结合多媒体技术开发新的教学课件,并建设相应的课程网站,作为教学强有力的辅助手段。
3.3实验教学内容的设计
实验教学内容根据学院实验计划大纲要求,结合工程实际来确实,充分考虑了可操作性与可行性。计算机组成原理实验的最终目的是让学生能够设计出CPU,但首先,学生必须初步掌握Verilog HDL硬件设计语言,学会使用quartusII设计工具,知道CPU的各个功能部件如何工作,以及相互之间是如何配合构成CPU的。
因此,为满足教学需要,实验教学内容将采用由基本到综合的方式逐层开展,“必修实验+选修实验+综合实验”相结合的方式。首先,设计出一个完整的CPU实验方案,然后再将这个CPU分解出一套功能部件实验,包括:总线传输实验、运算器实验、存储器实验、数据通路实验、时序电路的组成、控制原理实验、微程序控制器实验等。必修实验内容主要由这些功能部件实验作为基础,同时增加大量相关的其他实验内容作为选修实验以供学生选择,满足不同层次的需要。必修实验完成的功能部件在综合实验中进行组装,形成一个完整的CPU。
3.4实验教学的组织方式
培养学生实验能力和设计创新能力是我们实验教学的重要目标。为了贯彻这一指导思想,根据该实验课程的特点,课堂上教师只是启发性地讲解实验的关键点,其余部分全部由学生独立完成。每位学生可根据自己的实际能力在完成必修实验内容的基础上,还可选做选修实验以扩大知识面加深理解,完成选做实验项目者可适当加分。
由于课程的学时数十分有限,因此我们要鼓励学生在课后自己动手完成大量的选修实验,任课教师除上课时间外,每周还可以安排一次集中答疑时间,以解决学生在课外实践中遇到的困难。
实验中的模块我们只给出框图,其具体内容要求学生自己用电路图或Verilog HDL硬件描述语言完成。在编译调试过程中遇到困难尽量由学生根据理论所学内容自己解决,并记录在实验日志中,让教师充分了解每位学生的实验情况。另外每个模块可以设计一些障碍让学生修改,提高他们的实验兴趣。实验内容的安排遵循验证与设计相结合,注重基础,突出应用的原则。
课程严格遵循课前预习和设计(电路图和Verilog程序)、课上调试(实验日志记录)和验收、课后完成报告的实验环节。其中实验日志记录是其中一个重要的环节,它将贯穿于整个实验阶段,体现学生实际实验的情况,是学生独立实验的一项重要证明。实验日志按时间顺序主要记录:实验进行中遇到的问题及解答;回答实验教材中以及教师课堂上提出的问题。
3.5实施效果和亟待改进的问题
实验教学改革方案从2007年春季开始,已经实施了两个学期。总的来说,实施效果令人满意,主要体现在以下几个方面:
(1) 加深了学生对理论课的理解和学习兴趣。在实验课中,通过启发性地讲解实验关键点,使学生能够将理论课上学到的知识和具体的实验有机地联系起来。学生在理论课上学到的主要原理都能应用于具体的实验项目中。而具体的实验过程反过来又能加深对原理的理解和认识。两者之间相辅相成,极大地促进了学生的学习兴趣。
(2) 调动了学生学习相关知识的主观能动性。在实验课中,一方面教师只讲解关键点,这样要完成实验,学生就必须要自己去主动的查阅相关资料;另一方面实验内容设置了综合性实验和选做性实验,这些实验涉及的知识点较多,教材中给的提示相对较少,学生往往需要费一番周折,克服一些障碍,才可能完成实验。
(3) 大大减少抄袭作业的现象。以前经常出现的抄袭作业现象,由于实验日志的出现而大大减少。实验日志记录是实验完成过程的一个详细记录,是学生和教师共同完成的过程。实验日志是没有标准答案的,每个学生的实验日志也不可能雷同,因而能有效地减少抄袭的出现。
实验教学改革是一个不断深入和发展的过程。在方案的实施过程中,也发现了不少亟待改进的问题,其中如何组织好教学内容是至关重要的。一方面要在有限的课时内将理论课中的关键知识点融入到实验内容中,另一方面为了配合好先行和后续课程的教学内容,还要将一些新的知识点和实验内容融入进来。这样如何在不增加学时的前提下,将这两部分内容更加有机的组织起来是日后必须要解决的问题。
4结束语
“计算机组成原理”课程设计的教学改革经过两学期的实践摸索,已基本明确了今后进一步展开深入教学改革的方向和目标。下一步将根据规划好的改革方案,继续实施各项改革内容,朝着预期目标迈进。
相信在对课程进行了上述改革后,必将极大地调动学生的学习积极性,启发他们的学习兴趣,为培养出基础知识扎实,具有创新意识,善于自主学习,实践能力较强的计算机高级专门人才奠定基础。
科学技术不断发展,计算机技术更是日新月异。因此,“计算机组成原理”实验课程的教学方式、方法也需不断更新变化。改革是一个持续不断的过程,需要我们不断地研究与探索。
参考文献:
[1] David A. Patterons,John L. Hennesy. Computer Organization&Design[M]. America: Morgan Kaufmann,2004.
[2] 郑文斌,陈晓竹,刘砚秋.“计算机组成原理”课程教学改革探索[J]. 计算机教育,2007(6).
[3] 谢俐,杨乐,杨鲁. 引入建构主义思想实行计算机公共基础课程实践教学改革[J]. 科技创新导报,2008(8).
计算机组成原理基本知识范文3
摘 要:本文介绍了笔者自己在“计算机组成原理实验”研究性教学实施过程中的体会,同时总结经验,改进不足,以便逐步完善和推广研究性实验教学。
关键词:计算机组成原理;研究性教学;创新人才
中图分类号:G642 文献标识码:B
研究性教学是教师以课程内容和学生的实际知识架构为基础,以转变学生的学习方式为目的,使其由要我学,变为我要学,从而引导学生自主地发现问题、研究问题和解决问题。在此过程中使其积累知识并强调一种主动探索和创新实践的精神,着眼于传授给学生终身受用的学习能力。但是,开展研究型教学受办学条件、生源质量、师资水平、考核改革、院校政策、教师待遇等诸多条件的影响,不同院校、院系、专业、课程、年级的差异往往较大。因此,如何从学生实际出发,以学生为本,依据课程特点开展研究性教学,提高教学质量,让每个学生都有所收获,是我们高校教师值得探索的问题。
本期学校首次举行了研究性教学比赛,比赛程序是首先参赛教师上报教学实施方案;方案通过后经学校督导团教师现场听课4次;学生填写调查表;召开学生座谈会听取学生的反馈意见;召开教师座谈会,参赛教师进行汇报总结;最后,督导团教师汇总经综合评定给出结果。笔者是全校22名参赛教师中唯一上实验课的,经过一个学期的努力,所上的“计算机组成原理实验”课获得了督导团和学生的好评,排名第一。下面笔者从6个方面谈谈自己的体会,借此机会与教师们共同探讨研究性教学的实施;同时总结经验,逐步完善和推广研究性教学,让更多的学生受益。
1 “计算机组成原理实验”研究性教学的实施体会
(1) 课前准备充足,制定详尽的教学方案
研究性教学的重要特征是改变学习方法,使学生由被动学变为主动学。它更多注重的是教学的组织。因此教师在开课之前必须做好充分准备,考虑教学的各个环节,制定详尽的教学组织方案。
计算机组成原理是一门专业基础课,在计算机整个课程体系中起着举足轻重的作用。具有知识面广、内容多、抽象、枯燥、难理解等特点,而我们开设的计算机组成原理实验课就是针对这些来帮助学生解决问题的。我们要达到的教学目标是通过本期实验使学生掌握以下技能:理解CPU的组成及各组成部分的工作原理,牢固建立整机概念;CPU的设计调试方法;EDA工具软件的使用;软件仿真的技能;文档资料的总结及论文的写作技能。
依据教学目标,开课前我们制定了详尽的教学方案并建立了相应文档资料库,内容包括:教学大纲、课程运行图、实验项目一览表、课表、实验组织管理办法、考核方式、各模块的讲稿(部分含FLASH演示案例、PPT等)、实验中学生遇到的问题(暂时空,每次实验时及时记录并整理)、每次实验总结(暂时空,每个实验完后及时总结)、测试安排、学生反馈意见调查表(全部实验完后学生填写,从中听取学生意见,以便下次改进)、教学总结(课程完后及时总结)。有句话说得好:“不打无准备的仗。”只有准备充分了,我们才有可能上好一门课,特别是实验课。
(2) 改变传统实验方法,自主研发实验设备,开发实验项目,自编教材
实验方法的研究是研究性教学的一个重要部分,实验教师应在实验教学过程中不断探索,要及时把最新技术传授给学生。先进的实验方法能吸引学生,使学生紧跟时代步伐,掌握最新知识。在计算机组成原理实验教学中,传统的方法是利用已经全部做好的CPU各个组成部件的计算机模型实验系统来实验的。学生只需按要求连线,拨动开关就能完成实验。这种实验方法使得很多学生对实验过程不求甚解,只求结果,缺乏对实验的主动思考的能力,这样做实验无法达到我们的预期教学目标。
随着EDA技术的发展,传统实验方法必须改进。是否可以通过数字电路实验、计算机组成原理实验等基础硬件实验让学生掌握最新的技术呢?基于以上考虑,我们研制并动手制作了DDA-I型实验箱,并开发了相关实验项目,编写并出版了教材。自己研制的实验箱是依据课程实验的要求而设计的,简单明了,只需花几分钟的时间就能让学生掌握它的使用方法,实验的开设具有自己的特色,能吸引学生,设备维护也简单方便,总体来说能达到我们的教学目标。
(3) 实验内容安排及对学生的要求体现层次性,给通才定规则,给天才留空间
研究性教学应强调对于不同层次的学生提出不同的要求,也就是说给通才定规则,给天才留空间。在教学过程中,我们会在第一次的课堂上把实验课的相关事宜(内容、组织方法、要求、考核等)告之学生。对于教学内容要求学生分为三个层次掌握:一般基本要求,较高要求,以及更高要求。其中基本要求是让学生掌握一个简单的模型机的工作原理及设计;较高要求是实现教材中给定的模型机,并在此基础上有所改进(如增加指令等);更高要求是用多种方法实现并改进模型机的功能。我们会鼓励学生提前完成基本内容并依据自己能力实现较高要求或更高要求,并对于这些同学有相应鼓励机制(免测试、最后实验成绩加分、推荐参加SIT、竞赛等),以此带动全班同学对该门实验课程学习的气氛。这样的安排,能让各层次的学生依据各自的兴趣与能力完成实验,让每个学生都有成就感,树立学生的信心,激发他们的学习兴趣。
(4) 改变教学观念,坚持“以教师为主导,学生为主体”的原则
研究性教学强调学生在掌握基本知识的同时,要挖掘其研究与创新的潜力。教师作为引导者应尊重学生,精心发现学生的潜在能力。要做到这一点,教师要充分了解每个班的每位学生。可以通过多接触、多谈心、多融洽的方式了解学生的兴趣,学习习惯,接受能力,理解水平,个别差异,弄清每个班的整体差异和特点,然后才能“以学论教”和“因材施教”。例如针对不同层次的班有不同的教学方法,对不同学生准备不同问题等。这样才能让学生对你有信任感,并让学生从思想上认识到努力学习的重要性,从而引导他们立足于为自身的发展而学,使其从要我学,变为我要学。
本期上了3个班的课,学生层次有很大差别。其中一个班是成教生。成教生普遍基础较差,学习态度也不是很认真。对待这样的学生一定要有耐心,适当把要求降低。特别是第一次的实验不能太难,在教师的指导下大多数同学应能做出来,并让做出来的学生充当小老师去指导其他学生。这样,对前者是鼓励而对后者来说也不会有畏惧感。完成实验后教师要及时表扬学生,让每位同学都有成就感,认为自己还行,不是太差,这样他们就会对以后的实验产生兴趣,以便我们能顺利指导他们完成以后的实验,达到教学目的。另外2个班是计算机通信专业的本科生,而通1班(19名同学选修此课)学习积极性高,每次实验总有6、7位同学能提前验收。对这些学生,我们在课堂上及时表扬,并要求他们最后的模型机实验中机器指令集要改,而且要用不同的方法实现。及时的表扬以及对他们提出的更高要求更加激励了他们的学习兴趣,课余时间经常见他们泡在实验室,有时忘记了吃饭。在他们的带动下,全班同学你追我赶,学习气氛相当浓厚。最后实验中班上大多数同学达到较高要求,全班三分之一的同学用两种或两种以上的方法实现了CPU。这次教学给我感触很深,学生的潜力是相当大的,看我们教师怎样去挖掘,用心去教总会让你很感动。
总之,教学中坚持以“教师为主导,学生为主体”的原则,通过研究性教学,提高学生独立获取知识的能力,为以后的学习和发展奠定基础。在此过程中,作为教师应鼓励学生通过不断体味、不断探索,从而获取新知识,培养科学研究的精神。
(5) 教学过程的摸索,推行开放与半开放相结合的教学模式
开展研究性教学的目的就是要提高教学质量,让更多的学生收获更多。如何达到目标这需要每位教师在自己的教学中主动摸索,积累经验,找出最有效、最适用的方法。依据“计算机组成原理实验”课程的教学目的以及该课程的特点我们采用了半开放的实验教学模式:课堂上教师只是启发性的讲解组成CPU的各模快的工作原理,其余部分全部由学生独立完成,实验过程中要求他们把自己实验过程中遇到的问题以及对这些问题的思考、解决方法及时记录在实验日志中,培养学生自主的发现问题、独立思考、独立研究的习惯。学生每人一组独立实验并根据自己的实际能力除在规定的上课时间内完成必做的14个实验项目外,还有9个实验项目可供选做,完成选做项目者可适当加分。实验室全天开放,学生除上课时间外可自由来实验室做实验。任课教师除上课时间外,每周还安排了多次答疑时间。
实验中的模块我们只给出框图,其具体内容要求自己用电路图或VHDL硬件描述语言完成。另外,学生也可以完全抛开所给的框图全部重新设计。在编译调试过程中遇到困难尽量由学生根据所学理论知识自己解决,并记录在实验日志中,让教师充分了解每位学生的实验情况。在每个模块部分我们还安排了障碍让学生修改,提高他们的实验兴趣。实验内容的安排遵循验证与设计相结合、注重基础、突出应用的原则。实验严格遵循课前预习、课堂训练、课后准备、实验调试(实验日志记录)、验收、测试的实验环节。做到课上课下相结合,切实培养学生的实践能力。
在教学实际操作过程中,学生实验技能和动手能力的差异较大,我们的宗旨是让所有同学通过实验课程的学习,各自的实践与动手能力都有所提高。不能只注重对好学生的培养,还应注重学习接受能力差一点的学生,半开放式的实验教学模式能顾及到各个层面的学生。课堂上我们针对多数同学讲解基本知识要点,要求多数学生完成指定任务。接受能力差一点的学生可在课余时间内来实验室,老师会耐心给予个别辅导,使他们能够完成实验任务,这样也会有成就感,树立自信心。对于优秀学生,课余时间也可以来实验室,教师会给他们提供一个最大限度的能力发挥空间,对学生提出更高的设计要求,并在考核中给予适当加分以资鼓励,增进实验兴趣。
(6) 依据教学目的,制定多元化的考核方式
考核是检查和评价教学质量的重要手段,采取何种考核方式是研究性教学的一个重要组成部分。相对理论教学,实验课的评价有其特殊性。对实验成绩的考核,单纯的操作考试与单纯的笔试(口试)都有其片面性。前者尽管能直接检测学生的实际操作能力,但毕竟考试时只能涉及到一个实验内容,考核评分很难把握,主观因素不可避免;后者考试内容虽然广泛,但有可能导致学生死记硬背实验原理及相关内容,达不到实验目的。因此,为了对教学质量和学生成绩有一个真实的评价,我们要因课制宜,依据不同实验课程的特点以及我们的教学目的制定多元化的综合考核方式。
“计算机组成原理实验”的成绩评定贯穿于课程开始直至课程结束全过程,每个环节我们都有跟踪记录。考核成绩由每个实验项目的课堂训练(电路的软件设计及仿真)、硬件调试、实验文档(预习报告、实验日志、实验报告)、平时开放时间的实验情况和两次测试等部分组成。具体如下:
① 实验总成绩(100%)=平时成绩1{实践操作总成绩(综合考查课堂训练+实验操作验收,含验收时的答辩)40%}+平时成绩2{预习报告总成绩10%+实验日志及实验报告总成绩30%}+测试成绩(20%)
其中实践操作总成绩、预习报告总成绩、实验日志及报告总成绩(下全简写为总成绩)计算公式如下:
总成绩= 第I次实验成绩=
说明:
:占实验总成绩的比。即“实验验收操作总成绩”为40%;“预习报告总成绩”为10%;“实验日志总成绩”为30%。
:第I次实验比重(百分比)。即:
:第I次实验成绩(百分制)。ABCD等级制需要折算成百分制。
实验考核表格中的项目设置:
课堂训练、实验验收:等级法表示,例:A等=0.9, B等=0.8,C等=0.7, D等=0.6。
预习报告、实验日志及实验报告、测试成绩:百分制。
每次实验完,我们及时将跟踪记录的各项成绩登陆到下表,图1为一个实验项目的实验成绩,各模块实验以及测试结束后得出学生最终成绩,图2为最后的总成绩:
图1
图2
② 文档资料的总结以及论文写作能力的培养是我们的教学目的之一。引导学生重视写好报告,训练学生掌握论文、研究报告和写作要求,使得总结材料具有条理性和科学逻辑性。为了达到目标,我们提高了实验文档资料整理在考核中所占比例,由原来的30%提升为40%,并采用任务驱动式教学,培养学生分析问题、解决问题的能力。具体措施是“预习―日志―报告”三环相接。
实验预习是实验顺利完成的前提条件,我们要求学生的预习工作包括实验原理部分的叙述,要求用自己的语言简要说明原理知识的关键点,学生必须多花时间认真思考,才能对书本上的知识点进行加工处理,写出简明扼要的原理说明。
实验日志是我们实行的新举措。记实验日志能很好地反映实验的全过程,对学生顺利完成设计任务起了很大的作用,对提高分析和解决问题的能力也很有帮助。在调试中,不断地回头动手找原因并把这一过程记录下来,不仅培养了同学的耐心和相互之间的沟通能力,也培养了他们严谨、细致、坚持不懈的科学态度和良好的科研习惯。我们要求学生按时间顺序主要记录:实验进行中(包括课上与课后)发现的问题、遇到的问题、解决方法(必做);回答实验教材中以及教师课堂上提出的思考题(必做);学生由实验中的某部分引申开去,结合背景知识提出的一些看法(选做,老师视情况给予加分);最后是实验感受和体会(必做)。实验日志是实验成功的咽喉,它将贯穿于整个实验阶段,体现学生实际实验的情况,是学生独立实验的一项重要证明。我们要求学生认真对待,并给出手写稿。这样,一方面,学生课内课外动手做实验,就会主动去发现问题,主动去解决问题,并经过思考,及时记录下来,有利于实验特别是大型设计的顺利完成。这一举措吸引了学生主动走入实验室,并带动了同学之间相互讨论问题的浓厚的学习气氛。另一方面,也让教师更多地了解每位同学的真实的实验情况,给出更加真实的考核成绩。
③ 实验测试的安排是为了督促并让全体同学都能掌握基本知识点与基本技能。其中一次测试安排在综合性实验项目微程序控制器中,要求学生写出实验中每条微指令的代码,因为代码如何形成是本次也是整个CPU实验的关键。第二次实验测试是一个综合性的测试,安排在最后的模型机实验中,具体要求如下:对每位同学给出不同的题目,学生必须依据所给题目稍稍修改电路、编写测试程序、最后下载到实验箱调试出正确的结果,演示并附加说明讲解给教师听。这种方式的测试大大减少了学生之间抄袭实验的恶习。其中对于每位同学所给的不同题目是题库自动生成的,而题库的设计者则是上届实验做得好的并推荐进行SIT计划的同学。本期实验测试正式启用,效果良好,减轻了教师出题的负担,提高了效率。
④ 对于能提前完成规定实验项目或能完成较高要求、更高要求实验内容,以及有一定创新思想的学生,给予适当加分或免实验测试等鼓励措施,并以实验综合成绩作为课程学成绩。
由于“计算机组成原理实验”的实验项目环环相扣,外加严格的实验考核,引起学生对实验的重视,前面没做好会影响到后面的实验效果。多元化的考核方式使得学生的学习由被动变主动,同时学生的实践能力得到良好的培训和锻炼,综合素质和创新精神也有很大提高。
2 总结与改进
课程结束后,我们分发了问卷调查表,书面征求学生们的建议和想法。学生普遍认为这门实验课的内容安排由浅入深、系统性较强、各模块环环相扣,使得初学者能够
一步一步在清晰的思路下完成,同时又能吸引他们继续深入,最终完成CPU的设计与实现。当他们看到每一步指令的执行结果在数码管上显示出来时,那种喜悦的心情无法用言语表达。有位学生在他的实验报告中写过这样的体会:计算机组成原理实验是我进大学后做过的“最痛苦”、“最耗时”、“最快乐”、“最难忘”的实验。实验中我们采用的“预习―日志―报告”三环相接的方法以及手写日志、报告及实验测试方法便于让学生对实验理解得更加透彻,很大程度上减少了实验抄袭现象,实验室的开放又极大地方便了同学细心钻研实验内容。很多学生反映这门课的实验方法锻炼了独立思考的能力,使他们能够自主地查找资料进行实验,特别是教师先让他们尝试如何设计实验,最后才为他们讲解。这种实验的方法是值得肯定的,大学正是要培养这种自主学习、独立思考的能力。
通过问卷调查,我们也发现了不足之处,下面对此进行总结,希望以后的教学中能有所改进。
① 排课时间安排不合理:本期由于计算机通信专业实验课程较多,实验课因为是三节连上,部分班级只能安排在早上7:30-9:40,导致迟到现象常有发生;而排在中午的课12:50-15:10,学生和教师的精神都不是很好,特别是夏天;
② 有部分学生反映写报告花的时间太多;这个问题我们考虑过,鉴于计算机组成原理实验实际上是完成一个大型的CPU设计实验,它的系统性、连贯性较强,因此决定下期实验报告要求学生子模块报告可简化,即省略目的、实验器材等,原理部分用语言简单总结即可,步骤可浓缩在波形仿真说明中。最后的模型机调试实验再要求学生写份完整的报告。实验日志部分不能缺少,这样可以适当减轻学生负担。
③ 由于学院改革,部分理论课程的相关课程实验安排在实验室上,占用了较多实验室资源,使得开放的时间相对少了些。针对这个问题,实验室正在开发预约系统,希望系统运行时能有效利用实验室资源。
④ 近期实验室又研制了DDA-III型实验箱,准备新安装QUARTUS软件。下期计算机组成原理实验课准备让部分学生用新软件和新实验箱完成实验,让他们掌握更多的知识。
3 结束语
研究性教学的开展促使教师主动去探索并关注教学的各个环节,更重要的是改变了传统的教学理念。实践教育的一个非常重要的特征是学生积极主动地学习,教师传授给学生的是方法,是终身受用的学习能力。我们还将继续对计算机组成原理实验的研究性教学以及它的“软件、硬件”进行进一步探索,和广大的教师、学生一起共同探讨,完善和推广研究性教学,提高教学质量,让学生收获更多。
参考文献
[1] 方恺晴.关于提升“计算机组成原理实验”课程教学质量的探讨[J].实验室研究与探索,2008,(3):97-100.
计算机组成原理基本知识范文4
关键词:系统观;能力培养;教学改革;计算机系统
从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.
计算机组成原理基本知识范文5
关键词:课程体系:核心课程;核心知识体系
计算机科学与技术学科虽然很年轻,但它已经成为一个基础技术学科,在科学研究、生产、生活等方面都占有重要地位。近50年来,我国的计算机科学与技术专业教育在国家建设需求的推动下,从无到有,逐渐壮大,尤其是从20世纪90年代以来,更是高速发展,已经成为理工科第一大专业。
针对计算机科学与技术专业学生量大,社会需求面宽的现实,“十五”期间,教育部高等学校计算机科学与技术教学指导委员会编制了《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》(高等教育出版社出版,2006年9月第一版,以下简称为《规范》)。其中,“战略研究报告”建议改变当前我国计算机科学与技术专业教育的趋同性,鼓励办学单位对毕业生的分类培养,取4个可能的方向,即计算机科学、计算机工程、软件工程以及信息技术。《规范》参照Computing Curricula 2005,分别详细给出了四个方向的核心知识体系,以及覆盖它们的必修课程组示例。
《规范》体现出的“分类培养”精神得到了广泛认同,人们普遍认为中国800个左右的计算机科学与技术本科专业点,按同一种模式或者培养方案进行教学是难以满足广泛的社会需求的,许多学校也希望得到分类培养的具体指导。但是,如何理解和实现“信息技术”等新的专业方向的教育,如何利用已有的基础,更好地实践《规范》,成为大家关注的问题。
为了能更好地利用现已建成的国家、省部级精品课程、精品教材等优质资源,希望能够按照4个专业方向公共要求来构建一些基本课程,每一个方向都可以通过在这一组课程的基础上进行扩展来形成符合《规范》的完整的专业方向教学计划。这一组课程是“耳熟能详”的,无论是从师资还是教材的角度,在开始走向规格分类实践时,也是一种现实做法。
一、核心课程选取的原则
本项研究的基本目的是要推荐一组课程,当办学单位希望按照《规范》描述的知识结构制定自己的教学计划时,无论四个方向中的哪一个,都能够比较方便地在这组课程的基础上进行扩充而实现。显然,符合这个要求的一组课程不是惟一的,我们着重考虑了如下几点原则。
1.体现公共要求
《规范》将计算机科学与技术专业划分成4个专业方向,虽然他们有着不同的问题空间、能力要求、知识结构和课程体系,但还是有共性的部分,这也是作为同一个专业的不同方向所决定的。公共核心课程应该能够将这些公共的要求涵盖进去,实现在课程层面上对公共知识体系、专业培养公共要求和基本特征的体现。
2.有利于构成优化的课程体系
公共核心课程需要与其他相关课程一起才能构成完整的教学计划,所以,这些课程需要易于与相关课程结合,构成不同专业方向的课程体系。
同时我们注意到,近些年来,许多学校在制定新的教学计划中,采用了设置分级平台的基本框架。例如,要求教学计划由公共基础、学科基础、专业基础等组成。考虑到计算机科学与技术专业对应到计算机科学与技术学科,这些课程可以适当照顾到学科的要求,构成一个既照顾到学科,又照顾到专业的基础平台,给人们制定有特色的教学计划提供一定的基础,使得人们能够方便地构建完整的、全局优化的专业教育课程体系。
3.充分考虑学时的限制
由于公共核心课程相当于学科、专业平台的基本内容,所以,只能做一个较小集合,而且课程的学时数要尽可能小,目标在于体现专业教育的最基础要求,同时给具有特色的完整的教学计划的制定留有足够的空间。特别是近些年来,不少学校已经将教学的总学时数降到2500学时以下。所以按照20%计算,将公共核心课程的总学时控制在500学时以内。
4.尽可能成熟的课程
计算机科学与技术专业开办50余年来,积累了丰富的办学经验,一些课程的建设取得了很好的成果,已经具备良好的基础,这些课程将在专业教育中起到核心、骨干作用,将这些课程进行适当改造后构成公共核心课程,有利于充分利用已有的优质资源,迅速提高整体办学水平。所以选取的课程应该是“耳熟能详”的成熟课程。
5.体现本专业教育基本特征
课程要体现学科教育的一些基本特点。例如,虽然计算机科学与技术学科涉及到计算机理、工程实现和开发利用,但对大多数人来说,计算机科学与技术学科是一个以技术为主的学科,特别是在本科教育层面上更是如此。所以课程要对技术和学生的技能训练有较好的体现。除了学科抽象、理论两大形态使得初学者在理解上有一定的困难,需要通过实践去深入体会外,还要考虑社会要求本专业的学生能够更好地去实现一些系统的研究、构建和维护。因此,选择的课程应该在加强学生理论联系实际能力的培养上有引领作用。此外,在本学科发展异常快速的时候,这些课程相关的内容应该是成熟的、基础的,有利于学生可持续发展能力培养的。
二、核心知识体系
这里给出计算机科学与技术专业公共核心知识体系,力求从不同专业方向的公共需求出发,给出该专业的学生应该具备的一些基本知识,我们并不试图包括各个专业方向教育要求的全部知识,每个专业方向都需要在此基础上按照专业方向的教育需要增加所需要的知识,以构成完整的专业方向知识体系,其具体内容可以参考《规范》。由于是基本知识,是学生必须掌握的,所以,没有包含推荐的选修知识。该知识体系共包括8个知识领域,39个知识单元,共342个核心学时。其中,
(1)离散结构(DS)60核心学时,包括函数、关系与集合、基本逻辑、证明技巧、图与树。
(2)程序设计基础(PF)67核心学时,包括程序基本结构、算法与问题求解、基本数据结构、递归、事件驱动程序设计。
(3)算法(AL)28核心学时,包括基本算法和分布式。算法。
(4)计算机体系结构与组织(AR)60核心学时,包括数据的机器级表示、汇编级机器组织、存储系统组织和结构、接口和通信、功能组织。
(5)操作系统(OS)32核心学时,包括操作系统概述、操作系统原理、并发性、调度与分派、内存管理、设备管理、安全与保护、文件系统。
(6)网络及其计算(NC)48核心学时,包括网络及其计算介绍、通信与网络、网络安全、客户,服务器计算举例、构建Web应用、网络管理。
(7)程序设计语言(PL)13核心学时,包括程序设计
语言概论和面向对象程序设计。
(8)信息管理(IM)34核心学时,包括信息模型与信息系统、数据库系统、数据建模、关系数据库、数据库查询语言、关系数据库设计、事务处理、分布式数据库。
按照各个方向核心知识结构的要求,公共核心知识体系覆盖计算机科学341核心学时的内容,覆盖率为60.9%,覆盖计算机工程246核心学时的内容,覆盖率为44.7%:覆盖软件工程199核心学时的内容,覆盖率为40.3%覆盖信息技术136个核心学时,覆盖率为48.4%。
三、核心课程
公共核心课程共包括程序设计、离散数学、数据结构、计算机组成、计算机网络、操作系统、数据库系统等7门,这些课程的名称都采用了尽量一般化的处理,即后面没有诸如“基础”,“原理”或者“技术”之类的字样,为学校开设具体课程留有空间,学校可以根据自己课程的特点添上适当的限定,进一步体现自己的办学特色。
表1给出了各门课程所含的必修知识单元和所需要的学时数,和各个学校相应课程的实际教学时数相比,其中有的课程必修学时数多一点,有的少一点。所需要的总课时为448。希望各个学校在满足教学基本要求的前提下,根据本校的具体情况,做出适当的调整,可以通过强调某些内容来体现自己的特色。
四、专业方向必修课程示例
按照各个专业方向必修知识体系的要求,以7门公共核心课程为基础,构建相应方向的必修课程。特别需要强调的是,这里给出的仍然只是“示例”,各个办学单位可以根据自己的情况设计出更具特色的必修课程,并制定出恰当的教学计划。
计算机科学专业方向的必修课程示例:计算机导论、程序设计基础、离散结构、算法与数据结构、计算机组成基础、计算机体系结构、操作系统、数据库系统原理、编译原理、软件工程、计算机图形学、计算机网络、人工智能、数字逻辑、社会与职业道德。15门课程共计776学时。
计算机工程专业方向的必修课程示例:计算机导论、离散数学、程序设计基础、数据结构、电路与系统、模拟电子技术、数字信号处理、数字逻辑、计算机组成原理、计算机体系结构、操作系统、计算机网络、嵌入式系统、软件工程、数据库系统、社会与职业道德。16门课程共计理论学时920学时。
软件工程方向必修课程示例:软件工程专业导论、程序设计、面向对象方法学、数据结构和算法、离散数学、计算机组成、操作系统、计算机网络、数据库、工程经济学、软件工程、软件代码开发技术、人机交互的软件工程方法、软件设计与体系结构、软件质量保证与测试、软件需求分析、软件项目管理。16门课程共计920学时。
信息技术方向必修课程示例:信息技术导论、离散数学、程序设计、数据结构、计算机组成、计算机网络、操作系统、软件工程、数据库系统、应用集成原理与工具、Web系统与技术、人机交互、面向对象方法、信息保障和安全、信息系统工程与实践、系统管理与维护、社会与职业道德。17门课程总计920学时。
五、结语
《规范》将“核心知识结构”作为开办相应专业方向必须的要求,可以用不同的课程组合来覆盖,《规范》中给出的“核心课程”只是这种覆盖的一个“示例”,这里给出的是另一个“示例”。事实上,这也是《规范》所鼓励的。这里的“公共核心课程”并不是《规范》中四个“核心课程”集合的简单交集,而是根据对四个方向的理解,对它们公共核心知识单元的一个课程覆盖。是每个专业方向公共的必修课程,而不是任何一个方向完整的必修课程集合。
计算机组成原理基本知识范文6
关键词:计算思维;计算机硬件课程;教学模式
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)13-0125-03
Abstract: The cultivation of college students' computational thinking ability is the consensus of the computer education in colleges and universities. A method to improve the teaching mode of computer hardware courses is put forward by combining with the basic principles of computational thinking and analyzing the existing problems in the teaching mode of computer hardware courses, which provides a new way for the teaching reform of computer hardware courses.
Key words: Computational Thinking; Computer Hardware Course; Teaching Mode
1 引言
随着计算机科学与技术的发展,不同的高校开设计算机专业的课程有很大的差异,因而许多高校教师面临一些困惑。如,快速发展的计算机技术,使专业课程教学内容面临取舍问题、教学内容选择问题、学时数问题、教学与实践的学时分配问题等。2006年周以真[1]提出了“计算思维”的概念,给国内外教育工作者指明了计算机教育的目标是培养学生的计算思维能力。随后计算思维在国内外计算机界引起广泛关注,计算思维迅速成为了计算机教育研究的重要问题[2-5]。2011年四川师范大学的牟琴和谭良[6]对计算思维的研究情况做了较为详细的阐述和总结,并进一步提出展望。总体看来,教育工作者们对计算思维的理解不尽相同,甚至差别较大,但普遍认为计算机教育的核心任务是培养学生的计算思维能力,是业已形成的共识[7]。然而如何将这种共识变成完整的行之有效的方法体系,仍然需要继续探讨和坚持不懈的实践。
面对大学计算机专业的“知识空间”,战德臣、聂兰顺[8]从宏观上提出了“计算之树”描述计算技术和计算系统,并给出了一个大学计算机课程改革方案。朱亚宗[9]提出了计算思维的基本原理,包括三点:一是可计算性原理,二是形理算一体原理,三是机算设计原理。我们认为这至少从计算机的产生过程方面对计算思维的基本原理有了较为深刻的理解。本文试图结合文献[9]的计算思维的基本原理,根据计算机硬件课程的特点,提出计算机硬件课程教学改革的模式。
2 计算思维的基本原理
2.1 可计算性原理的核心是递归
计算在人类社会发展中是必不可少的工具。不过,人们一直较为直观认为:计算就是按照预定的规则,将一些原始数据变换成另一些需要的数据的处理过程。那么,按照确定的规则,将给定类型问题中的任何具体问题在有限步内完成求解,便称为这类问题是可计算的。但进入20世纪,人们发现很多问题找不到算法,例如:半群的字的问题,希尔伯特第10问题等。这时人们反思,尽管通过构造出的方法能够解决一些问题,但对计算的理解依然不明确。
美国数学家Kurt Godel于1934年提出了一般递归函数的概念,并给出了重要论断:凡算法可计算的函数都是一般递归函数,反之亦然。1936年,著名的“丘奇论点”指出算法可计算函数等同于一般递归函数或λ可定义函数。就这样,经历数学教们的努力,可计算函数有了严格数学定义,但对具体的某一步运算,选用什么初始函数和基本运算仍有不确定性。为此,Turing在“论可计算数及其在判定问题中的应用”一文中,全面分析了人的计算过程,把计算归结为最简单、最基本、最确定的操作动作,并使任何机械的程序都可以归约为这些操作动作。这种方法以一种“自动机”为基础,算法可计算函数即是这种自动机能计算的函数。后来人们将这种“自动机”称为“图灵机”。
因此,“递归”的思维是可计算性原理的核心。采用一个或多个前导元素运算后续元素,从而实现求解一系列元素。周以真教授也指出递归是计算机技术的典型特征,递归使无限的功能在有限步骤内可以描述或运行。
2.2 物理机制与计算方法对应是形理算一体关键
数学能够充分地表达各种物理规律,对物理规律有明确表达,但是同一物理规律可能有多种数学表达方法,如我们在笛卡尔坐标和极坐标下描述椭圆,就可以形成不同的表达式,这样在计算上就不等效。因此,要使数学物理的离散计算步骤完全可以上溯到形象思维层次的物理模型,计算思维必须与形象思维及抽象思维融合为一体。
2.3 机算设计原理的根本是“0-1”和“程序”思维
电子计算机的基本模型应该是计算思维的根基。众所周知,计算机的根本特征是程序存储和程序的自动执行。冯・诺依曼提出的计算机的基本机构为:计算器、逻辑控制装置、存储器、输入和输出5个构成部分,并确定了采用二进制和存储程序,自动执行指令,这样就充分利用了逻辑学家和电子工程师的智慧。因此,计算机的基础原理离不开“0-1”思维和“程序”思维。计算机的硬件电路由晶体管等元器件实现,再进一步组合形成逻辑门电路,然后再构造复杂的电路,从而实现计算机的复杂功能。正是硬件能够存储和执行逻辑值,0和1就是逻辑值的符号,通过0和1,把所有的操作或处理都符号化为0-1序列。这就是“0-1”思维。计算机的各种复杂的操作都是由基本操作构成的,实现系统仅仅需要若干基本操作进行组合,形成基本动作的次序,也就是程序,即是“程序”思维。
3 计算机硬件课程教学模式存在的问题
计算机硬件课程主要由模拟电子技术、数字逻辑、计算机组成原理、微机原理与接口技术、计算机体系结构、嵌入式系统6门课程。这些是计算机专业课程的重要部分,多数院校都对这些课程比较重视,但大多数学生都反映对硬件知识掌握不牢,动手实践能力不强,几乎不能理解简单硬件系统的原理,更谈不上硬件系统的分析与设计等等问题。导致这一结果的原因与教学模式有很重要的关系。
3.1 课堂教学内容无新意,难激发学生的学习兴趣
如果计算机硬件课程仅仅按照教材的组织授课,整个知识的过程是填鸭式,一灌到底,最终只能是知识堆积,给学生感到内容繁杂,难以理解,学生会渐渐失去学习兴趣。
3.2 强调理论知识,不重视实践训练,难提升思维方式
很多院校对课时量压缩,教学内容大大减少,教师在课堂上只讲解基本原理,使学生的系统分析和设计能力较弱。另外,实验课内容以验证型居多,致使学生对各个知识点的联系不清楚,缺乏独立解决问题的能力,难以建立连续的、渐进的设计思想和提升计算思维能力。
4 新型教学模式构建
结合目前计算机硬件教学上存在的问题,我们希望通过具体教学模式改革,使学生在潜移默化中将计算思维能力融入到个人解决问题的备选思考方式库中。经过四年的熏陶,会主动甚至无意中运用计算思维去解决实际问题。为此,进行如下改革。
4.1 优化教学内容组织
以计算思维为指导,保持原有的教学内容,挖掘知识模块之间的联系,重新组织和优化教学内容,理出教学内容的知识体系,找出知识脉络。这里给出模块化和系统化的教学内容组织方式。
模块化,一些具有计算思维特征的教学内容可设为知识模块。如,“0-1”模块、“存储程序”模块、并行模块、递归模块等。数字逻辑的逻辑部分和计算机组成原理的数据表示方法等内容设为“0-1”模块,数字逻辑的存储电路部分、计算机组成原理的多层次存期器系统、指令系统和微机原理与接口技术的存储器部分可视为“存储程序”模块等。同时,内容组织可以与社会环境中场景类比,使学生由浅入深地理解计算思维,丰富其联想能力,促进学生形成复合型思维。
系统化,以项目驱动的方式组织系统化的教学内容,帮助学生建立知识模块之间的联系,提高学生对计算技术与计算系统的宏观认识和理解。由项目的问题为导向,逐步探寻知识结论的思维轨迹和模式,改变陈旧的教学内容呈现型教学模式,以培养学生的思维过程为重点,加强教学深度,达到训练计算思维的目的。譬如:在讲授数字逻辑课程中,以设计一个复杂数字系统为例,为完成给定的系统,首先需要进行系统总体功能分析设计和各个部件的设计,然后分析数制与码制、逻辑门、逻辑电路设计及优化等相关主题,最后再总结归纳设计思想。
4.2 改进教学方法
教学模式改革,不仅是教学内容的优化和更新,更重要的是采用怎样的方法来实现教学目标,即是教学方法上改革。下面是我们已经过在实践应用的两种教学方法。
4.2.1 加强学生自主探究学习能力
当今,计算机网络的发展和普及,网络上的学习资源已经相当丰富,大学生有能力利用网络资源,学习并理解一部分知识。同时,翻转课堂教学是当前较好的教学方法,高校教师也应当合理地借鉴,将其融入自主探究式学习中。首先让学生提前在网络上学习一些课前的基本知识,在课堂教学中不再重复学生可以方便获取、自学的东西,多留出时间让师生交流。这样,一方面,教师可以充分发挥学生的自学能力,让学生自主完成部分学习任务;另一方面,教师可以通过课堂师生交流,使学生掌握知识的全面性和系统性,引导学生形成计算思维能力。
4.2.2 促进实验课程教学改革
当今的教育理念都倡导学生做课堂的主人,充分给学生动脑和动手机会,让他们主动获取知识;而教师的作用主要是引导学生发挥主观能动性,加强学生的实践能力,帮助学生梳理知识结构,提升学生计算思维能力。为此,对实验教学方法进行如下改革:
⑴实验进课堂。计算机硬件课程的共性是实践性强,如果单纯地以理论课的形式授课,学生会感到抽象,无法完全理解。如果能将验证性实验在课堂上演示(如:计算机组成原理的存储器实验、微机原理与接口技术的定时器、数码管显示实验等),不仅解决了学生的疑问,还活跃了课堂气氛。
⑵实验平台自行设计。目前,多数院校采用购置的实验仪安排实验内容,且安排相对固定,学生只需要插入少数连线,就可以将实验做完。这样,教师无法灵活安排实验内容,难以提高学生的实践能力,更谈不上系统掌握知识,提高思维能力。为此,购买一些最小系统开发板,自制实验平台具有较多好处。一是,可以选择最适合本校学生的软硬件资源,编制难度适中的实验内容;二是,有利于锻炼教师能力,改善教师专业素质,自制实验平台以教师主导,学生参与,共同提高;三是,成本低,功能全;四是,方便维护,改变实验仪维护周期长的问题。
4.3 改进综合评价体系
考核是评估教学目标完成程度的一种手段。通常,大学计算机课程的评价体系由平时成绩和期末成绩两部分组成。平时成绩是学生课堂出缺勤情况,占30%,而期末成绩则以测试记忆性的知识考核为主,占70%。但是,在计算机硬件课程中,这样的评价体系不仅不能全面反映学生对课程知识的掌握程度,更不可能有效地反映学生的计算思维能力,原因在于计算机硬件课程带有一定的综合设计和实践能力,试卷成绩根本无法体现学生运用知识的能力,更谈不上提高计算思维的能力和创新能力。
我们对计算机硬件课程采用综合的评价系统,一门课程的评价应由平时成绩(占10%)、平时实践成绩(体现运用和创新能力,占50%)和期末成绩(占40%)。这样不仅考虑到学生出勤情况和记忆知识的考核,更重要的是体现了学生的平时实践创新能力,这样,实践考核成绩不仅容易判别学生对计算思维的理解以及其运用能力,还能反映问题求解过程或方式方法的多样性,从而鼓励学生大胆创新。
5 总结
本文根据计算机硬件课程的特点,分析了当前计算机硬件教学模式存在的问题,提出了计算机硬件教学模式改革的方法,解决了培养计算思维能力难以落实到具体课程的难题,为计算机硬件课程教学改革提供重要参考。
参考文献:
[1] Wing J M. Computational thinking [J]. Communication of the ACM, 2006, 49(3): 33-35.
[2] CS2001 Interim Review [EB/OL] http:///cs2001/index.php?Title=main_page, 2008.
[3] Philips P. Computational thinking: A problem-solving tool for every classroom[EB/OL] http:///Resources/sub/ResourceFiles/ComputationalThinking.pdf, 2008.
[4] Bundy A. Computational thinking is pervasive[J]. Journal of Scientific and Practical Computing, Noted Reviews, 2007, 1(2): 67-69.
[5] 董荣胜, 古天龙.计算思维与计算机方法论[J].计算机科学,2009, 36(1): 1-4, 42.
[6] 牟琴, 谭良. 计算思维的研究及其进展[J].计算机科学,2011, 38(3): 10-15, 50.
[7] 陆汉权, 何钦铭, 徐镜春. 基于计算思维的大学计算机基础课程教学内容设计[J]. 中国大学教学, 2012(9): 5-58.