摘要:针对当前计算机算法类课程逻辑性强又极为抽象的问题,我院引入三维视景仿真技术,研究开发出一套以应用为导向结合计算机专业关键算法的辅助教学演示工具。它能有效改善算法实验环境的二维空间局限性,实现算法可视化从二维到三维的跳变,从而获得更好的教学效果和更大的教育意义。
关键词:视景仿真;计算机算法;教学改革;算法可视化
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)46-0276-02
一、引言
在我国,“模拟与仿真教学”这一概念正在逐步被人们所认识和接受,同时也引起了有关部门和教学机构的重视。近年来,我国的一些职业学校首先在计算机类、信息传达、经济类专业实践教学方面进行了积极的探索和改革,相继建立了国家级信息技术仿真实验室等[1]。然而传统的结合仿真系统的教学模式,是侧重于教会学生如何“使用”这些仿真教学软件,而没有培养学生站在一个“开发者”的角度上将所学的理论算法用于去设计开发以解决实际问题为需求的仿真系统。
针对上述问题,本文通过设计并使用在MFC-VS集成环境下所开发的三维视景仿真系统,改善了传统仿真教学“重使用不重开发”教育模式的弊端。该系统预留有算法接口,可嵌入计算机专业课程中所讲述的各种关键算法。本文结合计算机专业课程中的各种算法,包括《数据结构》课程[2]中的递归算法、《人工智能》课程中的经典A*算法及群智能算法等,给出其在该仿真系统中的实用效果,结合该仿真系统对计算机算法课程的教学模式改革进行分析研究。
二、算法课程中教学现状分析
计算机的算法类课程所涉及的知识面广,研究内容深,使初学者觉得抽象、乏味,在教学中存在很大困难。
1.课程教学分析。计算机关于算法的专业课程内容抽象,学生往往因为不知道这些理论知识的讲解到底与具体算法实现及应用之间有何关系,而陷入一种只知道学习某部分内容的局部认识中。而且算法类课程涉及太多的数理逻辑知识,显得难以理解,往往让学生感到比较枯燥,这样学生的学习兴趣就渐渐淡了。
2.实验教学分析。目前,算法类课程大多注重理论知识的讲授,实验环节滞后,这不利于培养学生的实践能力,更谈不上实践创新。而且即使有少量的实验安排,也是基于二维字符界面的实验环境。实验环境滞留在二维空间,难以激发学生做实验的兴趣,且实验题目未与实际应用相结合,导致学生不了解所学算法的实际用途,从而兴趣不高。
三、基于3D仿真技术设计的仿真教学辅助软件的开发
在技术上采用3D视景仿真软件(MultiGen Vega Prime 2.0)、建模软件(MultiGen Creator)及基于MFC的VS开发集成环境,设计并开发出性能稳定的多通道观测的仿真系统,主要用于作为计算机主干课程《数据结构与算法》、《人工智能》中的递归算法、A*算法、粒子群算法、蚁群算法、人工势场法等在实际3D视景环境中寻路效果的应用展示,同时系统预留有接口,可启发学生动手编写并嵌入新的算法,并查看实用效果。
本仿真系统融合了多种具有代表性的智能算法[3],如《数据结构与算法》课程中的递归求解等算法,《人工智能》课程中的A*算法、改进后的粒子群算法、改进的蚁群算法、人工势场法等智能近似最优算法。针对三维空间搜索最优路径点的特点,对《人工智能》中的这几种群智能算法分别进行了改进,增强了算法的实用性。
四、以应用为导向的教学模式改革探索
结合仿真演示系统,使学生经历由“被动学习”到“深入理解”再到“主动开发”的角色转变,融入到教学改革中,极大地改变了学生的学习方式和学习习惯[4]。
1.结合三维仿真系统的课堂教学模式改革。在课堂授课过程中,如讲授《人工智能》课程的“图搜索类算法”中的“经典A*算法”时,可结合所设计的三维视景仿真系统,给学生们讲解A*算法的基本原理,及其在机器人路径规划中的实用性,从而让学生有更直观全面的认识,激发其浓厚的学习兴趣,吸引其注意力,活跃了课堂气氛,激发了学生探索算法实现的兴趣。《人工智能》课程是一门交叉和综合的学科,这注定了它教学方法的多样性,因此在实际教学过程中,可以将启发式、参与式、讨论式、问题式、案例式等多种教学方法融合在课程教学活动中。比如在讲解“A*算法”时,可以启发学生思考“A*启发式智能搜索算法”和我們之前在《数据结构》里所学习的“盲目搜索算法”——如八方向递归搜索算法[6]之间有什么不同,启发学生思考算法间的同构性和异构性。经过学生思考讨论后再进行讲解,然后再用本教学演示系统进行演示。学生可直观地看到两种算法在三维视景场景中寻路路线的特点,分析出其算法间的区别,比较算法的优劣性,形成更好的教学效果。在整个课堂教学过程中,教师扮演好组织者和引导者的角色,充分发挥“以学生为主体,应用为主导”的作用。通过采用仿真系统为应用导向的教学方法,更有效地培养学生分析问题、解决问题的能力[7]。
2.设计仿真型实验。以该仿真系统为实验平台,设计一系列的算法实验。全部学生分成若干个小组,每个小组独立完成基于仿真平台的实验环境的配置。然后,各小组拟定一种或多种智能搜索算法,并写出源代码文件,完成后直接将其include进仿真实验系统,运行后即可直观看到算法在三维视景环境中的应用效果。这种仿真实验的设置可有效改善传统的二维字符界面的编程环境[8],使学生亲身感受算法的三维应用效果,增加了学生对实验的兴趣,充分调动了学生的积极性和创造性,极大地锻炼了学生的动手能力和逻辑思维能力。
五、小结
计算机算法类课程内容抽象,理论性强,结合本仿真系统的教学模式能够较好地解决传统教学方法中算法抽象晦涩难懂等问题。通过本文的研究成果可以改革传统的单一灌输式、知识储备型的教学模式;便于在《数据结构与算法》、《算法设计与分析》及《人工智能》等计算机算法类课程的教学过程中针对某种典型算法和实际问题(路径规划问题)相结合进行教学演示,即将其作为计算机算法类课程的辅助教学演示系统,能够增强课程生动性,改善目前计算机算法类课程教学过程中算法可视化时的二维空间局限性,实现算法可视化从二维到三维的跳变,增强算法的直观性、真实性及实用性,从而使学生所学知识更贴近现实需求。
参考文献:
[1]张玥杰,赵一鸣.程序设计与算法类课程建设模式探索[J].计算机工程与科学,2014,36(s2):38-41.
[2]邓沌华,李源.数据结构多层次渐进式实践教学体系构建[J].计算机教育,2012,(24):72-76.
[3]陈湘骥,徐东风,方凤美.算法类程序设计课程多层次实践教学体系的构建[J].实验室研究与探索,2012,31(08):330-333.
[4]王晓勇,方跃峰,肖四友,梁越.以专业应用为导向的计算机基础课程教学改革与实践[J].中国大学教学,2011,(07):135-135.
[5]周静,付绪昌.基于新的粒子群算法的虚拟角色路径规划仿真系统[J].计算机应用,2014,34(09):2562-2565.
[6]周静,彭冲.三维复杂场景路径规划仿真系统设计与分析[J].计算机仿真,2015,32(06):364-367.
[7]陈学斌,张淑芬.信息与计算科学专业计算机类课程教学改革研究[J].计算机教育,2013,(16):46-50.
[8]熊焱,郑丽群,王洁.浅谈算法类课程实践教学内容设计[J].信息系统工程,2015,(09):145-145.