面向系统能力培养的计算机专业实践教学模式

2017-09-25 10:30谭志虎秦磊华胡迪青
中国大学教学 2017年9期
关键词:实践教学

谭志虎?秦磊华?胡迪青

摘 要:计算机系统能力培养是目前国内外计算机教育的新动向。系统能力的培养依赖于计算机专业理论与实践教学的有效联动,传统计算机实践教学体系存在实验目标离散、实验内容割裂、实验规模不够、实验平台分离的问题,结合系统能力培养的系统观、构造观、工程观等特征,以设计与实现完整的计算机软硬件系统为顶层目标,重构了面向计算机系统能力培养的一体化实践教学模式,并给出了相应实践教学组织保障体系。

关键词:计算机系统能力;实践教学;系统观;构造观;工程观

2013年以来,计算机系统能力培养已经成为国内外计算机教育的新动向,教育部高等学校计算机类专业教学指导委员会(以下简称“教指委”)非常重视并开展了大量系统能力培养的研究与推广工作,国内一大批高校加入“教指委”主导的计算机系统能力培养研究项目,围绕系统能力培养的课程体系和实践体系进行了大量探索与实践。华中科技大学计算机学院从2012年开始推行计算机系统能力培养,并对面向系统能力培养的实践教学模式进行了探索。

一、计算机系统能力培养的基本特征

2008年,国内学者提出了包含计算机系统认知、系统设计、系统开发及系统应用等能力点的计算机系统能力概念,并设计了面向系统能力培养的计算机专业核心课程体系[1]。2011年又对计算机系统能力进行了细化,分别将系统认知能力、系统设计能力、系统开发能力及系统应用能力细化为6,19,23及14个能力点[2]。

2013年美国ACM/IEEE研制了Computer Science Curricula 2013(CS2013),对其早期发布的CC2001中原有的14个知识域进行了适度调整,增加了系统基础、并行和分布式计算、基于平台的开发、信息保障和安全等四个新领域,同时强调系统知识和系统能力培养。综合分析CS2013和近几年国内系统能力培养的系列研究成果[3-5],可以发现计算机系统能力培养具有如下几个基本特征。

(1)系统观。系统观是系统认知、系统设

计、系统开发及系统应用能力的共性体现。强调学生对计算机系统的深刻理解[6],掌握计算系统软/硬件部分各抽象层的关联、相互制约与相互促进关系;了解计算机底层硬件结构(包括并行结构)、指令集设计等对程序执行性能的影响,具有“性能编程”的思维和系统层次视野。

(2)构造观。构造观是系统设计能力的具体体现。强调培养学生从计算机软/硬件功能部件到计算机系统及应用系统的设计能力,包括硬件功能部件(含芯片、外部设备等)、智能系统硬件(含计算机硬件、传感器硬件等)、系统软件、应用系统的设计能力;强调自主知识产权,强调软/硬协同。

(3)工程观。工程观是系统开发和系统应用能力的具体体现。强调培养学生软/硬协同视角下的计算机系统开发和实现能力,训练学生考虑工程制约因素、选择恰当技术和工具进行工程优化的意识。强调大工程观[7],关注工程实施过程中科学要素、技术要素及非技术要素的协调与融合。

充分理解计算机系统能力培养的上述特征,对开展面向计算机系统能力培养的实践教学模式的研究具有十分重要的指导意义。

二、实践教学环节存在的不足

通过前文对计算机系统能力培养三个基本特征的分析不难发现,系统能力培养需要通过大量的系统级复杂工程训练才能达到。然而,目前计算机类专业实践教学模式在诸多方面还存在一些不利于系统能力培养的因素,概括起来主要有如下不足。

(1)实验目标离散。实验目标围绕课程教学目标制订,缺乏系统级顶层设计和统一规划,导致专业核心课程间的关联与融合不够、系统性不强,难以给学生提供系统级思维与实践的训练,不利于学生建立系统观。

(2)实验内容割裂。原有实践体系中课程实验内容设计均按课程进行,没有考虑相邻课程的实验成果如何有机集成为功能更强、规模更大的系统,学生在校期间缺少完整计算机系统设计与实现的实践经历,无法达成复杂计算机系统构造观的训练。

(3)实验规模不够。只有达到足够规模,一个系统所具有的共性特征、开发难点等才能较好显现,学生才能真正学习并掌握系统构造方法,进一步领会系统构造的核心原则(如设计权衡)[8]。原有实践体系目标离散、内容无序割裂、各课程实验规模偏小,工程训练强度不足,很难养成系统级开发能力中必需的工程观素养。

(4)实验平台分离。原有模式下除软件类课程实验在微机上完成外,硬件类实验平台一般都是按课程配置,如大多数计算机院系分别配置有数字逻辑、组成原理、接口技术、嵌入式系统等课程的实验台/箱,分离的实验平台只能完成功能部件级而无法支持系统级训练。

三、系统能力培养实践教学一体化设计

系统能力的内涵揭示出系统能力培养只有通过大量的实践环节才能达成。面向系统能力培养的实践既强调原创性自主设计或集成性创新,又强调实践应具有一定的规模性和复杂度[7]。

原有实践体系中课程实验目标定位、内容设计及实验平台配备等均按课程进行,缺乏一体化设计,加之原有课程结构不完整,多门课程的实验不能融合集成为完整计算机系统,学生在校期间缺少完整计算机系统设计与实现的实践经历。这就要求我们按照CDIO的理念,突破课程限制,按所確立的系统能力培养侧重点进行实践教学体系的顶层重构。

(1)实践教学体系顶层设计。为帮助学生建立良好的计算机系统观,我们将大学四年能够独立设计实现一个集成自主CPU、操作系统、编译系统的完整的计算机系统作为顶层实践教学目标,要实现该顶层目标学生必须掌握CPU设计、接口设计、操作系统软硬集成、编译器集成的系统能力。而这些能力的培养依赖于对相关软硬件设计工具的熟练运用,依赖于CPU各功能部件的设计与实现能力,依赖于基于FPGA的接口设计能力,依赖于操作系统与编译系统的设计与实现能力,依赖于计算机软硬件协同的理解,所有这些能力的培养均细化分解到对应的理论课程与实践课程中。

(2)实验内容一体化。根据计算机系统设计与实现所需知识与能力体系,将设计实现完整计算机系统的总任务划分成若干个可映射到不同课程实验、又可相互集成的子模块,如运算器子模块、控制器子模块、接口子模块、操作系统子模块、编译器子模块,这些子模块能在同一FPGA平台上集成与持续融合,并最终构成完整计算机系统。学生在上述各功能模块的设计与集成并最终构成完整计算机系统的实践中逐步提升其计算机系统的分析设计能力与开发能力。

这种以整机实现为目标的实验内容分解方法既改变了过去仅依据课程设置实验导致内容割裂不能集成的格局;又将难度相对较大、耗时长的系统级综合实验有计划地分步实施,提高了系统能力培养的有效度和可执行度,从根本上解决了过去开设系统级综合实验面临的学时不足和实验任务庞大的难题。表1给出了华中科技大学计算机学院面向计算机系统能力培养的实验内容一体化示例。

(3)实验目标一体化。为配合实验内容一体化,需明确每门课程实验环节服务于本课程教学的局部目标和服务于完整计算机系统设计的全局目标,全局目标是实验目标一体化的具体体现。帮助学生体会先导课程与后续课程间的关联,把握课程实验的局部与整体关系,提高学生对课程实践环节的重视,调动学生主动实践的积极性,提升实践教学和系统能力培养的有效度。表2给出了华中科技大学计算机学院面向系统设计的实验目标一体化示例。

(4)实验平台一体化。针对实验平台分离存在的问题,按照计算机系统能力培养的要求,将系列核心课程的实验平台统一到统一的FPGA平台上进行,为系统级实验的实施提供平台支撑。FPGA技术及EDA软件的普及为平台一体化提供了良好的技术支持,小巧轻便的FPGA开发板便于携带,打破了实验时间和场地的限制,便于维护和管理,突破了实验平台分离、实验内容割裂对系统设计与实现能力培养的诸多制约;将实现完整计算机系统的任务划分成若干个在FPGA开发板上可运行、可集成的子模块,如CPU、接口、操作系统、编译器等子模块,将它们映射成不同课程的实验内容,并据此确定课程实验的目标,实现内容一体化和目标一体化,在学生中营造出“ 配置一块开发板,造出一台计算机”的良好氛围。有效解决课程实验目标离散、实验内容无序割裂不能融合构成完整计算机系统的问题。

一体化实践体系创新了实践教学模式,有效突破了实验平台与时间对开展系统能力培养综合实践的制约,实现了课内、课外相结合,跨课程、跨学期的大型综合实践项目得以分步实施,为学生的自主实验、个性化学习创造了良好的实验环境。

四、系统能力培养的实践教学组织

(1)实践教学“小班化”。为帮助学生克服畏难心理,及时掌控实验进展,提升实验效果,必须为学生提供及时、有针对性的实验指导。为此,我们对系统能力培养的实验环节采取小班化组织模式,除为每个小班级配备一名专任教师进行现场实验指导外,还为每个小班级配备1~2名高年级本科生助教。助教选拔条件为完成过所指导的实验且成绩优秀者,以便为学生提供最及时而优秀的实践指导。

(2)过程管理“精细化”。系统能力培养实践教学总目标具有较高挑战性,要保证最终的完成率,尽可能地让大部分同学参与系统能力培养的全过程,必须有精细化的过程管理做保障。对于难度较高的综合实训类课程需要有严而不死的课堂考勤制度保障学生的参与度;借鉴游戏的良好体验,可将较难的实践目标细分成若干可明确检查的阶段子任务(类似游戏关卡),难度逐渐递进,以增强学习的及时反馈,提升学习兴趣;努力为学生提供丰富的测试用例及自动检测工具(游戏装备),提升学生学习效率;通过云平台及时汇总公示学生学习进度(游戏龙虎榜),促进形成良性竞争的学习氛围;线上线下师生经常性互动,收集整理各种常见问题(游戏通关秘籍);尝试团队合作以及天梯对抗机制让学生们一起愉快地进行合作学习(战队游戏)。

(3)实践考评“工程化”。为基于内容一体化集成不同课程的实验结果构成一台完整计算机,需对每门课程的实验结果按照一定的工程标准进行评估验收。考量的指标包括:功能完成度、系统性能、代码质量、文档质量、创新性、资源消耗、时间进度等。在系列课程实验的工程化考评过程中,学生的工程意识、工程素质和工程能力不断提升,这也为系统能力培养综合训练的顺利完成提供了保障。

目前该模式已在一届学生的全程培养过程中成功实践,取得了较好的效果。学生普遍反映系统能力综合训练具有极大的挑战性,实验难度和水平与国外先进课程持平,但实践教学保障得力,完成了“看似不可能完成的任务”,学生系统能力显著提升。未来我们将在计算机系统能力培养综合实训的多样化方面进行新的尝试,为学生提供更多差异化的选择,进一步激发学生的学习热情和创造性。

参考文献:

[1] 蒋宗礼. 以能力培养为导向 提高计算学科教育教学水平[J]. 中国大学教学,2008(8):35-37.

[2] 蒋宗礼. 计算机类专业人才专业能力构成与培养[J]. 中国大学教学,2011(10):11-14.

[3] 刘卫东,张悠慧,向勇,等. 面向系统能力培养的计算机专业课程体系建设实践[J]. 中国大学教学,2014(8):48-52.

[4] 施青松,陈文智. 强化计算机课程贯通教学 深入面向系统能力培养[J]. 中国大学教学,2014(12):61-65.

[5] 王志英,周興社,袁春风,等. 计算机专业学生系统能力培养和系统课程体系设置研究[J]. 计算机教育,2013(9):1-6.

[6] 袁春风,王帅. 大学计算机专业教育应重视“系统观”培养[J]. 中国大学教学,2013(12):41-46.

[7] 秦磊华,谭志虎. 强化系统能力 推进信息产业自主可控人才培养[J]. 中国大学教学,2016(7):37-43.

[8] 高小鹏. 计算机专业系统能力培养的技术途径[J]. 中国大学教学,2014(8):53-57,34.

[责任编辑:余大品]

猜你喜欢
实践教学
地方高校城乡规划专业实践教学的特色化探索
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
基于卓越计划的金属结构材料课程实践化改革与建设
基于应用型创新人才培养的模块式实践教学体系构建
研究型学习在传热学实践教学中的应用
思想政治理论课实践教学研究述评
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究