知网论文查重知网论文查重

论文在线投稿
论文范文大全
知网论文查重 zaolun.COM

优化程序设计教学策略助力学生计算思维能力的培养

万方网论文查重

[摘要]在初中信息技术教学中,如何充分利用好每周一课时的课堂教学任务,高质量完成课程要求的教学目标,切实落实学生信息技术学科核心素养的培养目标?这是我们信息技术学科老师面临的迫切需要解决的问题。在广州市初中信息技术(初中第二册)教材中安排了两个章节的程序设计教学内容,即python程序设计和App Inventor程序设计。这两部分内容着重用来培养孩子们的计算思维能力。只有优化学生学习程序设计的策略,让学生了解和掌握程序设计的思想、过程、方法才能真正揭开计算机的神秘面纱。

[关键词]计算思维;程序设计;教学策略

一、程序设计模块在初中阶段教学实施中存在的问题

(一)侧重培养学生的编程能力

受到多年来信息技术教学中工具论的影响,简单理解信息技术课程教学的内容还是以应用软件的学习为主,很多人认为程序设计不适用。教学中过分强调编程能力和编程技巧的训练,导致初中学生对程序设计产生恐惧感,而对程序设计模块的整体结构和思想方法重视不够,逐渐使学生失去兴趣,从而在学生中滋生畏难、厌学情绪。

(二)侧重培养学生的操作能力

受到信息技术“讲演练”的常用的课堂教学模式的影响,很多老师在程序设计模块教学中仍然沿用应用软件教学中常用的以教授一个知识点、技能点为主线,通过讲一点、示范一下、练一会的课堂教学模式,在这种教学模式下,一个学生尽管能按照教师提供的方法机械化地完成相关操作,但这一过程中学生没有得到计算思维的训练,因为他没有经历过思考问题并寻求解决方案的过程,没有经历针对任务设计算法的思维过程,因而不具备相应算法思维和实现算法的能力,不能将所学知识和技能运用到新的问题情境中,学生并没有明白为什么要这样操作。

二、初中程序设计模块的核心内容分析

目前,广州市初中信息技术(第二册)一共三个章节的内容,其中有两个章节的内容跟程序设计相关,信息技术程序设计模块的核心内容结构如图1所示。

三、初中程序设计模块教学提高学生计算思维的核心能力

(一)运用程序设计逐步求精的思想,提高学生分析问题的能力

“逐步求精”的思想,即先将要解决的问题经过多次抽象处理,最后才是算法描述和算法实现问题。

联系初中学生的实际情况,我们需要教会学生解决问题的方法手段,而不是仅仅让他们学会解答某道具体习题。我们不需要题海战术,只要学生掌握解题的思想就能受益匪浅,从而做到举一反三,触类旁通。这正是我们落实“双减”行之有效的策略。

(二)运用程序设计通用性思想,提高学生全面看待问题的能力

程序设计中一个非常重要的概念就是变量,计算机中的变量和数学学科中未知数的是两个不同的概念,变量是计算机内储存数据的“空间”,变量是在程序执行过程中,其值可以改变的数据对象。在运行程序时变量的值是由用户通过键盘输入的,增加了程序的通用性。在初中阶段,从小问题入手,让学生明白一个简单的输入程序,就可以让程序有很好的通用性。

(三)运用程序设计优化思想,提高学生高效率解决问题的能力

随着计算机软硬件的发展,计算机的运算速度越来越快,运行软件的能力也越来越强,似乎程序的运行效率已经不是我们关注的焦点。在程序设计的课堂上,老师几乎不关注这方面的内容,同学们也是一知半解。而在很多时候,一小段代码的效率,有可能会直接影响整个软件的运行速度。所以说,要让学生养成不断改进自己的程序,让它能够更快更好地运行。而要想提高程序的运行效率,改进和优化算法是最为关键。

四、python程序设计模块教学中培养学生计算思维的有效策略

(一)激发与维持学生兴趣,让学生感受程序设计的地位和作用

兴趣是最好的老师,只有激发与维持学生对程序设计的兴趣,才能增强学生学习程序设计的内驱力,持续性和高阶思维的发展。

1.展示身边的程序设计应用和算法,消除其陌生感和神秘感

程序设计不是神秘的、孤立的内容,从前学过的应用软件如电子表格、WPS、音视频处理软件等都涉及程序设计的应用,应用软件本身就是程序设计的产物,可以启发学生联想一些生活中的人工智能应用场景,如刷脸测温考勤场景,自动停车收费场景,网上订餐和刷脸取餐场景,这些功能之所以能够实现,其实都取决于后台的某个程序的工作。

2.迁移生活中的经验,帮助学生理解程序结构

很多学生在学习一部分程序设计的知识后,就感觉程序语句枯燥,算法复杂,不知道学习这些要干什么,或者感觉就是在做奥数题。这种情况下教师在引导和讲解时,更要注意紧贴学生的生活,让他们从身边熟悉的例子开始去接触程序设计,例如:在讲分支结构时,可以向学生提问,我们QQ/微信密码是怎么判断的?经探究得出就是判断输入的字符串和设置的密码是否匹配,然后根据结果进行不同的处理。通过这些例子,不仅可以让学生理解不同结构的作用、执行过程,还让他们充分体会到程序设计可以帮助我们解决生活里的很多问题,从而提高学习的兴趣和欲望。

3.借助形象比喻,帮助学生理解复杂的概念

程序设计内容比较抽象,学生有时候对一些概念和算法感觉不容易理解,需要教师化繁为简,将深奥的道理讲得通俗易懂,在教学中巧用生活化的例子。比如将变量比喻成课室,课室的名字比喻成变量的名称,课室里面的学生比喻成变量的值,这样学生很容易理解变量的值的变化的原理。

(二)借助自然语言与流程图,帮助学生理解程序与算法的关系

计算机的本质是没有思考能力,因此我们需要计算机非常详细的步骤,绝对不能有模棱两可的内容,计算机执行操作的先后逻辑即算法,就是我们解决问题的具体想法、思路。在教学中,分析问题确定算法时,建议从自然语言描述算法思路过渡到流程图表示算法再形成具体程序语句。我们可以从借助流程图帮助学生理解计算机的执行过程,学生只有理解了程序的执行过程,才能更好地学习程序设计。

案例3:成绩等级评定程序。编写程序进行成绩评定,90~100分评定为A,80~90分(不含90分)评定为B,70~80分(不含80分)评定为C,60~70分(不含70分)评定为B,60分以下则评定为E。

1.自然语言描述

用户输入考试成绩

如果用户输入的成绩大于或等于90:

那么打印“A”。

否则,如果用户输入的成绩大于或等于80:

那么打印“B”。

否则,如果用户输入的成绩大于或等于70:

那么打印“C”。

否则,如果用户输入的成绩大于或等于60:

那么打印“D”。

否则:

打印“E”。

2.流程图描述

3.python程序段描述

(1)用input()让用户输入一个数,用float()转换为浮点数并赋值给变量s

(2)提取变量s的值,判断是否大于或等于90

(3)如果为True,打印“A”

(4)否则判断变量s的值是否大于或等于80

(5)如果为True,打印“B”

(6)否则判断变量s的值是否大于或等于70

(7)如果为True,打印“C”

(8)否则判断变量s的值是否大于或等于60

(9)如果为True,打印“D”

(10)否则

(11)打印“E”

s=float(input("请输入你的成绩:"))

if s>=90:

print("A")

elif s>=80:

print("B")

elif s>=70:

print("C")

elif s>=60:

print("D")

else:

print("E")

这就是运用计算机科学的逻辑思维方法,对给定的任务先进行需求分析,然后抽象出问题的基本特征,并用“形式化”的方法来表述问题,即数学建模的过程,最后用编程来实现算法的实践案例。通过这样的解决问题的思路,让学生不断实践并不断强化,会让学生们逐步形成稳定的计算思维方式,并使之迁移到其它学科的学习中去,使其终身受益。

总之,在程序设计模块教学实践中,我们要着重培养学生的计算思维,培养学生在完成具体任务或者解决具体问题时,会认识到问题和任务是有起点、边界和限定范围的,尽管可能没有直接的方式达到目标,也能够自然想到采取算法思维进行分析,然后按部就班地完成任务或解决问题,真正实现由“授人之鱼”到“授人以渔”的转变。

万方通用版论文查重
维普编辑部版论文查重

AI论文范文,输入题目即可生成万字论文,附赠查重报告,可选开题报告、任务书

AI论文2万字符 AI开题报告 AI工作报告 AI满分作文 AI个人总结