(渭南師范学院网络安全与信息化学院,陕西渭南,714099)
摘 要:本文分析了渭南师范学院计算机专业在计算机系统能力培养方面存在的问题,就如何培养计算机专业学生的系统观和系统能力提出了一些建议和措施。
关键词:系统能力 计算机专业 工程教育
计算机系统能力是指能自觉运用系统观,理解计算机系统的整体性、关联性、层次性、动态性和开放性,并用系统化方法,掌握计算机硬软件协同工作及相互作用机制的能力。系统能力包括系统分析能力、系统设计能力和系统验证能力三个方面。系统分析能力就是给定系统结构和输入,分析系统输出的能力;系统设计能力就是给定系统输入和输出,综合出系统结构的能力;系统验证能力就是给定系统结构,验证系统结构与功能符合的能力。三个方面相辅相成,共同构成计算机专业本科毕业生的基本能力和专业素养。计算机专业学生的系统能力核心是在掌握计算系统基本原理基础上,熟悉如何进一步开发构建以计算技术为核心的应用系统。这需要学生更多地掌握计算系统内部各软件/硬件部分的关联关系与逻辑层次,了解计算系统呈现的外部特性以及与人和物理世界的交互模式。
一、系统能力培养课程体系现状分析
传统的计算机专业系统能力培养模式是将计算机组成、操作系统、编译技术等作为计算机系统能力培养最基本的核心课程,课程之间缺乏衔接,有些内容重复讲授。这些课程的总体目标,是建立起完整的计算机软硬件系统的知识结构,在课程体系中占有重要的地位。然而,大量的系统类课程的学习,并没有给学生带来计算机系统能力的全面提升。同学们普遍反映,对于计算机系统还处于“只见树木,不见森林”的状态,对于计算机各个子系统有比较深入的了解,但对各子系统之间的相互作用的关系则了解不深,也不清楚各子系统间的衔接机制。
校企合作没有真正深入,大部分都是一门课程一个老师从头讲到尾。当今企业要求学校真正培养出“为企业所需为企业所用”的IT人才,也就是应聘者必须具备深厚的专业知识、熟练的技术性技能和掌握计算系统内部各软件/硬件部分的关联关系与逻辑层次。但实际上绝大多数初步踏出校门准备就业的学生,尤其是本科生,缺少的正是项目实践经验,这就导致了学校计算机人才的供给不能匹配企业的需求。对于二本师范类学校,这些综合的实验平台建设需要的经费较多,建设的很少或者几乎没有。
二、渭南师范学院计算机专业系统能力培养中存在的问题分析
对2012级、2013级的计算机科学与技术、软件工程100名学生和《操作系统》《网络》《组成原理》《编译原理》4门课程的任课教师做了调查问卷,70%左右的学生和所有老师反馈了这些问题:
1.计算机专业系统能力培养不但要强调课程之间的衔接和连贯,还要有一套承上启下的综合实验平台。课程体系中缺乏一门独立的能够贯穿整个计算机系统的基础课程。虽然有计算导论课程,但是,课程内容太散太多,没有系统性,并没有围绕一个完整计算机系统框架组织内容。
2.课程之间的衔接和关联考虑不够。目前课程设置大多按照计算机系统不同层次上的内容独立开设课程,相应的教材内容和课堂教学内容中很少体现本层次的内容与其他层次内容之间的关联,学生难以形成对计算机系统的全面认识。比如中断的概念在《组成原理》中有、在《微机原理》中有,在《操作系统》中有,这几门课程的任课老师在准备教学计划的时候就应该明确在哪一门课程中讲授,避免重复讲解。
3.教学内容比较陈旧,较少涉及近年来出现的多核、众核处理器、分布式和并行计算模式等实际工作中遇到的内容,特别是对于社会需求比较热的嵌入式系统、移动终端系统、大型数据中心云计算系统等的系统知识体系的教学还很薄弱。《操作系统》《编译原理》《组成原理》等课程在这方面的问题尤为突出。
4.实验手段上,基本侧重于对原理的简单验证,而缺乏对复杂系统的综合设计实践。虽然小规模实验可以达到让学生基本理解掌握系统运行原理和初步具备系统开发能力的目的,但由于缺乏足够的工程工作量,使得复杂系统中存在的较为深刻的问题难以暴露。以操作系统为例,现在的实验只能做模拟实验,并没有深入到操作系统的内核。
5.教学方法上,各课程采取分析式教学方法较多,突出系统原理的讲解,而限于条件的不足,缺乏对完整计算机系统较为全面的说明。
三、建议与措施
(一)基于3个层次的课程体系设置
将系统课程分成3个层次(如图1所示),强调课程之间的衔接和连贯,主要体现在以下几个方面。
第1层次核心课程包括:程序设计基础(PF)、数字逻辑电路(DD,建议在MOOC的综合性实验平台下学习)和计算机系统基础(ICS,建议通过MOOC平台学习)。
第2层次核心课程包括:计算机组成与设计(COD,其中CPU设计部分建议通过MOOC学习)、操作系统(OS,内核代码分析建议通过MOOC学习)、编译技术/原理(CT)和计算机系统结构(CA,向量、流水部分建议通过MOOC学习)。
第3层次核心课程包括:嵌入式计算系统(ECS,建议通过统一的系统级实验平台学习)、计算机网络(CN)、移动计算(MC)、并行计算(PC)和大数据并行处理技术(BD)。
(二)教学方法优化
1.分层次讲授法:“先讲顶层比较抽象的编程方面的内容;再讲底层系统具体实现的基础内容;然后再从两头到中间,把顶层程序设计内容和底层电路内容按照程序员视角全部串起来(如图1);在此基础上,按顺序分别介绍计算机系统硬件、操作系统和编译器的实现细节(建议在MOOC平台下进行)。至此的所有课程内容主要介绍单处理器系统的相关内容,而计算机体系结构(建议在MOOC平台下进行)主要介绍不同并行粒度的体系结构及其相关的操作系统实现技术和编译器实现技术。
2.实验法:第3层次的课程没有先后顺序,可以是选修课,课程内容应体现第1层次和第2层次课程内容的螺旋式上升趋势。对于设计操作系统内核部分、系统结构的向量、流水部分等知识点都可以迁移到MOOC平台下通过仿真实验平台进行进行或者采用企业植入课程的方法进行。
3.案例教學法:引入知名院校的MOOC中的典型教学案例(如在组成原理里引入CPU芯片设计部分的案例,在操作系统里引入内核分析),增强课堂教学效果。
(三)树立贯通教学的目标
面向系统能力培养采用贯通计算机硬件之间的教学,贯通计算机硬件与软件之间的教学,系统将整个计算机系统分解到各个课程中。每门课程作为系统设计中的不同阶段,完成课程及相应的模块知识学习,设计实现并提供给后继课程相应的模块。计算机系统课程贯通涉及课程较多,是一个系统工程,必须探索一套切实可行的操作方法,否则将会流于形式,而达不到良好的效果。要达到目标需要解决四个问题:首先需要建立课程贯通教学的载体,其次就是要建立课程贯通的教学思想,再次是建立课程统一实验平台。
1.贯通教学的载体
贯通教学的载体就是“确定目标的计算机系统设计实现”,这个载体需要与当前社会实践应用接近,但又具备高度可行性的设计实现目标,类似于一个实际产品设计或工程开发项目,在学习的同时完成这个项目。
2.贯穿始终的教学思想和思维方法
必须明白的是计算机系统设计实现是手段,系统能力培养才是最为关键的目的。因此在课程贯通教学指导上还必须建立贯穿始终的教学思想和思维方法,把握课程与整体之间的教学脉络。
3.贯通的工程化实验平台
目前正在重新设计更适合数字逻辑、计算机组成、计算机体系结构、汇编与接口技术、操作系统等课程使用的贯通的统一新实验平台。
4.师资队伍建设
教师必须掌握计算机系统综合设计实现过程。计算机的组成结构是传统计算机组成教学的重点,专业教师在对知识熟悉优势的基础上,只需增加对简单计算机系统的分析、设计和实现过程的教学内容学习。
(四)构建校企联合的实践教学体系
在大一大二的专业通识课完成后,大三、大四可以根据需要植入企业课程。争取把IT企业的需求作为学校办学的出发点和归宿。学校应及时掌握当今IT企业的经济信息、技术信息和今后的发展趋势,从而为计算机专业的学生进行调整课程设置,改革教学内容、教学方法和教学管理制度。根据企业需求举办符合企业的一些“特色班”。使所培养的学生与企业需求相一致。
四、结论
系统能力是近年计算机教育有深度的总结性认识,各个高校都提出了一些探索性的方案,在计算机专业课程中怎样提高学生对计算机系统的认知能力极为重要,面向系统能力的培养也有其必要性。只有全面认识已经在实践的学校方案,多比较他们的方案。同时也要认清本校的定位和实际师资、学生和课程建设现状,经常思考怎样落地,才有可能得到实际的效果,才能帮助学校培养出更多计算机系统建设能力强的优秀人才。
参考文献
[1]袁春风,王帅.大学计算机专业教育应重视“系统观”培养[J].中国大学教育,2013(12):41-46.
[2]尚凤军.面向计算机系统能力培养的课程和实践体系研究[J].International
[3]施青松,陈文智.强化计算机课程贯通教学深入面向系统能力培养[J].中国大学教育,2014(12):61-65.
作者简介:贾晓强(1977-),男,陕西凤翔人,渭南师范学院网络安全与信息化学院副教授,软件工程硕士,研究方向:数据挖掘研究。