刘翔,丁慧华,石蕴玉
摘要:计算机硬件系列核心课程是计算机专业本科教学的重要组成部分,旨在培养该专业学生的计算机系统分析及设计等能力。本文讨论了计算机硬件系列核心课程的国内外教学情况,并从培养计划制定、实践环节设计和课程体系举措三个方面介绍了教学改革的探索工作,给出了需要进一步探索实践的具体方案。
关键词:计算机硬件课程;计算机系统分析;计算机系统综合实验
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)44-0253-02
计算机硬件系列核心课程实践教学在计算机专业本科教学中占有重要的地位,其系列核心课程包括:数字逻辑、汇编语言程序设计、计算机组成原理与系统结构、微机原理与接口技术,还包括一些应用型计算机硬件课程,如嵌入式系统与单片机原理。这些课程不仅可使学生深入了解计算机基本组成及工作原理、掌握计算机系统基本设计技术,而且培养了学生的计算机系统能力,涵盖了计算机系统分析、系统设计和系统继承等重要教育环节[1]。
一、硬件系列核心课程教学状况
随着现代电子技术和信息技术的高速发展,计算机内部结构变得越来越复杂,结构高度集成化、计算资源多样化;从外部设备来讲,大规模数据中心、个人移动设备与PC等共存、软件和硬件协同设计,为了编写高效程序必需了解计算机底层结构,进一步使得计算机硬件系列课程显得抽象、乏味、知识点繁杂,使得原先基于PC而建立起来的专业教学内容已经远远不能反映现代社会对计算机专业人才的培养要求[2],出现了“老师难教,学生难学、不易掌握”的尴尬局面,实践环节薄弱与落后、难以与理论相结合,传统的教学方法和教学手段难以实现教学目标,因此,针对计算机硬件系列核心课程,探索教学方法、提高教学效率、保证教学效果,是当前需要解决的关键问题。
与其他专业学生相比,计算机本科专业学生涉及的多方面能力并不占优,例如在硬件设计能力方面不如电子工程专业学生,行业软件开发和应用能力不如软件工程等专业学生,算法设计和分析基础不如数学系学生。计算机专业学生的优势之一在于计算机系统能力,即具备计算机系统层面的认知与设计能力、能从计算机系统的高度考虑和解决问题[3]。但与国外一流大学相比,国内高校在系统能力培养方面还存在一些问题。
(一)国内外大学相关教学情况
美国卡耐基梅隆大学(CMU)的计算机科学学院为CS和EE(ECE)学院本科学生开设的贯穿整个计算机系统的入门基础课《Introduction to Computer Systems (ICS)》,所用教材都是由Randal E.Bryant和David R.OHallaron编著的《Computer Systems:A Programmers Perspective》,其教学内容主要是让程序员了解计算机是如何执行程序、储存信息和计算的,从而使学生成为更有效的程序员,与此对应的实验内容是通过一组C语言编程实验,使学生了解高级语言程序转换为机器代码的过程,深刻理解底层机器的系统结构(包括指令格式、数据表示、寄存器组织、Cache结构、虚存空间的映射等),云计算平台上的并行编程、SIMD数据级并行编程和多线程编程实验等[4],切实有效地提高学生编制和调试高效程序的能力,并为后续课程打下良好基础。
在国内绝大多数高校开设的课程中,很难找到类似份量的关于计算机系统的入门课程,一般只会开设计算机系统概论或导论之类的课程,但侧重于知识面的扩展,不会讲透特定的知识点。如果说国内的计算机组成原理课程相当于美国大学的计算机系统入门课程,那么其教學内容的广度和深度都相差很远[5]。
在教学理念及教学内容方面,国内大多数学校的硬件核心课程仍然停留在计算机硬件的基本构成和基本设计原理层面。因而,计算机专业系列核心课程的教学未能达到既定目标:培养学生的硬件设计能力、编写和调试高效程序的能力,让学生建立对计算机软件系统和硬件系统的整体概念。
(二)国内相关教学的改革现状
随着国际交流的进一步深入和电子技术的高速发展,众多高校在计算机专业硬件课程教学中日渐重视培养学生系统能力。
目前,浙江大学在暑假开设有关CPU及其计算机系统设计的选修课;东南大学开设了面向所有学生的计算机系统综合实验课程;上海交通大学进行了数字逻辑、计算机组成、嵌入式系统等课程的软硬件协同设计、多核系统设计和可重构系统设计;清华大学完成了计算机综合实验平台的所有软硬件的开发,准备在本科生中开设计算机系统综合实验课程。另外,复旦大学和上海交通大学开始开设与CMU类似的课程[2],但是要在国内高校全面推广则具有一定困难。
二、相关教学改革总体思路
(一)教学目标的教学改革思路
根据计算机软硬件领域的发展情况,对应国内外一流学校的教学情况,结合本校实际情况,我校计算机科学与技术专业在硬件核心系列课程基本培养目标为:建立计算机系统的整体概念,理解计算机系统的层次结构,具备计算机硬件的设计能力;合理划分计算机系统的软、硬件功能,理解从硬件角度出发编制和调试高效程序的基本原理,分析和调优计算机系统整体性能。
(二)课程体系实践环节的教学改革方案
要达到上述教学目标,除做好师资队伍建设、更换实验设备外,还需要提高学生对整个计算机系统实现原理的认识,是学生掌握现代计算机系统中核心的技术和实现方法,主要包括对计算机系统整体概念的认识;对计算机系统层次化结构的深刻理解;对高级语言程序、编译器、链接器等之间关系的深入掌握;对指令在硬件执行过程的理解;对构成计算机硬件的基本电路特性和设计方法等的基本了解等。从而更深刻地理解时空开销和权衡、抽象和建模、分而治之、缓存和局部性、吞吐率和时延、并发和并行、远程过程调用、权限和保护等重要核心概念[3]。endprint
(三)課程体系实践改革方案具体措施
针对上海工程技术大学硬件课程实践教学的实际状况,完善教学大纲实施细则,进一步详细规划计算机硬件类课程涵盖内容,进行课程整合优化,扎实地推进课堂教学、完善综合实验、提升创新性应用开发的综合规划和实施,需要保证计算机硬件类课程在专业课程中的主导地位,计算机硬件基础知识是衡量计算机科学与技术专业毕业生知识结构是否合理的指标之一。因而,对于与计算机硬件系列核心课程,需要深入加强教学方法的研究、精心设计教学实践环节,让学生对硬件课程的学习产生兴趣,提高其计算机硬件知识的掌握能力。
在计算机专业研究生入学考试和企业招聘面试过程中,逐渐重视学生或应聘者的计算机系统思维能力,程序执行的结果需要综合考虑算法和编程语言,以及计算机硬件的系统结构,这在一定程度上表明了当前计算机硬件类课程进行有效教学的重要性。在我校的计算机硬件系列课程教学中,目前正采取突出重点、强调基础、加强实践环节的方式来稳步推进教学工作的开展。同时对综合实验、创新性课程进行了改革,协同保障实现硬件系列课程的改革目标;采用分级式实验内容和成绩评价指标,兼顾不同层次学生的个人能力和水平;鼓励学生根据自身的学识水平,参加各类计算机硬件相关竞赛活动,在竞赛中充分利用已学知识和探索未知知识。利用我校“走出校园促发展”相关政策,与企业建立紧密联系,实现学生实践学习,提高我校学生专业素养,提升学生就业竞争力。
三、结语
在计算机硬件系列核心课程的教学中,应充分借鉴国内外一流高校的教学经验和教学成果,对计算机科学与技术专业的学生重点强调计算机硬件知识对于计算机系统架构的重要性,顺应电子技术和信息技术的研究发展趋势,开展顺应社会需求的教学与实验改革,让学生对计算机系统框架形成完整理解,理论课程内容与实践环节内容形成紧密对应,为后续课程打下坚实的基础,加强计算机系统思维能力,形成自己独特的专业优势。
参考文献:
[1]徐昆良.《计算机组成原理》课程教学方法探讨[J].中国科技信息,2009,(9):254+256.
[2]袁春风,王帅.大学计算机专业教育应重视“系统观”培养[J].中国大学教学,2013,(12):41-46.
[3]刘洪涛,兰文富.本科课程设计对学生能力培养[J].信息系统工程,2014,(5):160.
[4]袁春风,张泽生,蔡晓燕,杨若瑜,王帅.计算机组成原理课程实践教学探索[J].计算机教育,2011,(17):110-114.
[5]铁流.计算机教育出了什么问题,连龙芯都“忍不住”开源了[EB/OL].http://chuansong.me/n/1065186751281.endprint