陈慧
摘 要:本文针对计算机专业知识的动态性和抽象性难以在传统教学中进行较好的展现问题,引入“可视化教学”概念。以《C程序设计语言》和《数据结构》课程为例,根据课程教学大纲将知识点进行梳理分类后,把教学内容分别从基础知识可视化、程序结构可视化和算法可视化三方面进行可视化设计,帮助学生增强对知识点的理解,提高教学效果。
关键词:可视化教学 知识点 教学效果
中图分类号:TP391.6 文献标识码:A 文章编号:1674-098X(2019)06(c)-0183-02
可视化技术是指将数据转换成图形或图像,进而能够实现交互处理的理论、方法和技术。可视化技术的实现能够促进形象思维、直觉思维、发散思维、逻辑思维和辨证思维的发挥。
可视化技术应用于教学时,可以利用计算机图形学和图像处理技术,对显示出来的图形或文字进行交互处理,可视化技术将复杂事物的描述简单化,针对教与学过程中的理解、对话、探索和交流进行有效改善,增强思考的效能和创新性。
计算机专业课程的教师在教学过程中虽然也会引入一些可视化内容,但对于课程中的教学内容没有进行系统的完善的可视化设计。一套完善的教学可视化系统可以帮助学生从学习兴趣、学习自主性、理解能力、学习效率和学习成绩方面进行提升,降低教师教学过程中对抽象概念和算法等知识点讲解的难度,提高教师在教学管理工作方面的效率,增强课程的整体教学效果。本文以《C程序设计语言》和《数据结构》课程为例,根据课程教学大纲将知识点进行梳理分类,把教学内容分为基础知识可视化、程序结构可视化和算法可视化三部分,针对这三部分进行详细设计。最后利用Flash动画和Javascript等技术对基础知识、程序结构和算法的可视化设计侧重点和关键因素分析后进行设计并实现。
1 基础知识可视化教学设计
1.1 设计概述
基础知识主要包括程序的入门知识和关键特点、抽象概念等内容,通过动画技术对课程的基础知识进行可视化呈现。
(1)前期需求分析阶段,对程序设计课程的基础知识可视化需求和内容进行梳理,确定可视化建设的目标和终点。
(2)明确程序设计课程中基础知识主题,分析程序设计语言的知识特点,进行重点设计。
(3)文本设计是可视化动画设计的前提,通过将需要教学的内容按照动画绘制平台的绘画步骤进行呈现。在文本与动画转换的过程中,需要考虑学生的心理特征,采用口语化的描述方式将知识要点转换為动画画板不同的控件。在动画呈现形式方面,为不同的程序基础知识实体确定不同的控件显示方式,比如不同的控件、不同的形状、不同的字体属性、不同的色彩等。
(4)基础知识展示过程中,需要旁白讲解功能,针对动画当前页面的内容以直白风趣的方式进行阐述,提升学生的理解能力。
1.2 基础知识可视化分析与设计
基础知识可视化设计时,首先将知识点进行整理,分析各知识点设计时应侧重的目标。如表1所示。
然后,针对以上列表中每个知识点的特点,具体实现时考虑有哪些关键因素,如有无人物设计、有无情景设计、交互性强度、是否需要设计一个模拟游戏来增强理解。
最后,根据分析结果去实现。将动画页面比例设置为 16∶9,更符合人眼的视觉特点。考虑到学生的学习习惯和视觉疲劳程度,每个动画时间控制在10min,不仅能够激发学习者的主动性,而且可以减少学生心理负担。
例如,“简单的C程序”知识点动画设计时要展示一个C程序从写好代码到运行并输出的过程。首先有配音提示按下鼠标键,当用户按下鼠标键后会显示一段程序代码,这时,语音提示请按下键盘上的回车键,当用户操作后显示输出结果,然后配音讲解程序代码,讲解时对应代码会高亮显示,最后仍显示程序代码,用户鼠标移动到某一个位置就会显示对应代码的说明。
2 程序结构可视化教学设计
2.1 设计概述
程序结构主要对不同程序的基本顺序结构、判断结构和循环结构进行描述。
(1)首先对目前不同程序结构类型进行梳理,包括顺序结构、判断结构和循环结构,对不同的结构特点和主要内容进行说明。
(2)明确程序结构的展现方式。利用实例对不同结构的用途及变量变化过程进行呈现,列举不同结果的讲解提纲和风格。
(3)将不同程序结构的内容和讲解流程进行整理,形成文本,同时设计旁白讲解,对程序结构进行讲解。
2.2 程序结构可视化分析与设计
在程序结构可视化设计时,同样先进行侧重点分析,对顺序结构、if语句、swtich语句、while语句、do-while语句、for语句、循环嵌套和break与continue等知识点具体侧重兴趣、理解力和编程思维方面进行分析。
针对上述每个知识点的特点,同样要考虑有无人物设计、有无情景设计、交互性强度等关键因素。
以循环控制为例,解决“猴子吃桃”的问题,求解猴子摘桃的天数。具体题目是:猴子去摘桃,共摘了127个桃,它每天吃掉一半多一个,问猴子摘了几天桃?具体实现时首先展现一个猴子每天重复摘桃并吃桃的场景,然后提出问题并显示程序结构流程图,此页面上显示三种语句包括while语句、do-while语句、for 语句的链接,最后根据用户的点击,分别显示对应语句的编程代码。
3 算法可视化教学设计
算法主要针对数据结构课程进行展开,对各类排序算法(如冒泡排序、堆排序等)、链表、哈希树等结构的原理和流程进行可视化呈现,设计动画后以更直观的方式让学生用户掌握算法知识。
算法可视化呈现需要与实际的应用场景结合,将算法中的变量通过动画控件的方式呈现,展示其值的变化,对变量在算法运行过程中的关系进行呈现,具体动画设计流程与程序结构类似。
数据结构中的算法众多,根据教学大纲,依据数据结构类型进行整理,常见的数据结构类型有:数组,栈,链表、队列、树、图、堆、散列表等。挑选顺序栈、栈与递归、二叉树遍历、逆转线性链表、拆半查找、冒泡排序、选择排序、插入排序、堆排序等内容进行设计。
以“冒泡排序”为例,可以设计为:首先等待用户输入要进行排序的数据,中间以逗号分隔,然后点击“开始”按钮后演示第一趟排序的动态变化过程,当第一趟排序结束时需要等待用户点击鼠标后再显示第二趟排序的动态变化过程,以此类推。
4 结语
可视化教学是教育领域的发展趋势,研究开发可视化教学内容设计,既可以直接改革计算机专业课程的教学方法和手段,提高教学效率和质量,又符合教学改革的方向,是随着教育技术不断发展而完善的教学方式。
参考文献
[1] 张思,全婕,涂英.JAVA零基础数据可视化教学研究[J].中国教育信息化,2017(10):21-23.
[2] 张仁津,邓静.可视化计算机教学的研究[J].贵州师范大学学报:自然科学版,2004(1):120-122.
[3] 史瑞芳.计算机图像学算法可视化教学系统设计与实现分析[J].中国管理信息化,2008(16):201-202.