一堂不写代码的程序设计课
2017-12-28潘安娜
潘安娜
培养学生的计算思维,提高他们的创新能力,让计算机帮助我们高效地解决问题,不要让程序代码编写消耗了学生学习程序设计的热情。也许举一些有趣的实例,换一种“编程工具”就能唤起学生编程的兴趣。
一、教学分析
在实际教学中,程序设计通常是信息技术教师“避教”、学生“避学”的内容,究其原因是其枯燥的理论知识、深奥的语法和乏味的例题。如何让学生简单轻松地理解算法思想,让学生“爱”上程序呢?我们应该以培养学生计算思维为目标,借助工具来降低编程难度,少写程序,甚至不写程序。但计算思维是一种思维,它是以程序为载体的,不编写程序似乎又是不可能的。“画程”这款软件不仅仅能用来绘制流程图,它还可以根据流程图自动生成程序代码,并实现运行。借助“画程”,信息技术教师可以大大降低编程对学生的干扰,把重点放在解决问题的思维方式上。本节课设计了三个实例:“寻找开关对应关系”引导学生进入算法世界,体会流程图表示的便捷、清晰等优点,掌握使用流程图描述算法的方法;“寻找污染的药丸”将复杂问题通过分析、解剖变成简单的算式问题,掌握画程的使用方法,克服对程序的畏惧心理;“计算三角形面积”将所学知识应用到实践,在熟练的基础上深入讨论问题的多种可能性,训练学生思维的严谨性。
二、教学目标
(1)知识与技能:理解算法三大逻辑结构,能使用流程图描述算法。
(2)过程与方法:体验计算机解决问题的一般过程。
(3)情感、態度与价值观:培养学生的逻辑思维能力。
三、教学过程
1.趣味导入
(1)上课之前,我们先来做个IQ测试题:
(2)学生讨论,用自然语言来描述解决步骤,教师总结,并让学生完善解决该问题的流程。
(3)对比自然语言和框图表示,突出框图表示的优点,讲解流程图表示程序三大结构的方法。
(4)借助“画程”软件帮助我们轻松绘制流程图。
【设计意图:程序不仅可以解决数学问题,还有很多其他有趣的地方。有趣的实例可以吸引学生注意力,提高学生讨论的积极性。】
2.提出实际问题
(1)画流程图的目的是解决实际问题,下面看一个实际问题:
(2)分析问题,学生讨论:已知条件是什么?怎么称?称多少颗?怎么计算?
(3)设计解题步骤:1号药瓶取1颗,2号药品取2颗,3号药品取3颗,4号药品取4颗,称出总重量z,假设每颗药丸的标准重量是m,用算式z-10*m就可以计算10颗药丸的重量和10颗药丸标准重量之间的差值,该差值设为x,x的值就是被污染的药瓶的编号。在“画程”软件中绘制该题的流程图。
(4)编写代码:画程中选择某一种编程语言,自动生成程序代码。
(5)运行验证:运行并验证结果。
【设计意图:利用“画程”自动生成程序的功能,大大减轻学生编程的负担。】
3.自主解决实际问题
(1)自主探究,独立解决下面这个实际问题:
(2)输入的数据是否能计算出面积?有哪些条件要判断?如何修改流程图?
【设计意图:降低编程的难度后,学生就会把关注点放在问题的解决上。看似简单的问题,常常暗含了容易忽略的陷阱。输入三边数值,借助计算机运算,很容易就可以得出面积,但是输入的三边是否可以构成三角形呢?很多学生忽视了这一点。教师可以事先准备几组数据,让学生进行运行测试,从运行结果中,他们就会意识到自己所忽略的问题。通过该实例,培养学生严谨的思维能力。】
四、教学反思
本节课是一堂不写程序的程序设计课,选取的实例生动有趣,很好地吸引了学生的注意力,讨论激烈,取得了良好的教学效果。同时,借助“画程”这个实用的软件,将烦琐复杂的编程工作交给计算机来完成,让学生把精力更多地放在探讨问题解决的方案上。“画程”消除了学生对编程的畏惧,极大地调动了学生学习程序设计的热情。
(作者单位:南京师范大学附属中学)