(江苏省淮阴中学)
摘要:该文一方面展示了如何在课堂中通过一个课本实例的深入应用,去启发学生主动质疑、积极创新的过程,呈现了一个学生灵感火花不断迸现的信息技术课堂;另一方面,作者推荐了两个经过自己实践证明很有效的全新的实例。通过以上实例的列举和应用,说明对于课本中的实例要辨证地看待,择优使用。
关键词:实例;选修模块;算法与程序设计;实际问题
高中信息技术的“算法与程序设计”模块对学生的逻辑思维能力和考虑问题的严密性要求较高,处理不好容易给学生造成内容枯燥、难懂、没什么实际用处等印象,导致学生学习积极性不高,教学效果差等问题。
如何在有限的课时内,提升并保持学生学习的积极性,避免以上问题的发生,我认为在教学中选好用好实例至关重要。如果将教师备好的课比喻成一顿营养丰富的大餐,那么学生应知应会知识就是其中有利于身体健康成长的营养,而实例则好比其中的色香味,只有色香味俱全的大餐,才会让学生的胃口大开,同时才能在享受美食的过程中不知不觉地汲取身体所需的各种营养。所以在程序设计的教学中实例的选择至关重要。
一、用好课本中的实例
教育科学出版社出版的《算法与程序设计》教材中,有很多非常经典而又有趣的实例,如韩信点兵问题,水仙花数问题,丢番图的年龄问题以及百鸡百钱问题。这些实例都是学习和生活中的实际问题,同时还蕴含着丰富的算法思想,我们在教学过程中要重视这些实例,在激发学生兴趣、启发学生思维、引导学生设计算法等方面充分用好它们。
但是在讲到分支结构时,书中用了一个“输入飞船速度,程序判断飞船是否能升空”的例子。由于上过两个班的课后,都有部分学生对为什么要使用分支结构不能理解,于是我决定另外寻找更合适的实例。
二、寻找更合适的实例
这个例子是这样的:“设计一个界面如图1所示的算术练习程序,由计算机自动产生一位数加法练习题。学生输入答案后,单击“确认”按钮,如答案正确,自动产生下一题,否则重新输入答案。”
笔者认为这个例子在这个地方使用非常好,对题目正确和错误的判断,自然而然地引出了分支结构,此时更能体现分支机构的价值和意义。但是,修改一下或许会更好,于是在教学中我做了如下尝试:
1.引导学生主动质疑
在讲到顺序结构时,我就引入了这个例子,由于此时学生还没有学习分支结构,所以我把此实例稍微修改了一下,另外,为了和学生的生活联系的更紧密,我还顺带着创设了一个情境:“暑假,小明的阿姨带着一个小弟弟到小明家玩,这个小弟弟开学就要上一年级了,阿姨交了一个任务给小明,要他每天出20道一位数的加法题给小弟弟做,做完后还要帮小弟弟批改。小明自己的作业也很多,他不想每天花许多时间去重复出题、改题的工作,于是他想到了用计算机帮他出题并批改。”请你设计一个界面如图2所示的算术练习程序,由计算机自动产生一位数加法练习题,由用户输入答案,并设计“答案”按钮和答案区,以便用户判断自己的答案是否正确。”
我带着大家分析过界面和事件代码后,个别思维活跃的学生马上发表自己的意见,“老师,这个程序给出了标准答案,小弟弟可以偷懒,
不用动脑筋了!”,“这个程序好像缺少批改的功能”,“老师,我想将程序设计成:做对几题,就显示几颗星星,可我不知道该怎么去编。”……,个别学生的活跃带动了大家更多的思考,学生的问题层出不穷,我料到学生会提问题,但是没料到他们会想得更多,此时学生投入的热情空前的高涨。由于他们提出的问题恰恰是我下一节课要教给他们的知识,我感觉到这是一个非常好的机会,于是,我告诉大家,利用计算机去判断,是我们下一节课将要学习的内容,先完成程序的同学,如果有兴趣,可以先参照课本的分支结构部分,修改程序。许多同学听了我的话,迫不及待地翻开课本,动手开始尝试。
看着他们求知若渴的样子,我在心里想,什么是以生为本?让学生自己质疑、自己探究,引导学生积极主动地去学习,不就是最好的以生为本的体现吗?
2.启发学生积极创新
由于有了上节课的悬疑,在我讲到分支结构的时候,大家听得都格外的认真,所以掌握得也很快。此时,经过大家的讨论,我们决定在上节课程序的基础上删除“答案”按钮和答案区,同时增加判断的功能,如果用户输入的答案正确,程序将显示“正确”,而如果输入的答案错误,程序将显示“错误”,程序的界面将修改成如图3所示。
除此之外,我提醒学生可以用一些奖励的话语代替“正确”,用一些鼓励的话语代替“错误”,避免干巴巴的“正确”、“错误”,这样一来可以使程序更人性化。
我这么简单的几句启发,没想到引来了学生的妙语连珠。学生的想象力和创造力真是让我吃惊,从中抽取出几个和大家共享:
3.鼓励学生更高更优当学生按要求完成上述程序时,本节课的任务就基本完成了。为了使学生的程序更具个性化,也为了给先做完的同学更多挑战,我要求先完成程序的同学在两个方面进行改进:第一是界面的个性化设计,可以在界面上显示一些图片或是增加一些文字信息;第二是程序功能的优化设计。比如(1)在用户回答正确时,不仅仅显示文字,还同时显示图像。(2)可以增加正在做第几题和已经做对几题的提示。(3)更进一步还可以在做对不同数量的题目后给出不同的文字或图片提示,为下一节课的多分支选择做好铺垫。由于这些拓展要求较高,课本上没有相关内容,所以我需要事先准备一个帮助文档放在网络上,以便他们完成不同难度的拓展。
学生完成的作品完全出乎我的意料,以下图4,图5是学生作品的界面:
三、善于挖掘生活中的实例
讲到循环结构时,经验告诉我这部分内容学生开始时较难理解,选择合适的实例非常重要,我曾经使用过输出10个“*”,输出10个随机数等不同的实例引入,在重新备课时突然有一天我想到了7位数的体育彩票,课标要求“引导学生注意寻找、发现身边的实际问题,进而设计出算法和设计计算机程序去解决这些问题。”,这不正是一个“身边的实际问题”吗?
李明的爷爷退休后,迷上了7位数的体育彩票,每期必买,假如你是李明,请你用VB编写一个程序,当用户单击命令按钮:“生成号码”时,计算机将在窗体上显示一个7位数的体彩号码。提示:产生0~9之间一位随机数的函数为int(rnd()*10)。
实践证明这个例子效果非常好,学生通过这个例子不仅很容易就理解了循环语句的执行过程,而且轻松体会了为什么要用循环及什么时候用循环等关键性的问题。由于此例子就来自学生生活的现实环境,所以学生的关注度非常高,不管是编写程序之前、之中还是之后,大家都兴味盎然。有一个平时对程序设计不甚感兴趣的同学,竟然拿出纸和笔将自己程序所产生的号码抄下来,作出马上就要去买彩票的样子,甚是可爱。
其实这个实例,不仅解决了学生刚接触循环结构时,不易理解循环结构的功能和特点的问题,而且稍加修改,又是引导学生理解循环嵌套的好实例。
将问题修改为:现在我们已经知道了输出一个体彩号码的程序,如果让计算机一次输出10个,甚至100个体彩号码,程序该如何编写呢?这个问题自然而然地引导学生去考虑循环体本身又是循环语句的情况,非常便于学生对循环嵌套的理解。
通过以上实例的引用我们不难发现,要辨证地看待课本中的实例,能引起学生兴趣的、有助于学生理解知识点的实例,我们要在课堂中充分发挥其价值,但是对于难度过高、或者不利于学生理解相关知识点的实例,我们要坚决摒弃,并设法从生活中发现可以激发学生学习兴趣和学习灵感的实例。
论文作者:谢诺
论文发表刊物:《知识-力量》2019年9月36期
论文发表时间:2019/8/8
标签:实例论文; 学生论文; 程序论文; 答案论文; 结构论文; 课本论文; 分支论文; 《知识-力量》2019年9月36期论文;