基于信息化技术的算法与程序设计教学问题和方
1 前言
人类总结改造自然过程的认识和经验形成了知识,通过消化吸收这些认识和经验为我所用,形成了技能[1]。教学的过程是传授知识的过程,而知识与技能不等同,教学的目的是让学生掌握具有立足现实的技能,形成对自然过程的正确认识,不断去实践这种认识,并转化为技能。因此,教学过程的完成并不一定达到教学的目的,只有在教学过程中让学生对教学内容进行实践、分析、判断、推理、灵活运用,形成自己的技能,才能立足于现实,达到教学的目的。
新课标指明学习算法与程序设计模块的目的是使学生体验算法思想,了解计算机解决问题的基本过程,理解算法和程序设计解决问题的作用,明确算法和程序设计学科在实际应用中所处的地位[2];通过学习让学生 能从简单问题入手,设计相应的算法,同时使用合适的编程语言实现程序设计,解决现实中存在的问题。其教学重点是让学生理解计算机解决实际问题所应用的思想方法及对工程思想的挖掘。在算法与程序设计的教学过程中,本文不再将抽象的算法和枯燥无味的程序代码作为讲解重点,取而代之的是问题求解思路,从问题出发,培养学生系统性思维,算法只作为一种工具或手段,在解决问题的过程中体验算法思维训练,在程序框架设计的过程中锻炼逻辑能力。让学生在学习的过程中理解计算机的约束和实现机制的同时提高创新、开发及解决问题的能力。
算法与程序设计现行教学中主要存在三个问题[3-4]。
1)教师往往把基本语法、变量定义、程序的控制、函数应用作为讲解重点,课堂的大部分时间主要用来强调这些细节的应用,然而这些内容比较抽象,难以通过通俗的手法或例子让学生真正去理解与吸收,在枯燥的讲解中没能达到教学目的,更是让学生对课程失去兴趣,难以让学生从系统的思想贯通算法的思维,理解程序设计的真正用途。
2)过多的课时进行基础理论知识讲解,基础理论的讲解与上机操作分开进行,在强硬灌输的课堂上,学生学得似懂非懂,云里雾里,当再去上机操作的时候也不知道基础理论讲解的是什么或上机操作有什么作用,只是跟随教师的指令去点击鼠标或敲击键盘。
3)评价手段单一。算法与程序设计学习成绩的评价只是在学时结束时,教师针对课堂讲授知识点,按照考纲考点编制试卷进行笔试,或者在计算机上形成题库让学生上机作答,最终以学生所答试题的得分为考评依据。这种考核方法很难对学生的系统性思维做出评价,并与课标的设计目的脱轨。
2 基于信息技术教学模型的设计
教学模型 信息化技术的发展为课堂提供了多种高效的教学手段[5-7]。笔者结合多年的教学经验,通过教学算法与程序设计课程提高学生系统性思维,培养以计算机及编程手段解决实际问题的能力,提出一种基于信息技术的算法与程序设计教学模型,如图1所示。
多种信息化技术提升学习兴趣 兴趣是最好的老师,学好一门课程的首要条件是对其感兴趣[8]。就像Visual Basic程序设计课程里用“hello world”例子将学生引入程序设计,而随着信息技术的发展,人们生活水平的提高,学生在现实生活中随处可接触到计算机及移动终端,像智能手机、iPad上各式各样游戏软件、应用软件五花八门,“hello world”这样的例子对他们已经产生不了吸引力。为结合课程的讲解,本文教学模式将以现实场景为基础,结合物联网技术、数据库技术、软件编程技术及多媒体技术给学生展现一个程序设计的现实场景,提高课堂的趣味性。
课程开始前,给每个学生发一张和姓名唯一匹配的身份标识卡,当学生带着这张卡进入教室时,RFID读卡终端将该学生信息读入计算机,将学生信息及进入教室的时间显示在电脑屏幕上,并通过多媒体系统显示在大屏幕上。当上课时间到了,大屏幕上会显示课堂应到人数、实到人数。
提出及分析问题 问题的提出紧跟刚上课时场景,针对这套系统让学生提出自己的疑问,通过记录总结问题主要集中在以下几点:标识卡是怎么与学生姓名唯一关联的?当人经过教室门口时并没有与任何东西接触,计算机为何能知道?计算机是怎么知道人进入教室的具体时间的?在上课时间到了后,计算机是如何知道缺课人数的?
带着这样的疑问,开始问题的分析与基础知识的讲解:当学生带着标识卡进入教室后,标识卡进入终端的识别范围,通过无线射频信号[9-10],终端读取了具有唯一ID号的标识卡;在计算机的数据库中把标识卡的ID号与学生姓名进行关联,当学生持卡进入教室后,计算机读取系统时间,并进行人数统计,在上课时间将最终统计结果与缺课人数显示在屏幕上。整个教学案例框架结构如图2所示。 算法设计与程序编写 根据问题分析及系统框架结构,将整个系统分成三部分:以计算机为中心,RFID和计算机连接部分、数据库服务器和计算机连接部分、投影仪和计算机连接部分。按照框架硬件的三部分,将全班学生分成三组,分别完成计算机对RFID终端程序的调用、数据库数据结构的建立、计算机对数据库的访问及数据统计结果的显示,在各组完成自己的内容后,两组交换内容,直到三个组完成全部程序的编写。RFID程序的编写还具有一定的难度,不作为本课堂的教学内容。该部分内容设计为对已有RFID程序的调用,有兴趣的学生可以尝试自己编写这部分内容。
各组任务明确之后,针对所需内容讲解基本知识,包括变量的定义、函数的编写、数据库的访问、课程安排上不占用过多课时,尽量多地让学生知道在程序编写的过程中用到什么、查什么、学什么,有目的地去学知识点。这样将往常课堂上“要我学”的模式变成“我要学”的模式,培养学生独立学习的能力、会学习的能力,而不是单纯教授学生某个知识点。
程序的检验与课堂展现 所有组别的学生完成三大部分的编程后,对程序进行调试,当程序编译不通过时,要针对编译出错的地方进行分析。如是架构问题,如模型图反过来理清问题,清楚计算机要执行的功能,进行架构调整;如是算法与语句问题,利用程序平台有效的纠错手段进行程序纠错。此模块可提高学生对整个系统框架体系的把握,从全局着手分析编程问题,在修正过程中熟悉编译环境,提高学
生发现问题、解决问题的能力。
编译通过后,对程序进行封装,并完成程序的安装。分组完成课堂展现,将所有硬件设备连接完成,让各组别的学生拿着自己的标识卡进入RFID终端识别范围,看看自己所设计程序的最终效果,体验自己的劳动成果,进一步提高对算法与程序设计课程的兴趣。
课程的综合考评 该模型中从算法的有效性、程序的可读性、学生思维的扩展等多个方面对学生的学习成绩进行评价,对简洁高效的算法设计要多加分,对可读性强的程序要多加分。另外,对在课堂设计内容要求之外,自己丰富程序功能的学生要多加分。比如在该案例系统中,学生信息有的只是以文字内容来显示,有的学生加入了学生照片的显示,丰富了程序的内容,增强了教学案例的趣味性。
3结论
基于信息化技术的算法与程序设计教学模型,以当前流行的物联网技术、计算机软件技术、数据库技术、多媒体技术等行之有效的信息化技术为手段,摒弃了传统教学模式单调、评价模式单一的弊端,丰富了教学的现场内容,更加有效地激发学生的学习兴趣,对学生学习效果做出综合客观的评价,培养了学生的实践动手能力及学习算法与程序设计的系统性思想,收到良好的教学效果。
参考文献
[1]吴曙光,李新生.基于“知识+技能”的高职教学模式建构[J].职业技术教育,2013(5):29-31.
[2]高淑印.基础教育算法与程序设计模块内容标准解读[J].中国电化教育,2012(10):33-36.
[3]胡志洪.《算法与程序设计》课程的有效教学[J].软件导刊:教育技术,2012(1):21-23.
[4]赵楠楠.在多维一体教学模式下高中《算法与程序设计》教学研究[J].信息与电脑:理论版,2014(9):225.
[5]徐前.论信息化技术在课堂教学中的运用[J].工会论坛:山东省工会管理干部学院学报,2012(3):172-173.
[6]李军民,傅云凤.信息化技术与教学过程无缝融合的研究[J].技术与创新管理,2014(6):648-650,662.
[7]袁晓斌.继续教育教学中的信息化技术应用分析[J].中小企业管理与科技,2015(1):316-317.
[8]安海.教师在教学中如何激发学生学习兴趣、改进教学方法[J].山东省青年管理干部学院学报,2009(3):150-152.
[9]夏书剑,秦延斌.无线射频识别技术在医疗教学管理中的应用[J].现代计算机:专业版,2012(4):49-52.