刘 威,谢耀滨,常 瑞
(战略支援部队信息工程大学,河南 郑州 450002)
在当前新工科建设如火如荼的大背景下,高素质工程人才的能力培养被赋予了新的内涵[1]。新工科建设行动路线明确提出:新工科教育要注重培养学生的设计思维、工程思维,提升其创新创业能力和自主终身学习能力[2]。这对新工科人才的综合素质培养和创新实践能力提升提出了更高的要求,创新实践能力的培养需求从教学中知识传递的副产品,逐步上升为融入教学本质的根本基因。
硬件设计开发与系统分析能力是高素质工程人才创新实践能力的重要组成部分,计算机硬件类课程的实践教学过程不仅起到奠定硬件知识体系基础的作用,而且担负着培养创新实践能力的使命[3]。基于开源硬件平台改革计算机硬件类课程的实践教学体系,充分利用开源硬件的优势,以创新实践课程体系为依托、以学科竞赛为驱动,形成新的创新实践能力培养模式。该模式有助于本科低年级学生硬件系统思维的启蒙、中高年级学生硬件动手能力的提高、高年级学生创新思维的锻炼和协作精神的养成,在计算机类和电子信息类学科人才的培养工作中具有显著成效。
计算机硬件类课程包括计算机组成原理、微机原理与应用、汇编语言、计算机体系结构、操作系统、嵌入式系统等,覆盖计算机科学与技术、软件工程、信息安全等专业。硬件类课程的实践教学环节是培养学生创新实践能力的重要途径,但目前大部分国内高校的计算机硬件类课程实践教学现状与创新能力培养需求之间还存在一定差距,主要表现在以下几方面。
1)专用实验设备不利于开展创新实践活动。
计算机硬件类课程的专用实验设备大多价格较高、体积偏大,适合在实验室配备,学生只能在固定时间段、固定地点使用,从源头上限制了学生主动学习的积极性和课余时间的创新实践活动[4]。硬件类实践与创新,专用实验设备的目的性强、功能单一,基于专用实验设备进行创新实践需要大量的专业基础知识和技术做铺垫,学生无法在短时间内按照预定构想设计实现完整的硬件系统,创新思路无法落地,由此产生对创新实践的畏难情绪。
2)众多硬件课程未建立统一的实践教学体系。
计算机硬件类课程的知识点关联紧密,而课程的独立规划造成了理论讲授和实践环节均存在一定程度的知识冗余与内容脱节;每门课程采用的专用实验设备各不相同,学生需花费较多精力去学习各种相似设备的使用方法[5];实验课程内容相对独立,前后课程知识点的关联性没有被强化,容易导致学生“一叶障目,不见泰山”,即便完成了整个实践环节,也没能建立起硬件系统观,无法形成系统能力,更无法依托课程实验进一步开展创新实践活动。由此可见,分散、不成体系的实践课程设计给创新实践能力培养带来了很大的障碍。
3)创新实践活动缺乏有效的激励机制。
现有的实践能力培养模式主要依托计算机硬件类课程的实践教学,大多重视理论知识的重现,而缺少对创新实践的鼓励。现有实践教学的大部分实验属于演示验证性实验,对于数量有限的综合性实验,其内容设计也是固定的,缺乏创新性和可扩展性。学生即便完成了综合性实验,也无法享受到理想变成现实的快乐,很难形成有效的正反馈来激发创新热情[5]。
基于开源硬件的创新能力培养模式能在一定程度上解决上述问题,为硬件类教学与实践提供了新思路和新方法,在学生创新实践能力培养方面展现出优势效能。
开源硬件是指基于开源思想设计的计算机硬件和电子设备,开发者将硬件平台的全部资料,包括电路原理图、PCB版图、固件、元器件列表以及软件等,都对外公开,允许任何人使用。具有代表意义的开源硬件有Arduino、树莓派Raspberry Pi、BeagleBone、kiwiboard和讯为iTOP4412开发板等。这些开源硬件不但种类繁多、功能齐全,而且兼具价格低廉和资源丰富等优势,成为计算机硬件类课程实验教学和创新实践能力培养的重要平台。与传统的实验教学设备相比较,开源硬件平台在创新实践能力培养方面具有以下4个优势。
(1)低成本。开源硬件的主体板卡价格基本在400元以内,加配常用的外设,价格也在800元以内,可以减少实验室的建设费用。以微机原理与应用课程为例,专用的微机原理实验箱价格约为6 000元,如果在实践教学中以树莓派2外加必要外设代替,功能上能够实现各个教学环节,而价格将降低到实验箱的1/10。在经费投入相等的情况下,原来3~4人共用实验设备变为人手一套开源硬件平台。
(2)便携性。开源硬件板卡体积小巧、方便携带。以树莓派2为例,板卡尺寸是8.6cm×6cm×2cm,和一张卡片的体积差不多;而传统实验箱的尺寸约为55cm×36cm×20cm,基本不具备便携性。设备体积决定了学生可以在课后带回开源硬件平台,根据自身时间安排学习实践。这种方式充分利用了学生的自主学习时间,将课堂教学延伸到课外,促成学生实现主动学习。
(3)易用性。开源硬件平台基于开源思想设计实现,全部资料都对外公开,国内外有大量的论坛资源可供使用和公开课程可供学习,学生很容易在网上找到所需的相关资料解决自身的疑惑和遇到的困难。只要学生掌握简单的硬件开发基础知识,依托于开源硬件的易用性,融入创意,就能快速搭建出系统原型。相比之下,由于涉及企业知识产权等问题,专用实验箱的详细设计资料通常不会向使用者提供,学生只能机械地按照生产商提供的实验指导书模板进行实验,不能深刻理解实验平台的工作原理,更无法在此基础上开展创新实践活动。此外,专用实验箱的受众群体规模较小,几乎没有在线资源,学生缺乏学习交流的平台。
(4)可扩展性。传统的硬件实验箱大多采用整块电路板设计,使用时需要学生连接大量接线,可扩展区域相对较少,限制了学生的创新实践空间。而开源硬件均采用模块化设计,主板和扩展板及各外设模块之间均采用标准接口连接,学生只要对硬件接口有一定了解,便可以充分发挥自身的创造力,通过模块间的组合将创新思路付诸实现,极易形成正反馈,进而激发学生主动学习的积极性。
针对硬件课程知识体系不连贯、实践内容离散的问题,基于开源硬件设计了服务于硬件课程群的创新实践课程体系;以开源硬件为链,连接所有硬件类课程的实践环节,层层递进,贯通整个硬件知识体系;根据计算机硬件类课程的教学目标和创新实践能力培养需求,基于开源硬件平台设计制订全体系实验课程教学规划。该规划囊括计算机硬件类的主要课程和密切相关的前修课程,包括数字电路基础、单片机原理、计算机组成原理、微型机技术、计算机体系结构、操作系统、嵌入式系统等,基本涵盖计算机硬件类课程的主要知识点,在从硬件系统设计、系统软件移植、应用软件开发3个层次上设计了多种可供选择的对应实践模块。
以不同硬件课程为纵坐标,以知识体系为横坐标,基于开源硬件的创新实践课程体系中的部分实验内容见表1。
为了覆盖课程群的实践教学需求,我们在诸多开源硬件平台中选取Arduino Uno和Raspberry Pi 2B和Zybo 3款常用平台。
(1)Arduino Uno是在创客圈里最常见的Arduino平台,对使用者的知识基础需求相对较弱,是创客入门的首选。Arduino Uno有着丰富的在线教学视频和开源项目开发资料,本科生几乎不需要教师的额外指导就可以上手开发。Arduino Uno基于ATmega328 MCU微控制器开发,使用16MHz时钟,对外有14根IO引脚、6路模拟输入、USB 等外设接口,能够支持数字电路基础、单片机原理、微型机技术等课程的实验模块,如交通灯综合实验和环境监测系统就可以满足触发器与译码器、单片机应用系统和微型机IO接口等实验需求。
(2)Raspberry Pi2B(树莓派二代)是当前流行的嵌入式开发平台之一,使用Broadcom BCM2836处理器,该处理器基于ARM Cortex-A7内核设计,配备VideoCore IV双核GPU,支持OpenGL,OpenVG硬件加速和H.264高清解码,时钟频率为900MHz。处理器配备1GB SRAM,对外有HDMI、USB、网口、LCD接口等,带Micro SD卡插槽,可运行全系列ARM GNU/Linux发行版、Snappy Ubuntu Core及Windows 10 IoT Core(物联网版)等操作系统。结合labview创客版软件,Raspberry Pi2B能运行数字电路基础、计算机组成与结构课程的实验模块;配备不同外设,Raspberry Pi2B 可实现微型机技术、嵌入式系统课程的实验模块,如串口通信实验可满足微型机技术中的IO接口、串行通信和嵌入式系统中的GPIO、UART等实验教学要求;移植嵌入式Linux系统后,平台可支持操作系统、嵌入式系统等课程的实验模块,如文件系统实验和启动引导程序设计移植实验等。
(3)Zybo(Zynq™ Board)是一款资源丰富、兼具易用性的嵌入式开发平台,使用Xilinx Zynq-7000系列的Z7010处理器,其中包含双核Cortex-A9 ARM内核和Xilinx 7系列FPGA编程逻辑。Zybo平台上集成有丰富的外设接口,能支持完整的系统设计。Zybo是3个开源硬件平台中功能最全、价格最高的,支持的实验模块也最多,几乎能够涵盖所有课程的实验,特别是能够支撑组成原理、系统结构的课程实践模块,学生可以借助FPGA完成处理器的内部逻辑实现和指令系统设计实验,但是这些实验对学生的要求也随之“水涨船高”,需要学生掌握VHDL/Verilog硬件描述语言,能熟练使用硬件描述语言设计实现数字逻辑电路。
表1 基于开源硬件的创新实践课程体系的典型实验安排示例
3个平台按照从易到难的顺序层层递进,每个平台都能够完整支持3门以上课程的实践教学,从而将多门课程的知识要素和实践技能有效链接在一起;外设模块在平台间使用几乎完全兼容,可有效缩短学生熟悉实验环境的时间,使学生在课程伊始就进入状态,与理论知识同步开展实验操作,为后续开展创新实践活动奠定坚实基础;各平台上运行的实验模块在不同课程的实践教学中可以复用,后续课程实验所需知识、方法和技能是对前修课程实践的深化与综合,既保证学习进度的无缝衔接,又能强化各门课程知识点之间的关联性,有利于培养形成学生的系统观。
全国性的大学生学科竞赛,以其规模大、导向性强等特点,受到学生广泛关注,是培养计算思维和实践能力的有效抓手[6]。在人才培养过程中充分发挥学科竞赛的优势引领,能有效激发学生自主学习的热情,使学生在参赛过程中逐步完善分析解决问题的能力、养成团队协作精神,最终达成培养创新实践能力的目的。
全国性学科竞赛参赛门槛往往较高,以往只有少数能力出众的学生能够把创新理念付诸实践,获得参赛资格,而大多数学生由于受知识体系和实践能力的限制,空有好的创意,却无法外化。因此无论教学双方如何重视,学生参赛愿望有多强,都很难扩大学科竞赛的参与范围,难以建立起万众创新的氛围。这种现象很大程度上违背了学科竞赛的初衷:并非只向优秀者提供展示平台,而是让更多的学生通过参与竞赛提高自身的创新实践能力。
开源硬件平台的引入降低了竞赛的参与门槛,使不同层次学生的创新理念、思路和方法都能够落地变成现实。借助开源硬件的易用性,引入新培养模式后,学科竞赛的参与度有了很大提高,基本上实现了全员参赛。在竞赛组织过程中,遵循“以人为本”的个性化发展原则,由学生根据兴趣点自主选题设计实现,建立起活跃的创新气氛;同时,面向竞赛提供的开源硬件也并不局限于教学中使用的3款,针对不同层次的创新实践应用需求,还增加联发科的link-it-one、XILINX的ZC702、TI的Zigbee开发板等,学生在众多平台中选择最合适的一款,融入创意快速搭建出原型系统,无论最终能否参赛获奖,都能够有效形成正反馈,加速了创新实践能力培养的进程。
学科竞赛不仅是培养学生创新实践能力的平台,还是检验创新实践能力培养效果的有效方法。自2015年依托开源硬件开展创新实践能力培养活动以来,先后组织学生参加了全国大学生智能互联创新大赛、全国大学生物联网设计竞赛、全国大学生计算机体系结构创新设计竞赛等多个赛事。其中,学生基于Arduino平台设计的“个人穿戴防丢失系统”“智能交通系统”等获得2016年物联网设计竞赛赛区一等奖,基于Raspberry Pi平台和zigbee模块的“移动存储设备保护系统”和“家庭电力自主管理系统”分获2017年物联网设计竞赛全国一等奖,基于XILINX的ZC702平台设计的“通用密码算法加速平台”获得计算机体系结构创新设计竞赛全国三等奖,上述赛事均为首次参赛即获奖。据不完全统计,学生在基于开源硬件的创新实践能力培养模式直接支持下参与各类学科竞赛的活动中,共获得国家级奖项10余项、赛区级奖项30余项,充分显示了新模式在人才创新实践能力培养方面的优势。
近年来,随着基于开源硬件的创新实践能力培养模式在教学中的逐步推进,已成功在微型机技术、嵌入式系统、计算机系统结构3门课程的17个班次进行了实践。结果显示,学生的硬件知识得以夯实,实践能力有效提升,创新思维充分激发,团队精神日趋完善,完全达到了预期效果。此外,依托新模式组织的各类学科竞赛活动,参赛获奖队伍人员数量逐年增加,充分展现了依托开源硬件培养创新实践能力模式的显著成效。
在新工科建设的大背景下,培养具有创新精神的高素质工程人才,是实现国家发展战略目标的要求[7]。创新实践能力培养模式也非一成不变,随着新理念、新技术、新成果的不断融入和应用,创新实践能力培养模式必将得到进一步的发展和完善,在具备新工科素养的创新型人才培养领域发挥重要作用。