生活里的程序程序中的生活高中信息技术算法与程序设计教学实践探究
生活里的程序程序中的生活高中信息技术算法与程序设计 教学实践探究 算法与程序设计是计算机处理信息的核心要素之一,也 是信息技术课程的重要内容之一。信息技术课程标准明确阐 述了“算法与程序设计”模块的宗旨:“使学生进一步体验 算法思想,了解算法与程序设计在解决问题过程中的关键地 位和核心作用;能从简单问题出发,设计解决问题的算法, 并能初步使用一种程序设计语言编制程序实现算法解决问 题。”所以,这一教学内容的最终目标是教会学生解决实际 问题的各种方法、策略和途径,提升创新思维的能力;
同时, 进一步强调在教学时应注重理论与实践相结合,引导学生注 意寻找、发现身边的实际问题,体验解决问题的过程,促进 算法在实际生活中的应用。
鉴于学生已经具备了一定的生活经验,在实际教学中, 信息技术教师应该从学生的实际生活经验出发,在组织开展 “算法与程序设计”的学习过程中不断培养学生获取、分析、 应用信息的能力,促进学生提高运用编程知识解决生活问题 的能力,从而使学生真正从工具的桎梏中解脱出来,进入算 法与程序设计这个充满魅力的世界,使计算机成为他们的第 二双手、第二个大脑。
一、以学生的实际生活经验为起点,促进学生对算法的 理解 学生的生活是教学的出发点和起点,也是教学过程中始终需要凭借的“中介”和手段。信息技术课程标准明确指出:
“教学需要结合高中生的生活、学习实际,要以学生的现实 生活为源泉。”这就要求教师在组织教学时,应根据学生的 实际生活“活用”教材,用学生的真实生活丰富、充实教学 内容。因此,在进行“算法与程序设计的实际应用”教学时, 我们要关注学生已有的实际生活经验,教学所选取的素材要 以学生的生活经验为起点,瞄准算法与学生生活经验的最佳 结合点,并架起桥梁,在课堂上创设有利于学生全面发展的 活动,引入生活之水,促进学生对算法的理解。
比如,在教授“算法的表示及其实现”这一内容时,高 一学生初次接触算法,对这个内容知之甚少,畏难情绪比较 严重,甚至有些学生直接说:“老师,这个我们根本学不会!” 为了使学生更好地理解这个概念,我从学生的实际生活出发, 以生活中的实例为依托开展教学,有效地促进了学生对算法 的理解和掌握,提高了教学效率。
【片段1】 师:同学们,我们首先思考一个问题:小红是一个走读 生,请大家为小红安排每天早上从起床开始到学校的一般过 程。
生:洗漱、整理内务、吃早饭、乘车(骑车或步行)到 学校。
师:每个同学都会,请问的一般步骤是怎 样的?生:查部首、查偏旁、查页码、看字意。
通过这两个生活中的实例,学生对算法有了一个初步的 认识,但是如果这个时候直接提出算法的概念,可能会让学 生似懂非懂。为了让学生对算法有更加深入的了解,我又在 课堂上设置了游戏环节——猜猜这个物品的价格,范围在O~ 200之间,解决这个问题有哪些策略?哪一种比较好?学生 以小组为单位进行讨论,得出解决方案,其中一组给出的答 案正好是我之前预设的。“可以先报100,如果老师说高了, 那就报50,否则就报150,重复几次之后就能得出正确的价 格了”。
学生的回答,让我很顺利地引出了“算法”的概念,学 生也知道了算法并不是多么深奥、遥不可及的知识。这样一 来,学生对算法的作用与价值也有了一定的了解,并且一系 列的生活实例引发了学生的思考和共鸣,帮助学生树立了正 确的学习观,激发了学生学习算法和程序设计的兴趣,为之 后的学习做好了铺垫。
二、以实际案例分析为途径,培养学生的程序设计能力 能力来自于领悟,领悟来自于不断的分析。计算机语言 的理解和设计能力的提高是一个需要不断进行探索和分析 的过程。分析问题是起点,解决问题是归宿。教学中以生活 案例为载体,以案例分析为途径,加强新旧知识之间的联系, 寻求解决问题的方法,可以促进学生对程序设计语言的理解 和掌握,提高程序设计的能力,从而引领学生找到打开“算法与程序设计”这座知识宝库大门的“金钥匙”,让学生尽 情畅游在程序设计的海洋当中,感受无限的乐趣。
在讲解“For/Next循环语句”这一内容时,我引用了生 活中很常见的一个案例一倒计时,具体操作如下:
【片段2】 师:5、4、3、2、1,同学们,我们现在开始上课。
(教师以广播形式在学生的显示器屏幕上同时展示漂 亮的“倒计时”。) 师:刚才我们看到的是一个倒计时的程序,感受了一次 倒计时的过程。在日常生活中,我们经常会遇到这种情况, 请同学们再来说说看,生活中还有哪些倒计时? 生:十字路口的红绿灯。
生:火箭发射前几秒的倒计时。
生:中央电视台新春联欢晚会上新年倒计时。
师:是啊,倒计时在我们生活中到处可见,今天就让我 们一起来当一回制作“倒计时”的设计师吧!请同学们思考 一下,在VB程序中可用什么控件的什么属性显示倒计时出现 的数字? 生:label. caption。
师:请同学们打开工程——倒计时,在合适的位置添加 代码labell.caption=5。请同学们实现5、4倒计时。
(学生添加labell.caption=4。) 师:为什么屏幕只显示47生:因为程序执行速度过快。
师:如果希望在5和4中间延时1秒,可增加delay(1)语 句。
(学生操作。) 师:同样道理,请大家实现倒计时到1。(学生操作。) 师:好,大家都很好地完成了任务,接下来请大家实现 1分钟的倒计时。
学生尝试之后,普遍觉得方法太哕唆,如果要实现一年 的倒计时,几乎没法做。这时,我就很自然地引出了For/Next 循环语句,并对其进行讲解。学生对这个能解决倒计时问题 的新语法很感兴趣,通过思考、讨论之后,很快就完成了程 序的编写:
For i=5 to O step -1 Labell.caption=i Delay (1) Next i 师:请大家比较两个程序段,编写1分钟的倒计时程序。
就这样,我以学生都比较熟悉的“倒计时”为例开展教 学,不仅贴近学生的实际生活,而且容易激发学生的学习动 机,并将比较抽象的“For/Next循环语句”教学难点逐步分 解为若干个小难点,各个击破,最终取得了良好的教学效果。
因此,在开展案例教学时,不要急于将已有的结论轻易 地展现在学生面前,而应该充分展示分析过程,帮助学生从方法步骤着眼,注意引导学生认真分析题意,弄清要求和条 件,找出问题所涉及的知识点,抓住关键,形成正确的思路 和方案,这样才能举一反三,培养学生的编程能力。
三、以解决实际问题为契机,增强学生编程的体验与学 习的内驱力 理解知识、掌握知识的最终目的是学以致用,运用算法 知识解决生活问题是算法学习的出发点和归宿。如果在教学 中注重理论联系实际,重视将程序设计知识与社会现实生活 结合,分析身边的实际问题,就会使学生感受到学习算法和 程序设计的乐趣,培养学生的知识运用能力,最终改善学生 的学习效果、提高学习效率。
例如,在教学“枚举算法的程序实现”时,鉴于学生上 一节课已经学习了枚举算法,对概念有了一定的了解,但是 要将算法转化为程序语言,学生还是存在比较大的困难。为 了让学生更好地将理论转化成实践,我引用了宁波港口卸下 的货物需要集装箱装运的生活实例,取得了比较好的教学效 果。
【片段3】 多媒体教学课件呈现例子:现在有一批从新加坡运来的 肥料在宁波港卸货,要用集装箱车运到丽水。肥料共1 200 箱,每箱体积约1立方米,可供调配的集装箱车有两种规格:
大集装箱车的容量为54立方米(最多可以装54箱该货品), 小集装箱车的容量为26立方米(最多可以装26箱该货品)。为了充分利用集装箱的容量,要求所有车辆空闲空间之和不 超过5立方米。那么车辆调配中心需要调用大、小集装箱车 各几辆?要求找出所有可行的调配方案。
师:现在请同学们思考、讨论,找出集装箱车的调配方 案。
生:设大集装箱车x辆,小集装箱车y辆,则1 200≤54x+ 26y≤1 205。
师:请同学们再说说怎么解决这个问题呢? 生:是不是可以将所有可能的值都代人?x:0~23,y:
O~47。
师:这位同学说得很好。从可能的集合中列举各个元素, 用题目给定的约束条件判定哪些是无用的,哪些是有用的。
能使命题成立的,即为问题的解。这种算法就叫—— 生:枚举算法。
当学生用枚举算法分析解决了大小集装箱车装货的问 题之后,自然会进一步认识到“算法与程序设计”知识的应 用价值,也能体验编程的乐趣,将学到的知识用于解决生活 中的实际问题。
因此,教师应在教学过程中带领学生探讨解决学习生活 中具体问题的方法,感受体验算法与现实生活的密切联系, 在实践中培养学生的算法应用意识和实践能力,深刻体会算 法和程序设计的价值与意义。最终,学生通过系统的学习, 能运用算法解决生活中的实际问题,很好地驾驭现代化设备,达到学习与应用的完美结合。
算法的世界有着无穷的奥秘,需要教师与学生共同去探 索、发现。在算法的实际教学过程中,我还将不断摸索探究, 进一步提高教学的实效性。运用生活实例激发学生的学习兴 趣,变“要我学”为“我要学”,最终实现预期的教学目标, 使学生成为一个快乐的学习者,尽情畅游在知识的海洋当 中!