APP下载

以Flash为载体的实验案例设计

2018-04-25房琛琛

计算机教育 2018年4期
关键词:上机教具排序

房琛琛,谢 涛,齐 琪

(西安交通大学 计算机教学实验中心, 陕西 西安 710049)

0 引 言

计算机程序设计课程是许多高校理工科类的公共基础课程之一。实验教学是其教学过程中的一个重要环节。然而传统的实验教学方式是:教师先讲授实验相关的理论知识,然后布置实验任务;学生上机编程实践,实验课结束后,学生提交一份电子或纸质版实验报告;教师根据实验报告给出学生此次实验成绩。这种传统的实验教学方式普遍存在一些问题:①先教师讲授再上机实践,学生基本就是按部就班完成实验指导书或者讲义上内容,无法培养动手能力和思考能力[1];②实验内容与实际问题联系较弱,导致学生学习目的性不强,不能达到学以致用[2-3];③实验报告的内容设计不能真实反映学生对知识的掌握情况,不能反映学生的实际操作能力。这些不足导致无法培养学生的动手编程能力和创新能力。

1 将Flash技术融入到计算机程序设计实验教学中

随着Flash技术的发展,Flash动画已经进入到教育领域,传统的教学往往受到实验场所,实验设备的局限,不能达到理想的教学效果。通过Flash技术可以把一些难于表述清楚的知识点或难点制作成动画案例,让学生更好地理解知识内容,调动其学习的积极性。为了达到更好的学习效果,可以设计具有互动性的动画案例,使学生参与教学,提高教学效果。

在制作Flash动画时可以采取两种方式:①顺序播放式用于演示操作或者顺序流程之类的案例;②交互式是通过键盘或者鼠标响应实现交互的效果。教师可以针对不同的实验案例,根据其内容特点选择不同方式的动画。

在计算机程序设计课程中,以程序代码的讲解为例,可以设计程序的单步执行动画案例,当程序运行到某一行时,变量的值是多少,或表达式的值是多少,都可以通过动画形式一步一步演示,使学生对程序的每行代码都有深入的了解。

还可以通过Flash动画制作出一些类似于教具的软件,这里简称电子教具,如生成一个画板工具,实现流程图的制作等。这些教具并不是一个完整的案例,但是能给老师提供一个虚拟的演示工具。

总之,Flash动画在帮助学生理解掌握知识点上起到了催化剂的作用。Flash以可视化和多媒体化的形式展示内容,容易聚集学生的注意力,与传统的教学模式相比,学生会觉得更生动形象,更容易理解知识内容,并且因其互动性好,提高学生的学习参与感[4]。

2 实验案例的设计

2.1 设计思想

实验案例的设计应该将不同层次的知识点贯穿起来,将现阶段实验逐步迁移到下一知识层次[5]。所以,在进行案例设计时,应考虑此次实验的知识点层次,并考虑如何将这些知识点根据层次的深入而贯穿起来。

例如,在学习排序算法的过程中,学生经常遇到的问题是:为什么出现多种排序算法?某一特定的问题需要使用哪种排序算法?所以,在设计“排序算法比较”实验案例时,实验目的就是让学生自主探索、思考、发现排序算法的优缺点及其适用性,能编程实验解决实际问题,并能归纳、总结、演示。

2.2 “排序算法比较”的实验过程设计

排序是计算机内经常进行的一种操作,在程序设计中应用广泛。其目的就是将一组无序的记录序列调整为有序的记录序列。排序的算法有很多种,本次实验选取了经典的3种排序算法。

学生通过老师的讲授以及用电子教具操作实践,加深对3种排序算法的理解。学生在上机实践中,用C语言编程实现冒泡排序、选择排序、快速排序3种算法,并对比多种实验数据,针对给定的3种实际应用案例选择合适的算法实现并总结证明。具体实现方案如图1所示。

图1 案例实现方案

1)知识讲解。

排序算法在程序设计中应用广泛,但是教学中学生不容易接受。为了便于学生理解排序算法的思想,本案例采用Flash动画展示排序的过程,生动形象的展现手段改进了传统的教学方式,便于学生理解和掌握排序的相关概念,进行编程应用。图2展示了冒泡排序的Flash动画画面。

图2 用Flash演示冒泡排序算法

2)方法引导。

为了让学生对算法有更深刻的了解,本案例通过扑克牌电子教具,让学生手动模拟3种排序算法的过程,理解编程实现的思路。电子教具是用Flash制作的模拟真实扑克牌的交互式动画,学生可以手动拖动卡片,模拟不同算法的排序过程。

3)上机实践指导。

针对学生在上机编程实现过程中遇到问题,教师有针对性地进行指导,鼓励他们相互讨论。在实验过程中,启发学生思考对比实验的分类目的,引导学生得出正确的实验结论。

4)对比实验。

用4种实验数据来运行3种排序算法,完成对比实验分析表。包括:基于3种不同样本大小的完全随机数据的3种排序算法对比分析表(表1);基于3类不同数据特征数据的3种排序算法对比分析表(表2)。其中,完全随机数据要求学生使用随机函数产生;接近正序数据/接近反序数据/较多重复数据,学生可以自己生成,也可使用教师提供的数据做实验。

表1 3种排序算法实验统计(完全随机数据)

表2 3种排序算法实验统计(非随机数据,样本大小N=100)

5)实际应用。

选择合适的算法应用到实际案例中,详细地描述解决问题的思路,并对通过运行程序得出的结果进行论证。3个实际案例如下。

实际案例1:统计学生信息。某班班长有一份学生基本信息表(已按照学号从小到大排序)。现要求按照年龄从小到大的顺序重新排序。要求:年龄相同的学生,学号按照小的在前,大的在后。请你只做一遍排序,就能帮班长把统计表整理好。

实际案例2:换座位。某班团支部组织全班30名同学观看爱国主义教育电影。座位选择了某区的一排。30名同学持票入场后并未对号入座。电影开场后工作人员要求必须按照票号就坐。为了不影响其他观影人员,工作人员每次只能调整2名同学的座位。请问:最少调整多少次才能使30名同学坐到自己的座位上(工作人员已记录了30名同学的目前的座位号和票号)?

实际案例3:统计期末考试成绩。某学生帮助院教务老师统计某一级全院学生公共科目“高数”的期末考试成绩。上报的统计表格包含3列信息(姓名、学号、成绩)。要求:成绩从高到低排名,成绩相同的按照学号从小到大排序。请问:如果需要你来完成此工作,请给出排序的设计思路。

2.3 实验结果与验收

(1)程序验收:程序是否能编译通过。若能通过,查看结果的正确性。

(2)实验质量:总分100。上机实现3种排序算法占60%,运行程序完成对比实验分析表占20%,选择合适的算法应用到实际案例中并论证占20%。

(3)自主独立:自主思考与独立实践能力。能够独立完成对比实验分析表,并能给出正确的结论。自主分析实际应用案例问题,给出解决思路,并通过运行程序论证答案的正确性。

(4)实验报告:实验报告的规范性与完整性,要求有对比实验表(时间、交换次数、稳定性),并给出结论、实际案例的分析总结等。

3 结 语

以“排序算法的比较”内容为例,从学习研究、对比分析、实现调试、总结、验收过程进行案例设计,将讲解、思考、动手、实践于一体。通过对排序算法的对比实验和分析,加深学生对3种不同排序算法原理的理解,重点了解它们的优缺点和适用性。同时,让学生上机实践,对比实验结果,针对特定场景案例选择合适的算法并论证。从分析到论证,比较容易激发学生对算法学习的兴趣,提升他们的成就感。与以往学生上机实验的区别还在于,在上机实践前先让他们自己通过电子教具手动排序,加深理解理论,为他们上机编程提供思路。基本落实以学生遇到问题为出发点,以实际需求为归宿[6],加强基本编程思维和方法的训练。

计算机程序设计课程的实验教学的关键是加强学生对知识的理解,提高学生的动手能力,能够使用所学的知识解决实际问题。采用Flash动画加深学生对知识的理解,调动学生学习的兴趣,为其进一步学习打下基础。两年来,以该方法设计的实验案例,学生反馈学习效果良好。下一步计划就是制作一系列实验案例所需要的Flash动画,将实验过程设计得更细致、更完善。

参考文献:

[1]丁海燕. 计算机程序设计课程中计算思维的培养[J]. 实验技术与管理, 2015(12): 16-18.

[2]王丽娜, 吕红, 张杰, 等. 计算机程序设计实验课程的教学改革与实践[J]. 计算机工程与科学, 2014, 36(增刊1): 226-229.

[3]叶冬芬, 范伟, 杨明霞, 等. 计算机程序设计类课程实验教学改革的研究[J]. 福建电脑, 2010(11): 32-33.

[4]乔亚男, 李波, 谢涛. 基于电子教具的大学计算机基础混合式教学研究[J]. 工业和信息化教育, 2016(11): 32-36.

[5]李雪飞, 李晶, 余琍, 等. 面向对象程序设计类课程实践教学改革[J]. 计算机教育, 2017(7): 118-121.

[6]李瑞生, 王秋云, 安德智, 等. 计算机程序设计类课程实践教学的改革与创新[J]. 实验技术与管理, 2012(4): 183-198.

猜你喜欢

上机教具排序
周金应
作者简介
自制玩教具《拼拼乐》
恐怖排序
初中物理自制教具应用探讨
上机数控“可疑”的高毛利率
节日排序
高中信息技术教学实效探究
高中信息技术教学实效探究