基于机器人教学平台的软件工程专业认证建设
2020-05-27马兴录陶冶刘国柱杜军威刘扬
马兴录 陶冶 刘国柱 杜军威 刘扬
摘 要:复杂工程问题解决能力的培养是工程教育认证专业需要考虑的核心问题。如何在人才培养方案中综合考虑“复杂工程问题”的设计、如何分层次培养学生复杂工程问题的解决能力、如何落实到每门课程的教学环节等一系列问题是文章探讨的重点。文章以软件工程专业为背景,以系列化机器人教学平台为基础,采用以机器人为实验设备的贯穿式软件开发能力培养方式,逐步培养学生对复杂工程问题的解决能力。针对具体专业课程,给出了如何设计“复杂工程问题”及相应教学模式的参考方法。相关教学效果评价表明,以机器人为教学平台的人才培养模式符合工程教育专业认证的理念,对专业认证建设起到较好的促进作用。
关键词:工程教育专业认证;复杂工程问题;机器人教学平台
中图分类号:G640 文献标志码:A 文章编号:2096-000X(2020)15-0005-05
Abstract: Solving complex engineering problems is a core issue in certificated engineering education. In this paper, we focus on how to comprehensively consider the design of complex engineering problems, how to train students to solve complex engineering problems by aptitude, and how to implement them in each course. By using a series of robotic teaching platforms, we apply robot-based experimental devices to gradually improve students' ability to solve complex engineering problems. Additionally, for specific professional courses, we give the methods to design complex engineering problems and the corresponding teaching mode. The evaluation of related teaching results shows that the proposed training mode and robot-based teaching platform plays a better role in promoting professional certification.
Keywords: engineering education accreditation; complex engineering problems; robot teaching platform
引言
工程教育認证标准的1.3(毕业要求)中,规定了12条毕业要求,其中,有8条要求含有“复杂工程问题”的表述。标准中还规定了“复杂工程问题”必须具备的“必须运用深入的工程原理,经过分析才可能得到解决”的首要特征及其它6项需具备部分或全部的特征[1]。由此看出,复杂工程问题解决能力的培养是工程教育认证的核心理念。
不同专业有各自不同的复杂工程问题。因此,进行工程教育认证的专业在制定人才培养方案时,必须结合本专业的实际情况,恰当定义适合本专业的“复杂工程问题”,并将复杂工程问题解决能力的培养融入到人才培养方案中,融入到专业建设中,融入到每一门课程中,真正培养学生解决“复杂工程问题”的能力[2]。
很多实际的工程项目基本都具备“复杂工程问题”的特征,但很多实际项目用到教学中存在项目环境难以复制、成本太高、涉及的学科知识过于复杂,需要专业教师进行恰当的教学改造,才能用于教学。目前,很多实训或课程设计项目均围绕此问题展开探索,也是专业进行认证时需要重点论述和考察的方面。
但这种碎片化的“复杂工程问题”的引入虽然在能力的培养上具备一定的效果,但由于缺少统筹安排,复杂工程问题解决能力的培养层次不够清晰,问题的复杂度缺少衡量标准,导致培养质量难以衡量、毕业要求的达成度纵向比较困难或没有实际意义。
因此,在各专业的认证建设过程中,需要在人才培养方案的高度去综合考虑“复杂工程问题”的引入,形成层次化的“复杂工程问题”[3]。进一步可按照课程所承担的毕业要求指标点,逐步将合适的“复杂工程问题”落实到教学环节中,形成可衡量的能力培养体系。
一、机器人教学平台的“复杂工程问题”
机器人是机械、电子、自动化、计算机、材料等多学科知识的综合产物,是近几年发展迅猛、具有广阔发展前景、亟需大量相关人才的新兴产业。该产业的发展离不开各类相关专业人才的支持。为此,各类相关新兴专业不断开设。同时,传统专业为适应时代的发展、产业的需求,也需要适当调整人才培养方向,融合更多的学科知识。
机器人从不同专业的角度可以体现出不同的“复杂工程问题”。从计算机学科来看,机器人就是一台或多台计算机,计算机就是机器人的大脑,机械部件、语音传感、视觉传感等都是计算机的外围设备,软件就是机器人的“灵魂”。以机器人代替计算机,作为计算机类、软件类专业的实验设备,比单纯的计算机设备资源要丰富得多,更能激发学生的学习兴趣。
机器人本体的设计开发以及基于机器人的应用开发都可衍生出不同层次、不同难度的“复杂工程问题”。以入门级的机器人图形化编程为例,学生通过几个小时的了解,就能着手编写机器人程序[4]。但是当把机器人用于一定环境中,如让机器人走迷宫,就变成一个“复杂问题”了。需要设计算法、计算时间效率、控制机器人转向、检测传感器状态等。这时,学生的注意力就自然转到问题分析、算法设计、编程实现和调试等环节上来,这就是软件工程项目的设计流程。基于机器人的这种训练项目可以放在第一学期进行,让学生尽早接触“复杂工程问题”,初步了解软件工程项目的开发流程。
对于软件工程专业来说,机器人本体软件就是复杂的软件系统,其智能主要取决于软件系统,包括操作系统、数据库、各类网络软件及应用软件等。同时,机器人应用更包含了大量的软件设计,如机器视觉、语音等功能的实现及其应用,可与软件工程专业的具体方向结合。以移动互联网方向为例,从机器人联网应用、手机操控等方面进行结合,可以衍生出很多难度合适的“复杂工程问题”。
因此,机器人平台与具体专业相结合,可以构造出不同层次、不同难度、不同应用方向的“复杂工程问题”,对学生兴趣及能力的培养具有先天优势。
二、基于机器人教学平台的软件工程专业人才培养方案设计
软件工程专业是传统的工科专业,基于计算机一级学科及软件工程一级学科,具有完整的知识体系。在教育部发布的《普通高等学校本科专业类教学质量国家标准》属于计算机类专业,在培养学生计算思维、程序设计与实现、算法分析与设计等能力的基础上,注重对复杂软件系统的分析、设计等能力的培养[5]。计算学科具有高度抽象性,强调通过抽象建立模型实现对计算规律的研究,使用计算系统实现对特定问题的求解。“什么能、且如何被有效地实现自动计算”是计算思维能力的核心问题。因此在教学过程中,如何将抽象的计算思维转化为形象的具体的内容,进一步与实际应用相结合,分层次培养与提高学生的计算思维能力,是设计软件工程专业人才培养方案需要解决的核心问题。
按照软件工程专业的培养目标,工程技术应用能力的培养按照先后顺序及培养层次,可分为:计算思维导入->程序设计->算法分析->软硬贯通->应用开发->创新能力。这些能力的培养不是一蹴而就,而是穿插在不同课程中。当然,不同学习阶段的培养重点不一样,这六个层次基本代表了6个学期的培养重点。机器人教学平台可配合每个学期的培养重点,与各学期的核心课程相结合,作为综合性实验平台,构建基于机器人教学平台的人才培养模式。如图1所示,在每个学期增加一门综合实验类课程《创新指导与实践1-6》。
传统的以计算机为实验设备,培养学生编程的方法具有抽象、入门困难等缺点[6]。相比之下,以机器人为实验设备,以图形化编程工具入手,突出计算思维能力的培养方式,则具有上手快、学生兴趣高、能力培养显著等特点。
第1学期,增加“机器人编程”方面的入门课程,重点培养学生的初步的计算思维能力,提高学生的专业学习兴趣。
第2学期,结合程序设计语言(如Python语言),开始培养学生程序设计能力。以机器人为实验设备,让学生在图形化编程工具与程序设计语言的对比中,体会程序设计语言的魅力,实现对机器人更加精准的控制与复杂问题的解决。
第3学期,结合数据结构与算法设计等软件理论课程的开设,在机器人的软件设计中引入一定复杂度的工程问题,如迷宫遍历寻宝等。这时,机器人教学平台起到综合实验平台的作用,对学生的问题分析、程序设计、算法设计与优化、软件系统实现与验证等均可起到程序训练与培养的作用。
第4学期,结合计算机组成原理等课程的学习,机器人的硬件部分可以作为计算机组成示例让学生进行学习与编程,达到计算机软硬知识贯通的目的。
第5学期和第6学期,结合专业方向课程,以机器人为载体,引领学生进行具体应用开发。机器人与当前的人工智能等热门技术结合密切,开展创新类的应用开发,通过参赛等形式,提高学生应用开发能力及创新思维能力。
在课程体系的设计中,建议每个学期增加一门综合实验或实践类的课程《创新指导與实践1-6》,这样不影响原有课程的设置,而且对每个学期的课程起到融合的作用。当然,机器人开发案例也可以融入到具体的专业课程中,实现更深层次的融合。
三、机器人贯穿式教学平台的设计
为满足分层次的专业能力培养要求,机器人教学平台需要具备以下特征:
1. 开放的计算机软硬件系统:软件工程专业注重于软件系统的学习与开发。开源开放的软硬件系统有助于学生的深入学习,也有助于教师完全掌握系统的方方面面。
2. 平台系列化:平台应能呈现从简单到复杂的演变过程,有入手简单的入门级设备,也有足够复杂用于创新研究的机器人系统,可满足不同阶段的教学需求。
3. 平台软硬件系统的一致性:虽然机器人平台软硬件多样,不同的机器人内部采用的计算机软硬件存在较大差异,但用于同一个专业的教学来说,平台差异过大,会让学生的学习重点偏离原来的目标,大部分学习时间浪费在对不同平台的熟悉上,分散了学生的注意力,可能会降低学习兴趣。
基于上述特征,作者采用自主改造或开发系列机器人教学设备,以满足软件工程专业的教学需求。根据目前机器人的不同种类,开发或改造了以下三类机器人设备,构成完整的机器人贯穿式教学。这三类设备均采用软硬件完全开源的树莓派电脑作为主控板,保持了平台软硬件系统的一致性。而且树莓派电脑具有资源丰富,可扩展性强的特点,为教学提供了极大的便利。
1. 智能小车:该装置具有结构简单,控制方便,扩充性好的特点,适合作为入门级设备。为便于大一新生学习使用,开发了与图形化机器人编程软件VIPLE通讯的中间件程序,允许使用数据流驱动方式的图形化编程,实现对智能车的控制,让学生初步接触逻辑判断、流程控制、算法设计等内容[3],将学习的重点放在计算思维能力的培养上。
由于智能车采用树莓派电脑,更便于支持Python/C/C++等编程语言工具,对于后续语言类课程的学习具有很好的延展性。
2. 桌面型机械臂:机械臂是目前在工业中应用最多的一类机器人,具有应用场景丰富、控制要求稍复杂的特点,适合作为复杂问题分析、软件方案设计等课程的实验平台。为便于教学,采用了小型的桌面型3自由度机械臂,可搭配多种末端工具,如机械爪、吸盘、打印头等,用于不同应用场景[7]。机械臂结构如图2所示。
图2 机械臂结构
3. 人形机器人:人形机器人是目前功能复杂、各项功能正在不断研究、开发中的一类机器人,易于激发学生的创新思维。基于树莓派电脑的人形机器人可以加装摄像头、语音识别等设备,从而可以进行机器视觉、语音识别等应用的开发。如果需要加快深度学习算法模块的运行速度,还可以与专门的GPU或NPU模块组成复杂的计算机系统。这样,需要学生具备足够的计算机软硬件知识的协同开发能力。
以上三种类型的机器人,涵盖了机器人类型的大部分,而且从简单到复杂,构成难度层次清晰、应用场景多样,与软件工程专业的人才培养方案设计需求一致,如图3所示,可满足专业四年的教学需求。
四、教学实施方案
以软件工程(嵌入式方向)为例,在1-6学期,每学期增加一门《创新指导与实践》课程,如图4所示。该课程开设为综合实验类课程,没有理论授课学时,只有32个学时的实验课。
以《创新指导与实践4》为例,该课程是在学完系列编程语言、计算机组成与系统结构、数据结构等专业课程的基础上,与操作系统、数据库等课程同学期开设。那么本课程的课程目标设计为:
通过前期《创新指导与实践1-3》的学习,初步掌握了机器人的编程方法,锻炼了学生的编程能力。在此基础上,本课程通过比赛项目、训练等方式,达到如下目标:
1. 深入了解机器人系统的硬件组成,加深对计算机系统组成的理解。
2. 深入了解机器人软件系统,特别是操作系统的组成,强化对软件体系架构的理解。
3. 能利用现有的机器人系统,开发完整功能的应用系统,掌握计算机应用系统的开发方法与步骤。
4. 培养创新意识,能从原理、方法或功能上体现出一定的创新性。
具体教学内容主要包括:
1. 了解树莓派开发板的硬件结构,特别是各引脚接口的作用;结合智能小车或机械臂的各外围设备,详细了解硬件的连接方式及控制原理。
2. 树莓派软件系统:树莓派操作系统的安装,上网环境搭建,软件安装方法等。
3. 树莓派编程:c/c++编程步骤,python编程。
4. 以机器人相关比赛项目或应用场景为训练内容,以比赛指导老师的方式指导学生开发出相关项目。
课程考核方式:
参照软件比赛项目的流程,采用过程化管理,分为开题、中期检查、验收三个阶段进行考核。最终的验收流程为PPT讲解+实物演示+教师提问等环节。
具体教学效果分析:
软件工程(嵌入式方向)2017级学生共有70人,以学生分组方式参与课程项目的设计,共分为18组(每组3-5人)。选择山东省大学生软件设计大赛中的“嵌入式应用开发“或“智能机器人应用设计“命题的有13个组,占总数的72%。最终,参加完整个比赛流程(9月底提交作品)的队伍有7支,其中获一等奖2支、二等奖1支、三等奖2支,具有明显的获奖优势。
五、结束语
机器人平台与软件工程专业相结合,可以構造出不同层次、不同难度、不同应用方向的“复杂工程问题“,对学生兴趣及能力的培养具有先天优势,符合专业认证建设的理念。本文从人才培养方案的角度来综合考虑机器人教学平台的建设,并结合具体的教学实例,给出相应的教学方案的设计。这种专业建设思路,对其它相关专业同样适用。
当然上述建设方法只是初步探索试用,后续将需要把建设重点放在机器人教学平台与专业课程群的紧密结合,以及教学效果的评价及教学方法的改进上。
参考文献:
[1]中国工程教育认证标准(通用标准)[EB/OL].http://meea.cme
s.org/article?id=3.
[2]赵鹏.聚焦复杂工程问题的软件工程专业建设探索——以安徽大学软件工程专业为例[J].高教学刊,2019(15):22-23+27.
[3]张玉清,周长兵,夏军宝,等.适应工程教育认证要求的计算机科学与技术专业新工科建设探索与实践[J].高教学刊,2019(17):92-94.
[4]陈以农,等.计算机科学与工程导论——基于IoT和机器人的可视化编程实践方法(第2版)[M].北京:机械工业出版社,2017.
[5]普通高等学校本科专业类教学质量国家标准[M].北京:高等教育出版社,2018:321-329.
[6]范峥,牛梦龙,黄风林,等.工程教育专业认证背景下化工专业课程教学改革研究[J].大学教育,2019(12):48-51.
[7]马兴录,何爱欣,李莹莹.桌面型机械臂的机器视觉应用框架研究[J].计算机与现代化,2019(11):64-68.
*基金项目:2018年山东省本科教改项目“多学科交叉融合的软件工程专业创新型人才培养模式研究与实践“(编号:M2018X130)
作者简介:马兴录(1970-),男,汉族,山东沂水人,硕士,副教授,硕士生导师,软件工程专业负责人,研究方向:嵌入式系统、机器人。