APP下载

基于智能软件开发的数据结构与算法课程设计教学模式研究*

2022-09-29龙雪玲

关键词:数据结构小车课程设计

龙雪玲 戴 歆

(1.武汉商学院 信息工程学院 湖北武汉 430056;2.武汉商学院 信息工程学院 湖北武汉 430056)

引言

《中国制造2025》要求培养既掌握本专业技能,又有跨专业能力的创新型、复合型人才[1]。因此,要打破传统实验教学模式,开创实验教学新方法,树立人才培养新理念。软件工程专业的人才培养模式中,要求软件专业的交叉化、软件人才的复合化以及软件技术的智能化,与智能软 件应用行业深度融合,培养高质量的“行业软件开发人才”,填补智能制造复合型人才的缺口。

数据结构与算法课程设计是在培养学生应用数据结构与算法知识分析、解决问题的重要实践环节,对提高学生综合应用所学理论知识以及协作精神起着十分重要的作用。传统的课程设计项目已无法满足“两性一度”要求以及智能软件行业的人才需求,依托于人智能软件发展的热潮,数据结构课程设计也面临着授课方式的调整[2]。

数据结构与算法是智能化软件开发中设计与实践的基础,将数据结构与算法课程设计的教学面向典型智能化软件的设计与实践中,能够提高学生解决复杂工程问题的能力,适应智能制造大环境下现代智能化软件产业对技术和能力的需求[3]。

一、课程教学现状

传统的数据结构与算法课程设计,主要围绕以某种程序设计语言(C语言为主)采用单一数据结构(线性结构为主)的简单虚拟案例进行设计实践,如图书信息管理系统、铁路客票管理系统等。学生将所要解决问题的程序验证性地调试通过,设计结果常以单一的编译器运行结果体现,课后以实验报告作为课程设计评价依据。传统的教学模式存在的问题主要有以下几个方面。

1.实践项目滞后于行业需求

以验证性为主的课程设计项目,主要围绕着基础数据结构及算法的应用,脱离现代软件产业的需求,不仅学生的获得感不足,而且无法将所学理论知识应用工程应用实际问题的求解。

2.计算思维能力的培养欠缺

对于传统的课程设计项目,学生在实践过程中,无法体验数据结构以及算法的分析设计过程,无法将实际问题抽象为计算机可处理的特定模型的计算思维能力的培养[3]。

3.软件工程思维能力的培养欠缺

课程设计过程应该包含需求分析、方案设计、编码测试、评估等核心环节,但传统的课程设计模式,学生倾向于直接编写代码进行测试,达不到课程设计的目的,更无利于软件工程思维能力的培养。

二、课程改革方案

1.改革思路

紧跟科技发展趋势,适应智能软件行业的人才需求,针对前面所提出的课程教学中存在的问题,以“淘汰水课,打造金课”为课程建设目标,完善现有课程教学模式[4]。

(1)数据结构与算法课程设计是一门实践性很强的课程,为课程实验环节设计一系列具备高阶性、创新性和挑战度的综合实验项目是教学改革的关键。

(2)以前沿、成熟的技术体系为主线,既需要涵盖专业基础理论知识,软件工程开发知识,也需要侧重于与前沿智能软件技术相结合。

(3)依托综合实验项目,实现软件开发生命周期体验,包含需求分析、方案设计、编码测试、评估等关键环节[5]。

(4)通过学生自主学习、设计实践、项目汇报、实验文档撰写等环节构建多维度的过程性评价与考核体系。

2.智能制造核心技术分析

国务院在《中国制造2025》中指出,未来10年,我国智能制造的首要目的是在解放劳动力的前提下,实现生产力与生产质量的进一步提高,其核心竞争力还是比的“快速”和“精准”。智能制造的核心是“智”,“智”的核心则是信息获取和处理的快和准。视觉与图像技术是20世纪人类最伟大技术之一。人们感知外界信息的70%是通过眼睛获得的,图像包含的信息量是最巨大的。信息时代,特别是工业信息时代,视觉图像技术注定将成为扛鼎。

视觉与图像技术,极大地提高了工业自动化中信息的获取能力,信息将不再是单一维度的简单数据,而是广域立体的海量数据,视觉技术被广泛应用于工业机器人领域,主要具有四个功能:

一是引导定位。视觉定位要求机器视觉系统能够快速准确地找到被测零件并确认其位置,上下料使用机 器视觉来定位,引导机械手臂准确抓取,这就是视觉定位在机器视觉工业领域最基本的应用。

二是外观检测。检测生产线上产品有无质量问题,该环节也是取代人工最多的环节。

三是高精度测量。有些产品的精密度较高,达到0.01~0.02m,甚至到u级,人眼无法测量,必须使用机器完成。

四是识别。就是利用机器视觉对图像进行处理、分析和理解,以识别各种不同模式的目标和对象,可以达到数据的追溯和采集。

视觉与图像技术在工业自动化领域的重大作用,相当于给工业设备安装了一双超级“智眼”。未来的工业生产将以“智眼”为核心,装备在千千万万、形形色色的设备上,指挥各种各样的“手、脚、身体”动作,实现“深度感知、智慧决策、自动执行”,成为“智人”。

3.课程设计与智能制造核心技术相结合

移动机器人是当前工业自动化领域较成熟的产品,其中,常见的视觉智能小车所涉及的智能模块亦是当前智能软件行业的核心业务基础。课程将以视觉智能小车为载体进行设计与开发。小车完整的开发涉及到硬件及软件的部分。其中,软件部分的设计与开发包含大量丰富的数据结构应用及算法的设计。这些成熟的产品为课程提供了大量优秀素材,想要完整实现智能小车的开发并非易事。因此,需要适当地裁剪和修改小车的功能,弱化硬件的开发量,简化系统架构,选取具有代表性数据结构与算法的智能化模块进行开发实践,从而适合课堂教学。

课程拟选取简化后的基础智能模块与智能制造核心技术对应关系见表1所列。

4.课程设计内容

课程设计内容以树莓派4B为主控的智能小车作为载体,可支持多种主流编程语言,如Python语言(后续的实践基于Python语言进行开发),以主流的Jupter Lab为开发工具,学生们容易上手。以Open Source CV为主要图像处理库,搭配二自由度摄像头云台,可以实现典型的AI视觉功能,包括人脸跟踪、颜色跟随、二维码识别、手势识别等多种智能模块.这些智能模块多以数值矩阵进行数据逻辑表达以及应用经典图像算法处理库进行计算,适合底层语言的深度学习及进行拓展设计开发。另外,对于智能小车开发涉及的课程以外的理论或技术,需要编写补充学习资料,帮助学生快速扫除障碍,尽快进入智能小车的开发实战中。

考虑到数据结构与算法课程设计开设在大一下学期,学生具备一定的编程能力、数据结构以及算法基础,但是对于类似于智能小车的开发属于一个几乎崭新的领域,从基本硬件组装、算法设计到后期的烧录测试都具备一定的难度,因此,在智能模块的自主开发中采用四人一组的形式开展,具体的智能模块选题可以自选,老师进行微调确保选题全覆盖。智能模块选题如见表2所列。

表2 智能模块选题表

5.课程教学计划

本课程计划学时为24学时,课程教学安排分为6个阶段,包括课前预习、理论精讲、基础引导实验、自主设计与实践、小组答辩、总结汇报。具体教学安排如见表3所列。

表3 教学计划

在自主设计与实践中,基于软件工程思维,让学生体验智能化软件开发的生命周期的关键环节,包括功能分析、方案设计、编码测试、评估优化四个阶段。以视觉巡线模块为例,学生自主设计与实践安排如见表4所列。

表4 自主设计与实践计划

6.课程考核

根据课程安排进行过程化考核。

(1)课前:完成自学资料的预习,老师可通过线上学习平台监督统计,学生完成项目相关基础知识测试。

(2)课中:完成基础引导实验的实验报告;能够按需求分析、方案设计、编码测试、评估优化四个环节完成所选模块的设计与实现,按环节依次提交功能结构图、主程序执行流程图、模块实现源码以及算法优化方案说明;按小组提交答辩PPT。

(3)课后:整理和完善课中的实验文档,根据实验中所遇到的问题及采取的解决方案进行归纳形成总结,结合课中实验环节的过程性资料形成完整的课程设计,与源码一起提交。

7.预期效果

基于智能软件开发的数据结构与算法课程设计课程教学模式,在强化传统数据结构与算法核心知识的训练的同时,加强了与现代智能软件行业的应用技术接轨,在应用型人才培养方面拟实现如下效果:

(1)在实验过程中,融合了软件开发过程中的需求分析、方案设计、编码测试、评估优化等必要环节,体现了知识、技术、方法的综合应用,有利于逐步培养解决复杂工程问题的思维能力。

(2)实验取材于智能小车中智能模块的开发,需要用到图像处理、智能控制及软件设计等多个领域的知识技能,具备一定的挑战性。教师提供充足的配套教学指导资源,并进行引导性指导,学生通过自己的努力也可以完成预定目标,有利于培养学生迎难而上的韧性及合理应用工程原理解决问题的能力。

(3)在实验过程中,学生在根据已有的指导资源可以完成智能模块的基础功能开发的基础上,对于模块功能的完善,需要进行方案优化二次开发,有利于学生自主创新实践的能力。

结语

基于智能软件开发的数据结构与算法课程设计课程教学模式,紧密结合现代软件产业的技术发展,提升学生的工程实践能力,培养学生的计算思维能力及创新能力。从数据结构与算法的基础知识点出发,探讨知识点及技术在经典的智能制造领域中的应用,激发学生的兴趣和提高获得感,为以后顺应现代软件产业的技术和能力需求奠定良好基础。

猜你喜欢

数据结构小车课程设计
“苏州园林:景致与情思”课程设计
沉睡数千年 一醒惊天下——三星堆考古启示下的儿童美术项目化课程设计
数据结构线上线下混合教学模式探讨
大车拉小车
重典型应用,明结构关系
刘老师想开小车
A Study on the Application of Task—based Approach to English Vocabulary Teaching
去修理厂
智能小车
数据结构与算法课程设计教学模式的探讨