期刊在线咨询服务,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

期刊咨询 杂志订阅 购物车(0)

计算机课程设计总结模板(10篇)

时间:2023-03-07 15:22:45

计算机课程设计总结

计算机课程设计总结例1

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

针对于此, 在经过相应的课程如《计算机网络》、《计算机基础知识》、《操作系统》等课程的系统学习之后,可以说对计算机网络已经是耳目能熟了,所有的有关计算机网络的基础知识、基本理论、基本方法和结构体系,我都基本掌握了,但这些似乎只是纸上谈兵,倘若将这些理论性极强的东西搬上实际上应用,那我想我肯定会是无从下手,一窍不通。自认为已经掌握了一定的计算机网络理论知识在这里只能成为空谈。于是在坚信“实践是检验真理的唯一标准”下,认为只有把从书本上学到的理论应用于实际的网络设计操作中去,才能真正掌握这门知识。

二、实习的过程

计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。

在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉utp、2.交换机console口和telnet配置、3.交换机端口和常规配置、4.虚拟局域网vlan配置、5.路由器console口 telnet配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.ppp协议配置、10路由器访问控制表(acl)、11.网络地址转换(nat)。

在制作直通电缆和交换utp的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。

计算机课程设计总结例2

摘 要:针对目前武器装备计算机设备原理课程普遍存在的教学内容枯燥、编排难度大和逻辑性不强等问题,阐述武器装备计算机设备原理课程的目标与特点,探讨存在的问题内在原因,在计算机原理课程教学内容组织结构的基础上,分析两种计算机设备原理教学内容组织案例优缺点,结合教学实践经验,提出一种基于武器系统作战能力的计算机设备原理教学内容组织模式并介绍教学内容组织案例。

关键词 :武器装备;计算机设备原理;课程教学

基金项目:教育部高等教育司项目“适应空军信息化建设人才培养需求的大学计算机系列课程改革研究”(2-1-ZXM-03)。

第一作者简介:狄博,男,讲师,研究方向为信息安全,86311305@163.com。

0 引 言

在武器装备设备原理教学中,计算机设备原理是重要的组成部分之一,占据着基础性、贯穿性的地位。尤其是对信息化、智能化程度较高的武器系统而言,更是发挥着举足轻重的作用。计算机设备原理课程目标是使学员掌握装备中计算机设备类型、功用、组成结构、工作原理等,理解计算机设备在装备战术技术性能中发挥的支撑作用,为学员分析和解决装备计算机系统相关问题打下牢固的基础。计算机设备原理本质上属于特定领域计算机类课程,但同时计算机设备原理课程又不同于一般的计算机专业课程,如计算机组成原理、体系结构、计算机网络等,而是这些课程内容在特定领域应用的集中体现。

1 课程特点与教学中存在的问题

计算机设备原理课程的目标是使学员能够系统地掌握装备中计算机系统的功能、性能、软硬件组成、体系结构和工作原理,理解装备中不同计算机设备在实现装备战技术性能中起到的作用,掌握计算机设备和装备中其他设备之间的功能联系和接口,并着力培养学员具备一定的分析与解决实际问题的能力。

1.1 课程的特点

计算机设备原理课程属于特定领域计算机类课程,是计算机科学与技术专业课程内容在特定领域应用的集中体现,不仅具有一般计算机专业课程的特点,还具有鲜明的领域特色。

(1)领域性强,与装备结合紧密。计算机设备原理课程与特定领域密切相关,计算机设备的功能、性能和体系结构与领域应用要求是相适应的,如在很多应用中,要满足组件化、实时性、可靠性要求。

(2)内容比较庞杂,涉及计算机种类多。目前大多数装备的信息化、智能化程度较高,在装备中不同的子系统内,根据需求采用了各种各样不同的计算机设备,有通用计算机设备、嵌入式计算机设备、实时计算机设备和网络计算机设备等。

(3)专用计算机设备较多,结构复杂。装备中的很多计算机设备需要满足一些特殊的要求,因此采用了很多特殊的专用计算机设备,如专用的处理器设备,它的指令集和执行部件与一般的处理器均有较大差异,因这些设备并不常见,如何将这些设备的内容讲授清楚,也是面临的一大问题。

1.2 教学中存在的问题

目前该类课程普遍存在的问题主要有3点。

(1)计算机设备原理课程是计算机类课程,由于其具有鲜明的领域特色,内容上与领域知识结合非常紧密,只将计算机设备的内容隔离出来单独讲授,造成“知其然,不知其所以然”的教学效果,过多涉及领域知识,在学时有限的情况下,难以将计算机设备的内容讲解透彻。

(2)因为计算机设备原理是在讲现成的计算机设备,课程内容庞杂,还涉及很多专用计算机设备,如果内容取舍不当、教材编排不深入,就容易出现在讲用户说明书或者操作的现象,违背了开设这门课程的目的,无法达到课程目标。

(3)因各种客观条件制约,不像一般性计算机课程,拥有大量的素材、教具、实物和模型可以从不同角度展开讲解,计算机设备原理课堂讲授缺少必要的教具和实物,课堂内容讲授难以做到生动形象,学员学完本课程后对知识一知半解或者感受不深,因装备作为一个整体和完整的系统存在,即使组织学员参观操作装备也难以完全弥补这一缺陷,影响了教学效果。

2 计算机设备原理教学内容的组织

计算机设备原理课程教学内容与领域相关,不同领域的计算机设备大不相同,没有普遍性,但不同领域计算机设备原理课程教学内容的组织,具有一般性的指导和借鉴意义。

首先分析一般的计算机原理课程的教学内容组织,如表1所示。从表1可以看出,一般的计算机原理课程就教学内容组织是按照“总—分—总”的思路展开的。先从总体上介绍计算机系统的组成与结构,再按各组成部分逻辑顺序,由内到外逐一进行讲解,最后回归到更复杂的多处理机与机群系统。应该说这种组织方法是比较科学合理的,符合人的认知习惯。计算机设备原理能否采用这种教学内容组织模式?表2是按照表1的模式生成的一个计算机设备原理教学内容组织方式案例1,我们对这个案例分析如下。

一般来说,武器装备计算机设备原理讲述的是武器系统主要部分的计算机设备,在这个案例第一章计算机设备概论中,将计算机设备进行总体介绍,包括功能、分类、组成与结构。在第二章中,对武器装备计算机设备涉及的主要相关理论基础进行介绍,这些理论基础与领域密切相关,除了计算机基础理论外,可能还会包含领域基础理论,如信息融合、目标识别等。从第三章到第九章,也是按各组成部分逻辑顺序,由内到外逐一对武器装备计算机设备具体型号进行讲解。第十章再从装备的角度对担负不同功能的计算机设备进行综述,如火力控制计算机,如果在第一章已经涉及这方面内容,也可以去掉第十章内容。

仔细分析就会发现,这种组织方式有一个很大的问题,就是武器装备计算机设备原理讲述的是武器系统主要部分的计算机设备,这些计算机设备涉及一般的PC结构计算机、单板机、嵌入式计算机和片上计算机系统等,按照案例1的组织,第二章到第九章每一章的内容都可能会包含这些不同种类计算机的指令系统、控制器和存储系统等,同时割裂了各个不同计算机设备之间的功能联系,这显然是不合适的。

为避免这个问题,这里再给出计算机设备原理教学内容组织案例2,如表3所示。

案例2这种内容组织方法是“总—分”的组织思路,第一章计算机设备概论中,将这些计算机设备进行总体介绍,包括功能、分类、组成与结构,后续章节每章都讲述一个具体的计算机设备,这种方案避免了案例1不同类型计算机设备内容混合在一起讲解的问题,但同时仍然存在各计算机设备之间功能联系不清楚,没有形成一个系统的知识框架,各章之间逻辑关系不明显。

为避免产生上述两种问题,我们提出一种基于武器系统作战能力的计算机设备原理教学内容组织模式。这种组织模式的核心思想就是以形成武器装备战斗力的各种作战能力为单位,以作战能力之间的支撑关系为逻辑纽带来组织教学内容,案例3如表4所示。

第一章计算机设备概论先从总体上将武器系统功能、性能和体系结构进行介绍,将武器系统的体系结构从信息的角度转换成信息处理过程框架,实质上就是OODA循环过程,再根据OODA循环每一过程引入其中的计算机设备,这样就自然的在这些计算机设备中建立起之间的逻辑关系。第二章到第七章的组织依据的是从核心到,从前端到末端的双重组织原则,对信息化武器装备来说,指挥控制系统无疑是其中枢,负责将武器系统其他部分有机联系起来构成指挥控制回路,完成OODA循环过程,因此在第二章就引入指挥控制系统计算机。第三章到五章是从前端到末端的组织思路,与武器装备作战过程信息流动方向一致。第六章和第七章属于基础设施和保障内容等,安排在课程的最后自成一块较为独立的内容。

从整体来看,这种课程内容组织案例条例清楚,符合武器装备作战过程与信息流动方向,极大减少了不同内容之间的混合,保留了很好的逻辑关系,同时又将领域内容与计算机设备原理的内容自然地结合起来,避免了知其然,不知其所以然的问题。

3 计算机设备原理课程教学应注意的几个问题

有了好的教学内容组织,要把这门课教好学好,还需要把握以下3个问题。

3.1 教学方法问题

由于武器装备计算机设备原理课程的特点,教学过程中要尽量避免造成在讲用户说明书或者操作这种现象。从第3部分教学内容组织可以看出,本课程采用启发式的教学方法是比较适宜的,课程教学目的不是为了学计算机而讲计算机内容,而是有着非常鲜明的领域特色,因此非常有利于以问题为导向的启发式教学法的运用。如第一章计算机设备概述的内容组织是从总体上将武器系统功能、性能和体系结构进行介绍,再将武器系统的体系结构从信息的角度转换成信息处理过程,同时根据OODA循环每一过程引入其中的计算机设备,这样就自然地在这些计算机设备中建立起逻辑关系。这一章的教学就可以从OODA循环出发,分析循环的每一步武器装备战技参数,提出为了完成这些战技参数应该需要什么样的计算机设备等问题,这样自然而然打开了学员的思路,引导学员主动运用以前学过的专业课知识来构建问题的答案,按照OODA循环环环相扣,推进教学内容展开。

3.2 授课教师问题

计算机原理课程的第一个特点决定了授课教师不仅要有深厚的计算机专业知识,更需要扎实的领域知识背景,熟知相关武器装备的作战对象、功能、性能、组成结构、作战运用及与同类武器装备差异。只有达到这个层次,才能从全局掌控这门课程,做到讲解深入浅出、内容翔实准确,既能传授知识,又能培养学员分析解决问题能力,达到课程目标。

3.3 教材教具问题

需要指出的是教材编排应尽量避免直接采用用户说明书或已有资料的编排结构,我们的教学内容组织案例3已经给出了一种教材内容编排参考模式。本门课程应尽可能采用相关的教具进行授课,有条件的院校可以采用专业教室进行授课,以达到形象生动的教学效果,仅武器装备的外部参观讲解和操作对于原理教学是不够的,需要对相关计算机设备进行拆卸,运行和演示才能起到良好的效果。对于像信息流动和信息处理等难以通过实物展示的内容也应尽可能通过动画来进行描述。

笔者在教学实践中大量采用以问题为导向的启发式教学法,并将一些真实的计算机设备部件及研制的计算机设备工作原理仿真软件用于课堂演示,取得了良好的教学效果。

4 结 语

武器装备计算机设备千差万别,但只要抓住支撑武器系统作战能力这条主线不放,并基于其逻辑关系来进行计算机设备原理教学内容组织与教材编排,采用基于作战能力问题的启发式教学方法,就一定能取得良好的教学效果。

参考文献:

[1] 张道光, 周兵. 计算机原理[M]. 西安: 西安电子科技大学出版社, 2009: 3-6.

[2] 王勇, 于宏坤. 机载计算机系统[M]. 北京: 国防工业出版社, 2007: 4-9.

计算机课程设计总结例3

关键词 计算机课程 实验课

计算机科学的课程不但有较强的理论性,也有较强的实践性,理论和实践是紧密相关、相辅相成,理论指导实践,实践加强对理论的理解,特别是以职业教育为主的大专院校,计算机课程的实验课在教学计划中所占的比重是相当大的,例如,我系计算机专业教学计划中FoxPro程序设计的总课时数是80,其中讲课44课时,实验36课时,由此可见,计算机课程的实验课是计算机教学不可缺少的重要环节,有着举足轻重的作用。

在计算机课程的教学中开设实验课,就是给学生一个理论和实际相结合的机会,学生在实验中必须亲自动手操作,来加深对计算机理论知识的理解,掌握计算机是怎样操作、如何运行的。通过上机实验让学生演示和操作软件的各种功能,了解它的特点和作用,逐步熟悉和掌握软件的功能及使用。尤其是《数据结构》,《高级语言程序设计》,《数据库程序设计》等课程,学生在实验中要自己编写程序,在计算机上进行编辑处理,程序调试和运行,从中可以发现问题,改正错误,学习编程的经验,最终获得所需的结果。因此,如何开好计算机实验课,对促进学生掌握理论知识,提高实践动手能力有积极的作用。下面我们从几个方面来讨论怎样上好计算机课程的实验课。

1.完善的实验课计划和提纲

上机实验计划是实验课的总体安排。包括实验题目、时间、地点、课时分配、实验次数,硬件和软件环境等内容。以便任课老师和实验室管理人员之间能够很好的配合,提前安排上机实验的有关事项。每一次上机实验都要有实验提纲。实验提纲格式为:

(一)实验题目

(二)实验目的

(三)实验要求

(四)实验内容

(五)实验步骤及注意事项

(六)实验思考题

实验提纲必须和实验计划一起编制,两者协调一致,实验提纲是实验计划的具体内容和实施细则。由系或者教研组组织有经验的教学效果比较好的专业课教师,对每一门计算机课程的实验计划和提纲进行精心策划,统一编制,在教学中不管是那个老师上这门课,都要按照统一的实验计划和提纲进行实验,学生在实验提纲的指导和安排下上机,完成实验课程,根据实验提纲执行情况书写实验报告。教师也是按实验提纲的要求来检查实验结果,评定学生成绩。因此,教师在进行实验提纲编制时对每门课程的每一次实验课都要有周密的安排,进行精心的设计。

2.计算机实验课程的准备工作

计算机实验课程的准备工作是非常繁琐同样也是非常重要的,通常包括以下几个方面的工作:

(1)硬件环境

实验室内学生上机所需的计算机及有关外部设备都要能正常运行,功能完好,适合学生上机实验,学生所用的磁盘要合理分配,集中管理,一些辅助教学设备(如投影仪、无尘黑板等)都要能满足上机实验的要求。

(2)软件环境

实验室管理人员要根据实验计划,选择好所需的操作系统软件、高级语言环境、应用系统和辅助教学软件,预先把这些软件装入计算机内并调试好随时可供调用。若有网络环境,管理员要为每一个上机的班级设置各自的帐号,根据实验计划分配所需的软件和必要的权限。另外,版本新、功能强的杀毒软件也是必不可少的,管理人员要随时用它来清除计算机系统内的病毒。

(3)组织和管理

计算机的使用要严格管理,要保持良好的秩序、严令学生遵守实验室各项规章制度,有条件的实验室要实行学生上机自动管理(学生上机之前用上机证划卡,系统自动为学生分配一个机号,该生即可在这台计算机上上机,否则该生不能上机),该系统还可以自动记录学生的上机时间,我们曾经根据这个功能破获了学生盗窃计算机内存芯片的案件。如果实验学生的人数超过计算机台数,最好是分组进行实验,使每个学生都有上机的机会,同时也便于管理和辅导。管理人员要严格控制学生使用外来磁盘,预防计算机病毒带入实验室。

(4)教师和学生

教师要对实验课的全过程进行周密的思考,要避免出现漏洞和疏忽;而学生要按实验提纲作好实验课前的准备工作,特别要学生自己编程上机时,学生一定要在上机前准备好程序,实验时主要是编辑输入程序和调试程序。

3.实验课的实施

计算机实验课是计算机课堂教学的继续,也是教学效果的初步体现。为了上好计算机实验课还必须做好以下工作。

实验课开始时,老师要重申本次实验课的目的和要求,指明实验要点和要注意的事项,对实验中的疑难之处和可能出现的问题要给予必要的提示和说明。在实验过程中学生初次使用的应用软件或生疏命令,教师要首先进行演示和讲解。

在实验中要尽可能发挥计算机的优势,充分利用计算机辅助教学软件和多媒体教学手段,特别是学生进行程序设计的实验时,教师可以先演示和讲解自己在科研工作中开发的一些应用软件,将一些程序设计的经验传授给学生,使学生有了一些感性认识以后能尽快动手进行程序设计。另外,教师要根据教学内容选择一些效果比较好的辅助教学软件,例如,《数据结构》课程的实验课,可选择集编辑、编译、调试为一体的Pascal可视集成环境VP1和算法与数据结构的作业系统AD1,Pascal源程序可以在VP1上可视执行,能同步演示程序和数据的动态视图,为学生理解算法、学习编程,调试程序提供了便利的环境,AD1可对数据结构的程序设计作业进行测试评分,可以大大提高软件基础课的教学效果和质量。

最后一点,对学生的基本技能的训练要有高标准严要求,学生在操作计算机时一定要按规范和标准进行,如,开机、关机、入网、退网等要按正确的步骤,键盘打字的姿势要正确,特别是学生在编程时要训练学生养成良好的编程习惯和风格。要注意培训学生在计算机使用中的应用能力和应变能力,为学生今后独立操作和使用计算机打好基础。

4.实验课的总结

通过上机实验,学生对老师讲授的计算机理论知识、技术和有关算法都有了较为深刻的体会和认识,每个学生都会有不同程度的收获。此时,教师要及时督促学生总结上机实验中的收获,巩固所学的知识。为此,要求学生写好实验报告。

实验报告直接体现了学生上机操作的情况,是对实验过程进行概括和总结,具体内容如下:

(一)班级、学号、姓名、实验时间及课时数

(二)实验题目

(三)实验目的

(四)实验要求

计算机课程设计总结例4

随着多核/众核处理器以及可重构计算技术的出现,计算机体系结构技术面临重大改变,给相关课程的教学提出了新的问题和新的挑战。如何在教学内容中体现技术的发展?如何利用FPGA技术提升实验水平?如何统一规划相关课程的教学?特别是在不久的将来,计算机体系结构可能发生重大变革的情况下,如何为那些将要在新型体系架构下从事计算机科学和技术研究和开发的学生打下良好的专业基础?这些都是我们近年来一直考虑的问题。带着这些问题,我们跟踪了美国几个一流大学近几年来相关课程的教学内容及实验方法。对照国际一流大学的先进做法,结合我校计算机人才的培养目标,我们提出了“计算机组成与体系结构”课程群建设思路,并根据实际情况对相关课程进行了教学改革实践。

1国外一流大学相关课程教学情况

通过对UC Berkeley、Stanford和MIT等多个美国一流大学在相关课程方面教学情况[1-5]的跟踪,我们发现,这些大学对相关课程教学都进行了调整,通过开设新课程或调整相关课程教学内容加入了多核/多线程处理器的相关内容,特别强调学生对HDL、FPGA、SOC、并行体系结构、并行程序设计等技术的掌握。这些大学在相关课程教学内容和实验内容方面基本相同,都是以典型的四段或五段流水线CPU设计技术和存储器层次化结构为核心内容,教学理念和教学思路也非常相似,都是站在计算机系统的高度阐述计算机硬件系统的结构和设计思想,强调软件与硬件的关联,使学生能很好地在高级语言程序、汇编语言程序、机器指令代码和硬件机器结构之间建立相互的对应转换关系,以建立对计算机系统的整体认识。

图1给出了美国UC Berkeley大学2009年相关课程的设置概况,图中箭头反映课程开设先后关系。

图1UC Berkeley大学相关课程设置[2]

CS61C(Machine Structure)主要包括C语言程序设计、指令流水线和存储器层次结构等方面的基础内容,以“C语言MIPS汇编MIPS目标代码MIPS处理器设计”为主线组织内容,以“高级语言程序设计”实验和“模拟器”实验为手段,使学生建立单处理器计算机系统的整机概念。

CS 150(Components and Design Techniques for Digital System)主要介绍数字逻辑电路基础知识和EDA设计技术,2009年以前的实验主要是在FPGA开发板上进行视频解码及播放电路设计开发,从2009年开始改为“流水线CPU设计”,要求学生采用流水线方式设计实现16条MIPS指令,以串行接口方式从PC上装入程序到FPGA开发板,并通过PC调试程序,最终通过VGA接口,将FPGA板连接到一个显示器上,在该显示器上显示由所设计的CPU执行的一个游戏程序的执行结果,如图2所示。

图2UC Berkeley大学CS150课程综合实验内容[3]

CS 152(Computer Architecture & Engineering)着重介绍多处理器并行计算机体系结构,包括多核/众核处理器、多处理器计算机系统以及各类并行处理机制等。

CS194为新开设的本科生课程,是一门基于FPGA的以计算机系统结构实验为主的课程。在开设新课程的同时,该校还对相关课程内容进行了调整,从2009年开始,将CS152中基于FPGA的流水线CPU设计实验移到了CS150课程中,把原来研究生课程CS252中的很多内容移到了CS152。

由此可见,在这类课程的教学中,UC Berkeley近两年有一个明显变化,就是在保留传统课程内容的同时加强了基于FPGA的硬件设计能力的培养。此外,在本科教学中加深了并行体系结构方面的教学内容,而且教学内容的调整是在对相关几门课的统筹规划下进行的。

2课程群建设思想

随着多核/众核处理器技术的出现,我们意识到,必须对计算机组成与体系结构方面的教学内容进行调整。我们首先对本系开设的所有课程的教学内容进行了梳理。结果发现,由于课程间缺乏统一规划和协调,教学存在内容大量重复或缺失、课堂教学和实验内容不匹配、课程之间内容脱节等问题。有必要将相关课程组成一个课程群,以便在一个完整的框架体系下统一规划、相互协调,构建科学合理的计算机组织与体系结构相关课程教学体系。为此,从2007年开始,我们提出并实施了“计算机组成与体系结构”课程群建设方案。

2.1课程群教学目标

根据本课程群在计算机系统中的重要位置,结合我系的生源情况和培养目标,我们提出课程群的基本教学目标为:提高学生对计算机系统的全面认识水平和系统设计能力,建立计算机整机概念,全面理解计算机系统的层次结构。具体包括以下几个方面:了解计算机指令集体系结构的设计原则和设计原理;具备使用HDL进行计算机硬件设计的基本能力;深刻理解OS和硬件之间的分工和衔接关系;掌握从硬件角度出发进行编译优化的基本技术;深刻理解从硬件角度出发编制高效程序的基本原理;提高利用硬件知识进行程序调试的能力。

2.2课程群建设思路

课程群建设的总体思路为:1)根据课程群建设总体目标,规划好课程群涵盖的知识结构和框架体系,合理定位各门课程的教学目标,把每个知识点落实到具体课程中。2)根据课程群知识点总体框架,拟定课程之间知识点衔接方案,并在教学过程中明确各知识点在不同课程之间的关系。3)根据规划分头编写或修订教材及教案,并在统一的框架下建设相关课程网站。4)在保留各课程独立实验平台的同时,构建一个课程群公共实验平台,并使各课程实验内容按照一定的关系有机联系起来。

3课程群教学改革实践

我们首先对现有课程进行了调整。将原先模拟电子技术部分内容合并到数字逻辑电路设计中,形成数字逻辑与数字系统课程;将原先的计算机组成原理和计算机系统结构内容合并,形成计算机组织与系统结构课程;同时建设一门新课高级并行体系结构。通过对相关课程的调整,我们构建了以“计算机组织与系统结构”为核心的课程群,如图3所示。

图中箭头表示课程前后关系,其中计算机系统概论、数字逻辑和数字系统、计算机组织与系统结构为必修课;微机原理与接口技术、嵌入式系统原理、高级并行体系结构为选修课。此外,为了加强对学生FPGA、EDA、数字系统和流水线CPU等方面设计和实践能力的培养,课程群教学规划中专门设置了数字逻辑电路设计和计算机组成原理必修实验课。

3.1各课程在课程群教学中的定位

围绕课程群教学目标,根据课程之间的相互关系,我们确立了各课程在课程群教学目标中的定位:1)计算机系统概论从宏观上介绍计算机系统涉及到的各个层次的内容,让学生从整体上了解计算机系统的全貌和相关知识体系。2)数字逻辑与数字系统围绕组合逻辑设计和时序逻辑设计两大核心内容,在逻辑门到功能部件这两个层次展开。以后续课程中用到的功能部件作为设计实例,采用“实例化”教学思路组织教学内容。3)计算机组织与系统结构从寄存器传送级以上层次介绍单处理器计算机系统设计的基本原理,实验重点在CPU设计和存储器方面。该课程处于课程群中核心地位,一方面,先行课程中学生感到似是而非的问题在此要明确;另一方面,需要运用先行课程的基本功能部件构建更大规模和更强功能的部件;此外,本课程中提出的设计原则和实现原理要在后继课程的计算机系统实例中得到体现。4)微机原理与接口技术定位为计算机组织与系统结构的基本原理在PC上的实例化教学课程,主要以目前流行的基于IA-32体系结构的PC为实例,实验重点内容在PC的I/O接口技术。5)嵌入式系统原理定位为计算机组织与系统结构的基本原理在嵌入式系统方面的实例化教学课程。实验教学重点是基于ARM处理器和VxWorks及 COS-Ⅱ操作系统的简单嵌入式软件开发技术。6)高级并行体系结构主要在更高层次上介绍多核/众核CPU、多处理机系统、集群系统等不同粒度和规模的多处理器并行计算机系统的工作原理、实现方式及其应用领域。

3.2各课程教学内容的关联和衔接

课程群中的课程之间有很多关联,必须合理处理好关联内容,使课程之间能有机衔接。对于关联内容,我们的主要处理思路如下:

1) 数据的表示。

对于进位计数制及其相互之间的转换、ASCII码

表示、逻辑数据表示、汉字编码、无符号数表示、带符号数表示,要求学生在计算机系统概论课程中掌握,而在后继课程中作为“回顾”内容;各种BCD码的介绍和相关电路设计内容在数字逻辑与数字系统中讲解;补码特性和浮点数的表示则在计算机组织与系统结构中详细介绍。

2) 功能部件。

逻辑门电路、半加器、全加器、加法器、比较器、编码器、译码器、触发器、寄存器、移位器、内存储器的实现技术由数字逻辑和数字系统详细介绍;计算机系统概论课程仅作概要性的功能说明和解释;计算机组织与系统结构课程则运用这些基本电路来构建更大的功能部件。

3) 外存储器。

有关磁盘信息的存储、磁盘存储器的构造、磁盘驱动器和磁盘控制器的接口、磁盘存储器的性能指标等内容主要在计算机组织与系统结构中详细介绍;计算机系统概论课程仅作概要性说明;微机原理和接口技术中不再讲解。

4)I/O设备及其接口。

计算机系统概论课程从计算机硬件系统组成的角度简单提一下常用的外部设备的功能;计算机组织与系统结构主要介绍各种外设抽象出来的一个通用结构,以及外设控制器的通用结构,并着重解释清楚“外设―I/O接口(外设控制器)―I/O总线―主机”的连接关系;微机原理与接口技术则具体介绍PC机所用的一些接口电路、I/O总线及其互连。

5) 虚拟存储器。

计算机组织与系统结构主要介绍虚拟存储器的基本概念和MMU中涉及的地址变换、页表和段表结构、快表,以及如何发现“缺页”和发生“缺页”时处理器中进行的一系列处理步骤;微机原理与接口技术具体介绍Pentium系列处理器对虚拟存储器的支持,包括段选择子、段描述符/描述符表、逻辑地址―线性地址―物理地址的转换等。对于“缺页”处理过程中涉及的问题,操作系统课程将会作详细介绍。

3.3课程实验内容的规划和实施

课程群的实验教学思路是,将各课程中相关实验内容规划在统一平台上实现,使得实验内容相互依托、避免重复,由低层逐步向高层过渡,最终使学生全面建立计算机系统的整机概念。

统一实验平台是Altera DE2/70开发板,其上拥有70000个逻辑单元的Cyclone® II 系列2C70型FPGA 芯片,并配有软核处理器NiosII和相应的开发软件:Quartus II、SOPC Builder、NiosII IDE、DSP Builder等,可以开展以下五个层次的实验:功能部件CPU+存储器软核处理器+存储器+总线+I/O软核处理器系统+OS软核处理器系统+OS+多媒体编码等应用。

在Altera DE2/70统一实验平台上开展的实验主要有以下几个方面:

1) 数字逻辑电路实验。

利用Quartus II实现基于HDL和FPGA的组合电路、时序电路和简单数字系统设计实验。

2) 计算机组成原理实验。

利用Quartus II实现基于HDL和FPGA的ALU、寄存器组、桶型移位器、乘/除法器,单周期CPU、多周期CPU和流水线CPU的设计实验。

3) 微机原理与接口实验。

基于软核处理器和SOPC开展总线、存储器和I/O接口实验。例如,通过总线实现外设和SRAM相连;利用UART实现轮询、中断和DMA方式I/O。

4) 嵌入式系统原理实验。

主要包括两类实验:(1)基于NiosII+μCOS操作系统的实验,例如七段数码管显示实验、小型GUI

移植实验和文件系统读写实验等;(2)基于NiosII IDE的简单应用系统开发实验,例如简单C语言编程实验、简单DSP处理实验等。

有些课程除了在以上统一实验平台上开展实验以外,还要求完成其他实验,如计算机组织与系统结构的编程实验,微机原理与接口的汇编程序设计实验,嵌入式系统原理的基于ARM处理器的实验等。

4结语

经过近年来的课程群教学改革实践,我校相关课程的教学内容在广度和深度上都有提高;课程间知识点的衔接更加合理,减少了重复,弥补了缺失。通过统一规划,课堂教学内容和实验内容相得益彰;在对课程群统一的教学实验平台和统一实验内容的规划下,我们实现了各课程间实验内容的有机衔接。

由于课程群的建设时间较短,需要开展的工作还有很多,今后几年,我们主要在以下几个方面继续进行课程群教学改革实践:编写相关课程教材以开展课程群系列化教材建设;加强实验教学内容,增加和完善各类模拟器实验;开设计算机系统综合设计实验课程。

相信通过以上一系列的教学改革措施,一定会改变学生“喜软怕硬”的心理。学生对计算机组织与体系结构方面知识的掌握水平和运用能力将会有较大提高,为后续课程的学习打下坚实基础。

参考文献:

[1]UC Berkeley.Machine Structure[EB/OL].[2008-07-09].inst.eecs.berkeley.edu/-cs61c/su08/.

[2]UC Berkeley. Computer Architecture and Engineering[EB/OL]. [2009-05-07]. inst.eecs.berkeley.edu/-cs152/sp09/.

[3]UC ponents and Design Techniques for Digital Systems[EB/OL].[2009-02-16]. inst.eecs.berkeley.edu/ -cs150/sp09/.

[4]Stanford University. Computer Organization & Systems[EB/OL].[2009-06-15]. stanford.edu/class/cs107/.

[5]MIT. Computation Structures[EB/OL].[2009-05-08]. 6004.csail.mit.edu.

Construction and Reform of “Computer Organization and Architecture” Courses Group

YUAN Chun-feng, HUANG Yi-hua, WU Gang-shan, YU Jian-xin, WU Hai-jun

计算机课程设计总结例5

虽然大学计算机基础课程教学历经几次改革,取得了一定的成绩,但当前大学计算机基础教育仍存在不少问题。很多学生进入大学之前,已经掌握了常用的电脑操作技能,教学停留在操作技能层面,忽视了计算机思维的培养。有人认为计算机只是个工具,现在的应用软件已经“傻瓜”化,人机交互性很好,使用计算机并不难,大学计算机基础这门课程可开可不开,课程常被边缘化。要走出当前计算机基础教育的困境,基于“计算思维”为核心的教学任务的大学计算基础课程教学改革,是唯一的出路。

一、计算机思维的定义

什么是计算思维?计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它选择合适的方式去陈述一个问题,对一个问题的相关方面建模并用最有效的办法实现问题求解。计算思维能力,不仅仅属于计算机科学家,而且是每个人都应当具备的最基础、最普遍、最适用的基本技能,就像阅读、写字、算数一样。基于“计算思维”为核心教学任务的大学计算基础课程教学,目的是培养学生具备运用计算机科学的基础概念对问题进行求解、系统设计和行为理解的能力,并能自觉地应用于日常的学习、研究与将来的工作中。

2006年,教育部高等学校计算机科学与技术教学指导委员会《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求》,进一步明确了大学计算机基础教学的能力培养目标、知识结构、课程设置、重点核心课程教学基本要求。提出大学计算机基础教育要围绕六大重点核心教学要求(计算机基础、程序设计、硬件技术、数据库技术、多媒体技术、计算机网络技术),采用“1+X的课程设置方案”分成两个教学层面,“1”属第一层面,即在第一学期开设的公共必修课“大学计算机基础”,是面向所有非计算机专业开置通识课程;“X”属第二层面,是与专业需求相结合的几门计算机基础核心课程,可根据各专业需求构造成不同的课程组,作为必修课或选修课来开设。以上这些都为新一轮的大学计算机基础课程教学改革奠定了良好的基础。

二、基于计算机思维培养的大学计算机基础课程教学内容规划

基于计算思维能力培养的大学计算机基础课程的培养目标,就是进一步提高学生的计算机知识和操作技能,培养学生对计算机的认知能力、利用计算机解决和处理实际问题的思维方法和初步能力、培养学生计算思维的意识和能力,掌握计算思维解决问题的一般步骤和方法,基于网络的协同能力和信息社会终身学习能力。根据培养要求,大学计算机基础课程教学内容可分为以下11章:计算机概述、计算机硬件基础、计算机软件基础、计算机运算与编码基础、数据库基础、操作系统、常用软件、Internet应用及计算机网络基础、多媒体知识和应用基础、信息安全基础、信息检索基础。着重培养学生的问题求解能力、系统设计能力和人类行为理解能力。

大学计算机基础课程的各章节知识蕴含很多拓展学生计算机思维训练的知识内容,这部分的内容,要求教师改变传统知识的教学方法,在知识传授的过程中,有机融入思考点,培养学生计算思维能力,掌握计算机思维解决问题的一般步骤和方法。

三、基于计算机思维培养的大学计算机基础课程教学方法

大学计算机基础课程的教学任务分为三种:基本理论知识传授、技能训练、计算思维能力训练。依据不同的教学内容,要灵活选择教学手段和教学方法。

在计算机基础教学中,着力实践动手能力、计算思维能力、应用创新能力的培养。要将学生在学习过程的主体地位与教师的主导作用相结合的原则,以训练为主线,将“教、学、做”融为一体,在教学过程采用“四步骤”的教学方法。

1.引入案例,提出问题

要选择与教学内容和教学目的密切相关的典型案例进行讲解演示,让学生建立感性认识,了解案例的应用背景。在教学的过程中,围绕某个知识点,教师设计若干个富有启发性的问题,提起学生的学习积极性。

如Excel电子表格中要求学生掌握数据筛选、分类汇总、数据统计分析等,单讲理论,学生不易理解和掌握,需要围绕教学目的有针对性地设计一些案例。在教学中可以某单位工资发放的电子表格为案例,运用案例进行教学。

2.案例分析,透析问题

对教学案例进行演示分析,在演示的过程中让学生发现问题、提出问题,并找到解决问题的方法,引导学生学习相关的知识和操作技能。如,讲解Excel数据管理知识模块时,以分析某单位工资发放情况.xls为案例(如下图),围绕着计算实发工资、计算工资的合计和平均值、按工资高低排序、对部门工资进行分类汇总等进行演示,该案例涵盖了公式、函数、排序、分类汇总等知识点。成功的案例教学,关键在于案例的选取与设计,案例的内容应涵盖主要知识点,突出重点难点,案例讲解过程,即是讲授各知识点的过程。

3.案例重现,解决问题

案例演示结束之后,要引导学生对各知识点和操作要领进行归纳、总结。对刚才案例的实际应用意义、重点难点、易错的知识点等及时进行总结、引申和提高。鼓励学生积极探索问题的求解方法,从而培养学生的计算机思维能力。

4.举一反三,融会贯通

为了让学生做到学以致用、举一反三、触类旁通,教师课后应及时布置相关的难度不一的课后作业,供学生在课后进行复习和巩固。

如,讲授工资发放的案例之后,围绕着电子表格公式和函数使用、排序、分类汇总等知识点,布置学生课外完成期末成绩.xls的作业,要求学生完成总成绩、平均分、排名、按课程分类汇总等的操作。

总之,在当前的形势下,计算机基础教学是培养大学生综合素质和创新能力不可缺少的重要环节,是培养复合型创新人才的重要组成部分,大学生计算机基础课程不仅要培养学生具备基本的计算机操作,更重要的是培养面向典型计算环境的问题求解方法。在教学过程中,应体现以人为本、传授知识、培养能力、提高素质、协调发展的现代教育理念,大力培养学生的计算思维能力。

参考文献:

[1]教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社,2009.

[2]九校联盟.九校联盟(C9)计算机基础教学发展战略联合声明[J].北京:中国大学教学,2010(9):4,9.

[3]何钦铭.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9):5-9.

计算机课程设计总结例6

中图分类号:G807.01 文献标识码:A 文章编号:1007―3612(2007)02―0228―03

1 计算机课程教学的沿革

北京体育大学的计算机教学始于1980年为研究生设置的《计算机语言》课程,发展到今天已为研究生、本科生、成人教育开设了13类课程,先后四次调整计算机教学计划。

1988年国家教委进行了《高等学校本科专业目录调整》,1989年学校第一次对教学计划作了修订,将《计算机语言》列为全校本科生公共必修课,54学时;1993年学校第二次修订教学计划,将课程名称变更为《计算机I》和《计算机Ⅱ》,各72学时,《计算机I》为教育学院、竞技体育学院、武术学院学生开设,讲授内容同1989年计算机教学基本要求。运动人体科学学院、管理学院的学生根据本专业的培养目标和所学专业对计算机的需求,设有后续课程《计算机Ⅱ》和《数据库》;1995年学校实行学分制教学计划,计算机课程更名为《计算机应用基础》,72学时。运动人体科学学院的学生,开设108学时,对计算机教学的要求,要高于学校其它专业。1998年国家再次调整《高等学校本科专业目录》,1999年学校第三次修订了教学计划,在此次教学计划中规定所有专业,统一开设为公共必修课《计算机基础》,96学时,各专业根据本专业培养目标和学生的实际情况,在内容的讲授上可有所调整。2003年,在99教学计划经过一轮的运行后,根据市场的变化,学校的扩招,部分专业学生来源发生变化等情况,学校第四次调整了教学计划,各专业《计算机应用基础》教学时数达96学时以上,讲授的内容根据各专业的情况制定,时至今日。

2 专业设置和学生入学条件

随着教学改革的深入和学校的扩招,这几年,学生的来源发生了变化,开设的专业要适应社会需求,北京体育大学本科生的专业设置和学生入学条件如表1所示:

从表1可以看出,全校设有10个本科专业,其中9个属于文科专业,1个属于理科专业。英语、新闻学、公共事业管理、运动人体科学和应用心理学专业招收的是各省市重点分数线以上的学生;体育教育、社会体育专业招收的是各省市体育、文化双高分的学生;运动训练、民族传统体育专业是由国家体育总局组织单独考试提前招生的学生,表演专业招收的学生需要达到各省市艺术类文化线。

3 以教育部的基本要求为参考依据,对不同专业需要制定不同的教学计划

3.1学生来源不同。文化基础有差异。需要制定不同层次的教学目标1)对来自各专业代表队、运动队和体校的竞技体育学院、武术学院的学生,要求他们掌握计算机基础知识和基本技能,学会对计算机的一般操作,具有能使用计算机应用软件、动手解决具体问题的能力。

2)对通过统招来的各省市体育、文化双高分的教育学院的学生:要求他们掌握计算机基础知识和基本技能,学会对计算机的一般操作,具有能使用计算机应用软件、动手解决具体问题的能力,另外,要学习至少一门可视化程序设计或数据库系统课程,具备有初步的开发应用软件的能力。

3)对通过统招来的各省市重点分数线以上的运动人体科学学院、管理学院的学生:要求他们掌握计算机基础知识和基本技能,学会对计算机的一般操作,具有能使用计算机应用软件动手解决具体问题的能力,另外,根据专业设定,要学习至少一门可视化程序设计或数据库系统课程,具备有开发应用软件解决本专业问题的能力。

3.2各专业需求差异明显。计算机课程内容设置上要有所体现

学校的本科课程设置大致分四类:公共必修课、专业选修课、专业限选课,全校任意选修课以及学院路地区教学共同体课程等,另外还有成人教育学院和研究生院的有关计算机课程。按照教育部“基本要求”和本科生4年的总课时所限,各院系根据本院系学生的具体情况,经过认真研究和反复讨论,最后确定北京体育大学开设计算机课程的课时安排如表2所示:

表中右侧是学校开设的“计算机应用基础”课程,自左向右“讲课+上机”的总课时依次是96、64和32课时。

在教育部的“基本要求”中,公共基础课有四种组合方式。北京体育大学根据自身的实际情况,将各学院的公共基础课分为四种组合方式。

3.2.1竞技体育学院、武术学院计算机课程组合方式如表3所示。

其中:竞技体育学院、武术学院学生计算机课时总数为96。两学院学生可选修计算机全校任选课。

3.2.2教育学院计算机课程组合方式如表4所示。

其中:教育学院的学生计算机课程总学时数为96,要求学生掌握计算机基础知识达到等级考试二级水平,可选修计算机全校任选课。

3.2.3管理学院计算机课程组合方式如表5所示。

其中:管理学院在后续课程中增加了“网页设计”课24学时。学生计算机课程总学时数为128。可选修计算机全校任选课。

3.2.4运动人体科学学院计算机课程组合方式如表6所示。

其中:运动人体科学学院在后续课程中增加了“计算机在专业中的应用”课32学时,总学时数为96,学生可选修计算机全校任选课。

3.3文化基础的差异需要因势利导采用不同层次的课堂教学及实验教学方式

3.3.1 必修课课堂教学及实验教学方式 根据不同专业学生之间文化基础差异明显的特点,采取不同的教学方式,课堂教学以“教师精讲,学生上机操作,教师主导+学生自主练习”的活动形式进行,主要有以下3种方式:

第一种方式:教师引导式

民族传统体育专业的学生相对来说文化基础薄弱,学习态度比较认真,在教学过程中,将所学内容“掰开了、揉碎了”地讲和反复上机操作演示,具体采用3步走的策略。即:

先将每一小单元的重点、难点列出,要求学生记笔记。

在授课时,让学生专心观看教师授课内容(操作步骤)。

每讲完一单元后,要求学生根据教师讲授内容,对照课堂笔记重复教师所进行的操作,即实践活动。

在实践过程中,及时解答并了解学生存在的问题,让学生当堂对讲授内容进行消化。

最后针对此单元内容,让学生做上机练习,巩固所学知识。

对所学知识经过课堂讲授,课堂重复练习,综合运用3次重复,就可以掌握。

第二种方式:循序渐进式

运动训练专业的学生文化课基础也较差,但思想比较活跃,掌握新知识、新内容理解得快、可忘的也快,采用循序渐进、反复讲、反复地上机练习的方式。先讲解一部分内容上机

练习,然后再讲解新的内容再上机的方法,学生必须多次自己动手了解操作方法,最后以一个完整的练习作为掌握所学的内容终结。

第三种方式:教师主导+学生自主练习

教育学院、运动人体科学专业、心理学专业、体育管理专业、体育新闻专业的学生,文化基础比较好,有一定的自学能力,学习主动性好,则以教师主导、学生自主练习为主要方式。具体的操作过程是:每次上课,教师一般用1/3到1/2的时间,讲授本次教学活动中的主要学习内容和要求,并做必要的操作演示,剩余时间组织学生结合教材内容,完成若干上机操作练习。要求学生在实际操作中掌握课堂所讲授内容,提高实际操作的能力。

对于必修课学生学习成绩的评估、考核:

平时学生的学习、上机操作能力测验3~4次,占总成绩的50%

平时的作业检查(每位学生平均检查4~5次)检查及考勤占总成绩的10%

学期末课程的期终考试成绩占总成绩的40%

3.3.2选修课课堂教学及实验教学方式 选修课目前开设的主要有“可视化程序设计”和“数据库”两门课,课堂教学主要以“教师精讲,学生上机操作,教师辅导”的活动方式进行,对学生学习成绩的考核有A、B两种不同的要求和操作形式。

A.教师命题、开卷或闭卷让学生在计算机上自己设计解决问题的思路、方法、过程及程序的调试,得出最后结果,教师现场和做题学生面对面地评判出学生完成考核题目的成绩。

B.教师提出参考命题,学生也可以自主命题(须经过教师同意)、自己设计解决问题的思路、方法、过程、调试出程序,得到最后结果,评判成绩的形式同A.。

对于选课学生学习成绩的评估、考核:

平时成绩(主要由作业、上机操作题及课堂考勤)40%

课程结束(开卷或闭卷)考试60%

3.4计算机基础课程教材的使用

3.4.1主流课程(必修课)的教材,包括习题和上机实习操作等,都是根据体育院校学生的特点,由教研室自己编写、出版。本科学生先后使用的教材有:

程序设计语言BASIC 1993年出版胶印本

计算机应用基础教程(DOS版)1997年出版

计算机应用基础教程(Windows版)2000年出版

计算机应用基础教程(修订版)2002年出版

计算机应用基础教程(二次修订版)2004年出版

计算机应用基础教程上机实验与习题2004年出版

其中:《计算机应用基础教程》与《计算机应用基础教程上机实验与习题》均为校级精品教材。

3.4.2选修课教材一般选国内大文科类院校使用的教材,主要着眼于当前应用软件的流行版本的最新内容,要及时地注入选修课的课堂教学活动中。

由于计算机技术的迅猛发展,所以计算机教材的内容不得不做频繁的修订和更新换代式的编写工作。计算机教材基本上是平均两年进行一次大的教材修订工作的。

4 结论与建议

1)2005年3月14日,教育部高等学校文科计算机基础教学指导委员会派员调研和检查北京体育大学计算机课程教学情况,对于上述计算机课程分专业教学活动方式,检查组给予了充分肯定,认为北京体育大学的计算机教学活动规范、很有特色。

2)分专业教学使学生能够把计算机知识和所学专业知识更好地结合起来,增强了学生解决实际工作中应用问题的能力,提高了学生学好计算机课程的自信心。

计算机课程设计总结例7

中图分类号:G642文献标识码:B

文章编号:1672-5913(2007)08-0003-03

1 引言

“计算机组成原理”课程是计算机专业的一门承前启后、承上启下的核心专业基础课,由于涉及知识面广、内容多、更新快,学生在学习该课程时,普遍觉得内容抽象、难于理解。为了最大限度发挥学生自主学习的能力,使学生对计算机基本原理和设计方法有一个清楚的了解,我们开设了配套的设计性实验环节。通过亲自设计计算机的各个关键部分,学生可以进一步融会贯通理论教学内容,提高其综合运用知识的能力。同时,设计性环节也为后续课程“计算机组成原理课程设计”的开设打下良好基础,将理论课和实验课的教学内容更好的衔接,对培养学生的主动性、协作精神和创新能力具有积极的作用。

本文主要介绍在“计算机组成原理”课程中设计性环节的教学实践工作,希望能对同行有一定的借鉴作用。

2 设计性环节的内容

通过对“计算机组成原理”教学内容的分析,并结合后续课程“计算机组成原理课程设计”的教学需要,我们设置了三个部分的设计内容,每个部分都有明确的教学目标。第一部分为指令系统的设计;第二部分为控制单元的设计;第三部分为简单计算机体系结构的设计。并要求每两名学生为一组,共同完成各个部分的设计任务。

2.1 指令系统的设计

指令系统的设计内容主要安排在“计算机组成原理”课程讲授指令系统的过程中。这样可以让学生带着问题和任务更主动地学习指令系统的基础理论知识,充分地理论联系实际,根据设计中对计算机功能和组成的要求来完成对指令系统的设计,并可以在“计算机组成原理课程设计”实验过程中进行完善。教学实践表明,将计算机指令系统的设计任务安排在“计算机组成原理”讲授指令系统的过程中,可以让学生在理论和实践相结合的基础上更深入地理解机器指令和指令系统之间的关系,掌握指令系统的分析和设计方法,还有利于对“计算机组成原理”后续知识点的理解。

2.1.1 设计要求

要求为一个八位字长的计算机设计指令系统。该计算机数据通路、运算器都是八位的,具有256字节的存储器、八个通用寄存器以及其他的必要部件。设计的指令系统要求必须包含如下指令和寻址方式:

(1)数据传送指令:包括取数、存数,寄存器之间传送数据等指令。取数、存数应具有立即数、存储器立即寻址、寄存器立即寻址等方式。

(2)运算指令:包括加法、减法、自加1、移位、取反等算术运算指令。

(3)转移指令:无条件转移指令、条件转移指令。

(4)停机指令。

2.1.2 确定指令系统及指令编码

由于设计的是八位计算机的指令系统,可以采用单字长和双字长指令。例如,八位计算机的指令格式可以为:

一个完备的指令系统必须包括数据传送、算术逻辑运算、程序控制等指令,能够实现约20~30条指令和常用的寻址方式,例如:

(1)取指令 (双字长指令)

MOV AC, Mi Mi-->AC (AC为累加器,Mi为存储器地址)

(2)加法运算指令(单字长指令)

ADD AC,Ri AC+Ri-->AC (AC为累加器,Ri为通用寄存器i)

根据设计要求,表1给出了设计指令系统的一种方案。

指令系统的性能决定了计算机的基本功能,因而指令系统的设计是计算机系统设计中的一个核心问题。一台真实的计算机通常是非常复杂的,学生不可能在有限时间中设计出来。我们要求学生设计的计算机功能较简单,基本指令简单、典型,学生容易掌握,也有利于后续计算机系统设计的开展。

2.2 控制单元的设计

控制单元的设计是计算机系统设计的重点和难点。基本控制单元的设计问题包括如何形成和连接受控部件的控制信号,以及在何时使这些控制信号有效。学生独立地设计控制单元,不仅可以使学生剖析和体验设计的基本思路和方法,为今后设计计算机打下初步基础,而且可以培养学生分析问题和解决问题的能力,使学生有更多的想象空间和发挥空间。

2.2.1 设计要求

控制单元的设计有组合逻辑和微程序控制两种方法,我们要求用组合逻辑来产生控制指令执行的控制信号序列。整个设计需要综合考虑,根据每个微操作对应的逻辑表达式生成控制信号。

2.2.2 组合逻辑控制单元的设计

根据指令系统的设计,对每一条指令进行细化,对指令执行过程进行分析,确定执行每一条指令所需的微操作数及节拍数、确定系统时钟节拍数、以及确定每个节拍对应的微操作,形成每条指令的微操作时间序列表。并根据微操作时间序列表,在节拍信号和指令译码信号的作用下,得到所有微操作的控制信号以及使该控制信号有效的条件,形成每个微操作对应的逻辑表达式。根据逻辑表达式及其对应的控制信号产生电路,就可以完成具有整个指令系统的控制单元的设计。

控制单元的设计内容我们有意识地安排在“计算机组成原理”课程讲授控制器的过程中。学生们对于课堂上讲授的有关控制单元的原理、概念和设计方法并没有直观的印象,单纯的理论学习难免枯燥,难以提起学生们的兴趣。教学实践证明,在“计算机组成原理”讲授控制单元的过程中,学生们对自己在第一阶段设计的指令系统中的每一条指令执行过程进行分析,对八位字长计算机的控制单元进行初步设计,可以把控制单元中的各个知识点串起来,可以有效加深对计算机工作中数据流和控制流概念的理解,进一步弄清计算机内部结构的时空关系,并极大地调动了学生们的学习兴趣。

2.3 体系结构的设计

在计算机系统设计和实现阶段,根据自顶向下的设计方法,首先设计整个计算机的大体框架,即总体结构图,以求有一个大体的框架,对以后的设计工作起到指导作用。再依据自顶向下的设计思想,把整个计算机划分为多个模块,对各个模块进行设计,然后综合,完成整个计算机的设计。

2.3.1 设计要求

要求设计一个八位字长的计算机的体系结构,该计算机数据通路、运算器都是八位的,具有256字节的存储器、八个通用寄存器以及其他必要部件。在功能上,要求该计算机能够完成单字节或双字节加/减、单字节无符号乘法、16位除以8位除法等多种基本运算。要求设计的计算机系统能完成指定的功能,功能较强而又简洁。

2.3.2 总体设计

按照学生所设计的指令系统的要求,参考一般计算机的数据通路结构,图2给出了八位计算机总体结构框图的一种设计方案,规定了各功能部件的功能和各功能部件之间数据通路的走向。

在图2中,AR为地址寄存器,PC为程序计数器,IR为指令寄存器,AC为累加器,GR为通用寄存器组,ALU为算术逻辑运算单元。C标志寄存器用来寄存进位C标志,Z标志寄存器用来寄存结果为零的Z标志。另外在图2中还有两个四选一开关和一个二选一开关,其中的一个四选一开关是用于形成C标志的输入,另一个四选一开关用于控制数据总线,二选一开关用于控制地址总线。

2.3.3 功能部件的设计

基于所设计的计算机总体结构,确定每一个功能部件的功能、功能部件与外部的连接端口信号、各功能部件与数据总线连接方案。

(1)运算器的设计

运算器由ALU、通用寄存器堆GR、累加器寄存器AC及数据选择开关等组成,具有进位(C)、结果为0(Z)等状态标志位。

能实现最常用的算术运算(加、进位加、减、借位减、自加1、自减1等)、逻辑运算(逻辑与、或、非)及移位、数据传送等功能。

(2)控制器的设计

控制器包括脉冲源、启动电路、节拍发生器、程序计数器PC、指令寄存器IR、地址寄存器AR和控制信号产生部件。整个设计需要综合考虑,根据每个微操作对应的逻辑表达式生成控制信号。

(3)数据总线

数据总线的数据源较多,在设计过程中要注意各个数据源在数据总线上是否冲突。

简单计算机体系结构和各个功能模块的设计环节,有助于学生在理论和实践相结合的基础上,深入了解计算机系统各部分的工作原理及相互联系,加深对计算机工作中数据流和控制流概念的理解,加深整机概念,进一步弄清计算机内部结构的关系。

3 结论

“计算机组成原理”是学习计算机系统的关键课程,在完成基本原理知识学习的同时,必须加强对学生的创新意识、实践能力和设计能力的培养。正是基于此点,根据从事计算机组成原理的教学经验,我校在理论教学过程中引入了设计性环节,充分重视培养学生分析问题和解决问题的能力。不仅活跃了课堂气氛、拓展了师生沟通的渠道,而且便于在教学中及时发现学生存在的问题,达到教学相长的目的。对提高教学质量、加深学生对所学计算机组成原理知识的理解、增强学生开创能力是非常有益的,符合新时期人才培养的需要。

在“计算机组成原理”设计性环节的教学实践中,我们发现不同的设计方案越来越丰富,反映出学生的求知欲望是很强的,而且富有创新精神。设计性环节的教学实践使我们深深体会到,除理论教学外,设计性实验也是一个非常重要的环节。通过学生自己动手提高其综合运用知识的能力,是培养大学生专业素质的重要环节和有效途径,无疑将对学生能力的培养起到积极作用。

参考文献:

[1] 王保恒,肖晓强.计算机原理与设计.高等教育出版社,2005,(1).

[2] 刘芳,王志英,戴葵,陆洪毅,王进.“计算机组成原理课程设计”的教学实践[J]. 第一届中国计算机教育与发展学术研讨会,2006,(8).

[3] 赵硕,杨欣宇. 计算机组成原理课程的设计性实验[J]. 高师理科学刊,2005,(5).

[4] 徐爱萍等.计算机组成原理课程教学改革研究[J]. 高等建筑教育,2004,(3).

收稿日期:2007-1-18

作者简介:刘芳(1971-),女,博士,国防科技大学计算机学院讲师。主讲“计算机原理”与“计算机原理课程设计”两门主干课。研究方向为计算机体系结构和信息安全。

通信地址:湖南长沙 国防科技大学计算机学院601教研室

计算机课程设计总结例8

高校工科专业开设的《计算机硬件基础》课程,是培养学生利用计算机科学使用装备、科学管理装备、科学研究装备的技术基础课程之一。该课程主要介绍计算机硬件的基础知识和基本工作原理,旨在提高学生对计算机硬件基础知识的了解和基本工作原理的认识、掌握,对于培养学生的机电设备计算机控制方法和动手操作能力方面具有较为重要的作用。

一、课程改革的必要性

计算机课程在非计算机专业中的开设是随着计算机及应用技术发展到一定阶段而提出的。在九十年代中期,其逐渐成为各工科专业基础课程,国内几乎所有院校(特别是工科院校)的大部分专业都开设了计算机硬件基础或相关的课。《计算机硬件基础》课程也是我校各专业的必修课程。

计算机硬件基础课程目的是培养学生的工程实践能力、实际动手能力和科技创新能力,特别是以应用计算机硬件为主要技术思考、分析、解决本专业领域中实际问题的能力。“计算机硬件基础”课程需要让学生更多地掌握计算机接口及其应用知识,以期能应用所学知识深刻理解实际装备的结构和工作原理,能解决实际问题,尽快适应岗位,胜任岗位。

现行的课程标准基本按照“微计算机原理、微计算机接口、微计算机应用”三个层次进行讲述。其中,微计算机原理部分安排24学时,包含4个实验学时,接口和应用部分共安排16学时,包含2个实验学时。从课时分布上看,课堂教学和实验教学都过于偏重于微计算机原理部分,这虽然有利于学生对微计算机内部工作原理的理解,但是由于接口和应用部分的课时偏少,又不利于学生掌握微计算机在实际中的应用,而实际工程应用方面的知识才是这些学生在第一任职岗位上所更需要的。

教学应该以学生为本。学生需要学什么?社会需要什么样的人才?这不仅是设置培养计划所要遵循的原则之一,也应在课程教学实施过程中得到贯彻和落实。因此,有必要对现行的课程标准进行调整,让教学内容和教学形式更加适应学生第一任职需要。

二、课程改革的内容

课程标准调整的总体思路是根据学生培养方案,在计算机硬件基础课程总课时不变的情况下,适当减少微计算机原理部分的课时,增加接口和应用部分的课时,适当增加实验课时,减少课堂教学课时,并且实验更偏重于接口和应用部分。

1、课堂教学

工科专业学生的第一任职一般都是技术管理岗位,学习和应用计算机硬件技术,主要涉及的是微机和接口芯片的外部特性,以及如何通过总线实现微机与各种接口电路及外设连接、组成微机应用控制系统等,而一般不需要进行计算机控制系统的底层开发,所以在选择、组织教学内容和实施教学过程中,应始终围绕计算机系统及其各大组成部分的硬件结构与工作原理这样一条主线展开,强调硬件与软件的结合,并适当淡化微机内部和芯片内部原理,而强化基于总线连接的外部接口与应用。

但是,在现行课程标准中,微计算机原理部分的“汇编语言指令系统”和“汇编语言程序设计”两节内容共占用16个课时。汇编语言是一门与机器语言最为接近的编程语言,掌握汇编语言程序设计的确能更加深入理解计算机工作原理,但是汇编语言不同于高级语言,其指令多且难记。虽然学生已经学习并初步掌握了C语言程序设计,有一定的计算机语言程序设计基础,汇编语言程序对其而言也是晦涩难懂,编写汇编程序更是困难。所以要想掌握汇编语言,学生还是要花大量的时间和精力。对于这些专业的学生来说,《计算机硬件基础》课程的目的是让学生能掌握计算机接口及其应用的知识,花过多的精力学习汇编语言不仅不能突出重点,而且在今后的实际工作中,绝大部分学生都不会再用到汇编语言知识,白白浪费了时间和精力,得不偿失。因此,应降低学生对本门课程中“汇编语言指令系统”和“汇编语言程序设计”相关内容的学习要求,并相应减少其所占的课时数。

另外,现行课程标准中“微计算机接口和应用”部分因课时较少,讲述的内容更多还是在接口芯片的原理和性能上,对接口的实际应用仅详细讲述了“8255A并行接口芯片”,而8251A串行接口芯片也仅仅是简单介绍其主要结构、性能和用途,并没有着重讲述其具体应用。而“数/模转换”、“模/数转换”、“计数器”、“单片机”等常见的典型接口及应用都只作为自学内容,也没有安排专门的实验学时帮助学生理解相关接口知识,所以课程结束后,很多学生对计算机在实际中应用了解得还不够。因此,很有必要将这些比较典型的接口芯片及其应用列入课堂教学,以增强学生对计算机在实际中应用的形式和方法有比较深入的理解。要多结合舰艇动力装置和机械控制类的接口等在舰艇上的应用实例,让学生熟悉接口控制技术在本专业的应用,并要及时跟踪最新装备,将其与本门课程相关的技术应用引入课堂,开拓学生的视野,增强学生的学习兴趣。

2、实验教学

现行课程标准中安排了3个实验,共6个学时,其中有两个实验是为学生深入理解微计算机指令系统和汇编程序设计相关知识而设置的,另外一个实验是为了让学生运用课堂学习的知识,结合具体硬件,熟悉计算机系统在实际中的应用。

根据课程改革思路,在课堂教学内容偏重于接口和应用部分的同时,不仅要增加实验课时,还要让实验教学也应偏重于接口和应用。因此,可将本门课程的实验数量调整为4个,共6个学时,微计算机原理部分占用1个实验,而接口和应用部分占用3个实验,在保留原有的8255A并行接口控制实验的基础上,增加8251A串口接口通信控制、数/模转换和模/数转换等多种接口应用型实验。

3、考试评价

现行课程标准采用考试与平时成绩相结合的方式,考试一般采用开卷的形式,占课程总成绩的80%,平时成绩占10%,实验成绩占10%。但是目前,在广大学生中存在重理论轻实践,重考试轻实验的现象。为督促学生重视实验教学,应要求学生重视实验报告,启发学生创新思维,鼓励学生认真总结实验经验,杜绝抄袭他人实验程序和实验结果等现象,并应在适当增加实验课时的同时也要增加实验在最终成绩重的比重,与此同时,需要完善学生实验考核成绩评定,充分调动学生对实验教学的积极性,达到学生实验动手能力的成绩在总评成绩中占合理比例。所以,将课程总评成绩分为卷面成绩70%,实验成绩20%,平时成绩10%三部分。

三、设立不同的课程标准

计算机硬件基础课程是我校各专业的专业基础必修课程。全校各专业,无论是电类专业还是非电类专业,课程名称统一称为“计算机硬件基础”,但是实际课程教学实施过程中,根据学生学历层次和专业情况不同,执行的课程标准并不相同。于是出现了同一门课程,执行的课程标准却不同,严格来讲,课程标准不同的课程不是同一门课程。因此,很有必要将该课程根据所执行课程标准不同将课程名称加以区分,让课程名称更加规范。

就我校目前实际情况,各工科专业都开设了“计算机硬件基础”课程,有部分专业是非电类专业,其课程标准与其它电类专业的课程标准差异较大。因此可以将电类专业开设的计算机硬件基础课程名称改为“计算机硬件基础I”,将非电类专业开设的计算机硬件基础课程名称改为“计算机硬件基础II”。这样可以明确不同专业所开设的课程也不同,而不再出现同一门课,课程标准确不同的现象,从学校层面上规范了课程名称。

四、结束语

由于计算机的应用已经涉及各个领域,但是应用层面和方式差别很大,所以在“计算机硬件基础”课程教学实施过程中,确有必要根据学生的专业不同来合理组织教学内容,使其与本专业学生学习计算机的目的相适应,制定不同的课程标准。教员根据课程的教学任务和要求,结合教学的具体内容,以教学原则为指导,通过对教学内容和教学模式进行改革,以先进的理论创造性地组织教学,将以往“要学生学”改变成“学生要学”,充分发挥学生的创造性思维学习和能动性,提高该课程的教学效果。

[参考文献]

[1]陈立刚等. “计算机硬件技术基础”课程创新教学改革的实践[J].电气电子教学学报,2009, 31(9):109-112

计算机课程设计总结例9

“计算机组成原理”是计算机科学与技术专业的主干硬件专业基础课,它的先导课程包括“模拟电子技术”、“数字电子技术”和“汇编语言”;后续课程有“计算机体系结构”、“计算机接口技术”、“单片机”等过渡课程,关系较为密切的课程还有“操作系统”、“嵌入式应用开发”等,如图1所示。

图1“计算机组成原理”基础课程关系

由图1可见在这些涉及到硬件较多的课程中,“计算机组成原理”是最主要的课程,在一系列软件、硬件课程中起着承上启下和支撑作用,是所有后续硬件专业课的基础和支撑,教学内容也在计算机整个课程体系中起着举足轻重的作用。它的主要教学任务是要求学生能系统地理解计算机硬件系统的逻辑组成和工作原理,培养学生对计算机硬件结构的分析、应用、设计及开发能力。它既有自身的完整理论体系,又有很强的实践性。该课程具有知识面广、内容多、抽象枯燥、难理解、更新快等特点。因此,如何把握课程的主线和重点,使学生扎实掌握计算机系统各部分的工作原理,牢固建立整机概念,同时强化硬件实

践,培养创新理念和创新能力,成为建设该精品课程的重点。

1加强师资队伍建设是首要任务

精品课程建设的关键是师资队伍的建设和师资素质的提高。建设一支德才兼备、结构合理、人员稳定、教学水平高、教学效果好的高素质教师队伍,对课程建设来说至关重要,是实现本科教育培养目标、提高人才培养质量的关键。一方面,我们积极参加高等教育科学研究,积极组织和鼓励教师自觉结合教育教学改革中所遇到的深层次问题进行教学理念、课程体系、教学内容、教学方法与手段等方面的研究,努

基金项目:内蒙古师范大学精品课程建设教学研究课题科研基金(内蒙古师范大学教务[2008]第7号文件)。

作者简介:侯宏霞(1975-),女,内蒙古呼和浩特人,讲师,硕士,研究方向为计算机教育应用。

力提高自身的教育教学水平。另一方面,为了促进教学,我们经常组织教研活动,如集体备课,即集体讨论确定教学大纲和教案,研讨教学中的重点、难点和疑点,安排确定教学实践环节;组织教师之间互相听课,取长补短,共同提高;安排新任课教师试讲,并对其进行评议;传达全国性学术会议研讨的热点问题,使教师了解学科前沿动态,提高教学质量。通过这些教研活动,统一了教学内容、进度和要求,克服了教学的随意性,增强了教学的计划性和严肃性;保证了教学内容的不断更新,使之能追踪学科前沿,紧密结合高等教育改革实际;能及时了解学生对授课的反映,便于任课教师进行改进和调整;提高了教学的整体水平,有利于青年教师的培养和成长。

2优化教学内容

“计算机组成原理”课程的内容组织,应该从整机概念出发,以计算机的5大部件内容为主线,以其内部结构和工作原理为重点。我们将教学内容分为3个模块,如图2所示。首先介绍计算机系统的硬件结构,引导学生自顶向下了解计算机系统的硬件结构,包括中央处理器、存储器、I/O等主要部件以及连接它们的系统总线。其次介绍中央处理器,讲述CPU的功能和结构,并对影响CPU特性、结构和功能的算术逻辑单元及其运算方法、指令系统、指令流水、中断系统等进行详细分析。最后是控制单元,在详细分析时序系统以及微操作命令节拍安排的基础上,分别介绍如何用组合逻辑控制和微程序控制两种方法设计和实现控制单元。这样对教学大纲规定的内容按模块进行划分,将相关的内容归到同一个块中,并将块与块之间的联系一一展示出来,形成一个层次清晰、结构明朗、联系紧密的统一体。学生就能对某一个具体的知识点进行纵向的扩展和横向的比较,加深记忆。[1]

另外,在传统教学内容的基础上,我们结合当今计算机技术的发展,适当增加有关计算机各部件的演变历史和最新技术的知识,增加了对现代计算机系统中涉及的流水线技术、总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术的简要介绍。在CPU部分,除了介绍从80386、80486到Pentium的演变过程,还以80486和Pentium为实例,对微处理器的关键技术作简单说明和归纳,锻炼学生把学到的计算机理论知识和实际应用联系起来。[2]

图2计算机组成原理教学内容关系图

3改革实验教学

3.1改革实验教学内容

理论是基础,但绝不可忽视实践教学,实践教学可以培养和激发学生学习计算机的兴趣。我们将实验

教学内容分为3个层次,如表1所示。首先是基础验证型实验,该类实验主要涉及课程的相关知识点,实验目的是使学生验证、理解、巩固并掌握课内所要求的基本教学内容。其次是设计应用型实验,该类实验以“任务”或“课题”形式提出实验要求和具体的实

验成果,要求学生通过有关课程或自学方式,掌握实验所涉及的知识,通过综合利用这些知识来设计、开发并最终完成实验项目。第三是综合创新型实验。该类实验旨在培养学生综合应用计算机知识与技术的能力,培养学生带着问题自主学习的能力。

表1计算机组成原理实验内容

层次划分 实验项目

基础验证型 运算器实验、时序电路的组成与控制原理实验、存储器实验

设计应用型 设计八位ALU实验、基本模型机设计与实现实验

综合创新型 复杂模型机设计与实现实验

其中,部件实验主要是以基础验证型实验和设计应用型实验为主,其内容包括运算器、存储器、总线传输、微程序控制器等;整机课程设计是以综合型实验、创新型实验为主,是本课程的重要内容。这几部分实验随课程进度分散在不同阶段完成,这样可在培养学生动手能力的同时使其对计算机的每一部分都有深入的了解,由此加深其对课程内容和理论知识的理解。通过实验能够使学生更加深入地理解计算机的组织、结构和工作原理,从而提高学生对计算机系统的感性认识。

通过实验,一是能使学生容易理解和掌握所学书本知识;二是可以锻炼和提高学生的组织能力以及分析解决实际问题的能力;三是可以促进教师在教学中加强理论联系实际,提高教学质量。[3]

3.2改革实验教学的组织方法

培养学生实验能力和设计创新能力是我们实验教学的重要目标。为此,课堂上教师只是启发性地讲解各模块的工作原理,其余部分全部由学生独立完成。每次实验严格遵循课前预习、课堂训练、实验调试、验收Y果的实验环节,切实培养学生的实践能力。另外,要求学生给出实验重要环节记录手写稿,包括实验进行中遇到的问题及解决方法,回答实验教材中以及教师课堂上提出的思考题,它将贯穿于整个实验阶段,体现学生实际实验的情况,是学生独立实验的一项重要证明。

3.3探索适应精品课程的实验评价体系

3.3.1采用学生答辩的方式

实验结果验收环节是非常重要的,是实验考核的重要参考依据。为了保证学生能够真正在实践中提高

自己的动手能力,并且掌握相关的基本原理,必须抓好实验验收环节。在实验结果检查时,需要检查所有的电路设计和实验台演示的完成情况,每个学生要讲述实验原理、阐述有哪些创新或改进之处,老师还要对每个学生提出3~5个问题。学生现场答辩演示情况可以反映出学生独立思考、独立分析问题和解决问题的能力,能够直观地了解学生是否能够学以致用,达到提高实践动手能力的目标。

3.3.2使用量化的成绩评定方法[4]

实验课程成绩主要由学生的出勤情况、预习情况、实验操作过程和实验报告4个成绩综合评定。其中,实验操作过程为主要评分依据,实验成绩的具体考核方式为:

(1) 出勤情况按次记,每次2分,总分12分,缺课1次扣6分,但无故缺课2次以上,实验总成绩记0分。

(2) 预习按次记,每次3分,总分18分,包括实验准备情况和预习报告,随堂抽查或在实验报告的预习部分体现,缺1次扣6分,但预习最大扣分不超过18分。

(3) 实验操作过程按等级评定,每个等级对应的分数为A(90)、B(80)、C(70)、D(60)、E(50),占实验总成绩40%。

(4) 实验报告,按等级评定,每个等级对应的分数为优(90)、良(80)、中(70)、及格(60)、不及格(50),占实验总成绩30%。

综合评定实验成绩为:

实验总成绩=出勤+预习报告+实验操作过程×40%+实验报告×30%。

4结语

总之,“计算机组成原理”精品课程的建设应该是以现代教育思想为先导,以提高师资队伍素质为前提,以优化教学内容为基础,以改革实验教学为保障,以推进教学资源共享为原则,集师资队伍、教学内容、教学方法、教材建设和管理制度于一身的整体建设。同时,计算机技术、网络技术、超大规模集成制造技术的迅速发展对该课程的教学也提出了更高的要求,教师在授课过程中应该不断总结经验,积极探索改进教学方式方法,以取得更好的教学效果。

参考文献:

[1] 袁媛,叶正权.“计算机组成原理”课程教学改革研究[J]. 科技信息,2009(9):529.

[2] 徐洁,俸远祯. 计算机组成原理与汇编语言程序设计[M]. 北京:电子工业出版社,2005.

[3] 汤晓安,王文惠,郝建新,等. 精讲多练打造“微机原理与接口技术”精品课程[J]. 高等教育研究学报,2007(6):58-59.

[4] 侯宏霞. 关于提高“计算机组成原理实验”课程教学质量的探索[J]. 计算机教育,2009(8):154-156.

The Practice and Research on Excellent Courses Construction of Principle of Computer Organization

HOU Hong-xia, SONG Yun

计算机课程设计总结例10

从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.