半成品教学策略在算法与程序设计教学中的应用

2016-05-14 17:09李世玲
中国教育技术装备 2016年7期
关键词:信息技术课程半成品教学策略

李世玲

摘 要 “半成品”教学策略避免把有限的课时浪费在程序设计语言和所谓编程技巧上,为学生的学习提供技术支持,很好地解决了学生程序设计“零起点”的问题。

关键词 “半成品”教学策略;算法与程序设计;信息技术课程

中图分类号:G633.67 文献标识码:B

文章编号:1671-489X(2016)07-0084-02

在《全国普通高中信息技术课程标准》中,算法与程序设计是普通高中信息技术课程的选修模块,该模块提出的课程目标是:“旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”由此可见,算法和程序设计的教学目标不是培养编程高手,而是培养学生的算法思维。也就是说课堂教学“可以先让学生通过对范例的模仿与改造,体验简单问题的解决过程,把握程序设计的脉络,或者只是将现成的程序模块进行组装,其目的在于让学生从方法与过程上体验软件开发的完整流程,感悟程序设计的乐趣”[1]。

但是算法思维是以程序设计为载体,学生必须懂编程才能实现算法。而学生从没学过编程,在有限的课时很难掌握大量的语法和编程技巧。为此,笔者在教学实践中探索采用“半成品”教学策略来提高算法与程序设计教学的有效性,尽可能避免缺乏编程基础带来的难题。

“半成品”教学策略最早出现在王爱胜老师发表的《“半成品加工”策略“加工”啥?——在真实的问题解决环境中开展教与学》一文。这种教学策略就是提供一个待完成的作品,只是对教学内容这部分“留白”,无论是讲授还是练习,都在完善“成品”中开展教与学,为学生提供一个真实的学习情境和练习环境[2]。“半成品策略”避免把有限的课时浪费在程序设计语言和所谓编程技巧上,为学生的学习提供技术支持,很好地解决了学生程序设计“零起点”的问题。在商业应用软件日益丰富的今天,很多人并不一定是编程高手,但可以通过修改网上已有的现成代码来满足自己工作和学习的需要,这些现成的代码就是“半成品”的一种。

“半成品”教学策略的核心是为学生提供“待完成的作品”,对教学内容进行“留白”。这很容易让人误解为这种教学策略就是把完整的程序“挖空”,学生只要把空白填上就完成学习任务了。这样的“留白”限制了学生的思维,只是简单的技术练习。下面笔者以自己的教学实践为例,谈谈如何应用“半成品加工”教学策略。

1 添加式

所谓添加式,就是在教师示范操作的半成品基础上,学生发挥创意完善作品。如通过设计制作一个简易计算器,来完成三大内容的学习:1)VB语言及编程环境介绍;2)程序顺序结构;3)赋值语句和输入输出语句。学生刚开始接触可视化编程,对于控件和VB语言的使用这些知识是“零起点”,教师必须做示范。但是这个示范要围绕变量的设置、数据的输入、计算以及输出,还有对象事件等这几个教学重难点精心设计,让学生体验其中的方法过程,从而能举一反三。

首先展示这个计算器的界面(图1),左边两个文本框是计算数据的输入,中间的标签显示计算符号,=号后面的文本框输出计算结果。接着演示如何添加计算加法的按钮,修改它的名称、显示文本属性,以及编写计算加法的代码这一过程。在示范中引导学生总结出这个计算器的算法:1)输入待计算文本框的数据赋予两计算变量;2)点击相应的计算按钮,标签显示计算符号,进行运算,结果赋予结果变量,最后显示在文本框。完善这个计算器半成品,就成为课堂任务。学生对这个任务很感兴趣,给这个半成品添加了减、乘、除,有的甚至加上乘方、开方等计算功能。

当然,学生毕竟缺乏VB编程知识,有些问题没考虑周全,还有不少语法错误,最后一调试总显示程序出错。学生大叫:老师,怎么办?别急,看下一节:程序的调试与错误类型。

2 纠错式

“半成品”并不是越多越好,因为学生对“半成品”的前期认识、分析、理解需要时间。最好能一物多用,比如完善“简易计算器”这个任务,就可以延续到另一节课“程序的调试与错误类型”。学生练习中出现的种种错误,譬如找不到对象、数据溢出等,都是最理想的“半成品”学习资源。在接下来的评价分析环节,教师就可以利用这些课堂生成资源引导学生进行讨论和自我总结,学生把学到的知识应用到修改自己的作品上,提高解决问题的能力。

纠错型的“半成品”也可以用于知识点的巩固练习,教师预先围绕知识点设计有问题的程序段,让学生修改,在实践和解决问题的过程中自己去体验,大大增强理解效果。如图2所示,这是针对for循环语句的语句格式设置的练习:指出下面程序中的错误并修改。学生通过实践,更容易理解、掌握这些知识点。最后,可以引导学生进行小结:1)for语句与next语句必须成对出现,而且循环变量的名称要相同;2)当初值小于终值时,步长为正数;当初值大于终值时,步长为负数;只步长为1时,才可以省略步长;3)需要重复执行的语句应该放在循环体位置。

鼓励学生找“bug”也是在教学中常用来锻炼学生独立发现问题、解决问题的教学方法。有些程序运行结果正确,但是因为设计中考虑不周而存在“隐形缺陷”,如果能好好地利用这些“隐性缺陷”,学生逐渐形成懂得反思敢于质疑的科学思维,而不是填鸭式的被动接受知识。

如完成“简易计算器”任务后,把一个比较复杂的计算器软件发给学生,让他们试运行,并与“简易计算器”对比,看算法设计上有何异同。这个软件进行各种计算都很正常,但有个细心的学生发现,当用作输入和输出的唯一文本框空白时,点击“删除键”,程序就会显示“出错”。怎么修补这个“bug”?笔者把这个问题抛给学生,并提示从这个“删除键”的代码段下手。学生很快发现“退格键”的主要代码是“Text1.Text=Mid(Text1.Text,1,Len(Text1.Text)-1)”,即每点击一次“退格键”就减少一个字符。这个设计没有考虑文本框是空白时,就导致程序出错。

学生提出不少创新的修复点子,比如:以检验文本框是否空白作为条件,判断是否执行“退格键”功能;或者判断文本框空白时,执行“Text1.Text=″″”。

3 改造式

把现有的题作简单修改,加深难度,或者变异,引出一个题目系列,或者可以对现有的程序进行优化,对学生来说都是难得的拓展训练。

如在“循环嵌套”教学中,学生的理解往往流于表面。先示范讲解“打印正方形”的方法与过程,并详析其算法(图3、图4);然后再对此题进行扩展,要求学生对范例的程序段进行模仿、修改,完成其他图形的打印功能。

“半成品”教学策略在程序设计课堂中经常用到,是一种基于“问题解决”的教学方法,侧重在为学生预设一种解决问题的真实情境。只是作为课堂上的教学法,要更注意“半成品”设计的开放性、针对性和应用时机。通过实践,也进一步验证了“半成品”教学策略的应用提高了课堂讲授、概念理解和实践练习的效率,解决了学生学习差异大、编程基础弱的难题。当然,教无定法,只要在算法与程序设计课堂上注重方法和过程的教学,避免简单的技术训练,培养学生能用算法思维独立解决问题,才是最终的目的。

参考文献

[1]田俊华,李艺.“算法与程序设计”课程目标的认知结构解析[J].课程·教材·教法,2005(12):65-69.

[2]王爱胜.半成品加工:让技术与素养有机融合[J].中小学信息技术教育,2005(6):15-16.

猜你喜欢
信息技术课程半成品教学策略
装饰石材半成品板补胶、定厚技术操作(二)
装饰石材半成品板补胶、定厚技术操作(一)
低年级写话教学策略
谈以生为本的群文阅读教学策略
写话教学策略初探
半成品饭菜成新宠
浅谈复习课的有效教学策略
浅谈新课程下的初中信息技术课堂教学
信息技术课堂教学中的讲授法简析
平行结转分步法下约当总产量确定