让“计算思维”在Scratch实例教学中落地生根
图形化编程促进小学生计算思维的培养

图形化编程促进小学生计算思维的培养摘要:在课程标准背景下,培养学生的信息技术素养是教学的重要任务。
但小学生计算机、英语基础较差,编程教学活动是一个大难题。
图形编程工具操作简单、逻辑性强、涵盖面广,符合小学阶段学生的认知特点。
通过调动积木块就可以实现编程设计,降低了编程教学的难度,有利于学生的计算思维发展。
为此本文以Scratch编程为例,对于在小学信息科技编程教学展开了探究。
关键词:小学;信息技术;Scratch编程《义务教育信息科技课程标准(2022版)》明确指出计算思维是信息化时代必备的核心素养之一,通过抽象、分解、建模、算法设计等思维活动来解决问题。
在“双减”背景下,如何培养学生的计算思维和信息科技学科教学的重要课题,图形化编程教学为培养学生的计算思维提供有效途径。
图形化编程教学是一种将计算机编程语言可视化呈现,更易理解的教学方法,将抽象的程序代码转化为图形化编程块,使得学生能够更加直观地理解计算机程序的运行机制,从而提高学生的计算思维和信息素养。
本文结合小学信息科技学科的教学内容,提出运用Scratch编程工具开展教学,总结了有关的教学策略。
一、相关理论与概念界定(一)计算思维《义务教育信息科技课程标准(2022版)》明确信息科技课程的目标,其中计算思维是信息科技学科核心素养之一。
计算思维的核心活动包括抽象、分解、建模、算法设计等。
即将问题中的信息提取出来,以便进行更加精确和有效的处理。
要求将问题转化为可计算的形式,进行程序设计。
根据问题的特点和特定需求,设计出最优解决方案。
所以培养学生的计算思维,图形化编程成为一种非常有效的工具。
(二)图形化编程的内涵图形化编程是一种以图形化界面为基础的编程方法,使编程过程更加直观和易于理解,尤其适合初学者。
使用图形元素和拼图式的代码块来表示程序的逻辑和操作,而不是传统的文本编程语言。
本文提到的图形化编程主要是以Scratch 为编程工具,是一款由麻省理工学院开发的图形化编程语言,广泛用于教育和学习编程。
SCRATCH教学反思

SCRATCH教学反思在SCRATCH教学过程中,我深入思考并总结了一些经验和教训。
本文将详细讨论SCRATCH教学的反思,包括教学目标、教学方法、学生反应以及教师改进措施等方面。
1. 教学目标的设定在SCRATCH教学中,我设定了以下教学目标:1.1 培养学生的计算思维能力:通过SCRATCH编程,学生能够培养逻辑思维、创新思维和解决问题的能力。
1.2 提高学生的团队合作能力:通过SCRATCH项目的合作开发,学生能够学会与他人合作、沟通和分享。
1.3 激发学生的创造力:通过SCRATCH的创造性编程,学生能够表达自己的创意和想法。
2. 教学方法的选择在SCRATCH教学中,我采用了以下教学方法:2.1 激发学生的兴趣:我设计了一些有趣的SCRATCH项目,如游戏制作、动画制作等,以吸引学生的注意力和兴趣。
2.2 引导学生自主学习:我鼓励学生在SCRATCH编程中探索和实践,提供一定的自主学习空间,让学生主动解决问题和寻找答案。
2.3 分组合作学习:我将学生分成小组,让他们在SCRATCH项目中合作开发,培养他们的团队合作和沟通能力。
3. 学生反应的分析在SCRATCH教学中,学生对教学活动的反应主要体现在以下几个方面:3.1 兴趣和参与度:大部分学生对SCRATCH教学表现出浓厚的兴趣,积极参与到教学活动中。
3.2 学习成效:通过学生的作品展示和评估,可以看到学生在SCRATCH编程方面取得了一定的进步。
3.3 团队合作能力:学生在小组合作中,能够相互协作、分工合作,但仍有一些学生存在合作困难的情况。
4. 教师改进措施基于上述反思和学生反应的分析,我制定了以下改进措施:4.1 设计更多有趣的项目:为了提高学生的兴趣和参与度,我将设计更多有趣的SCRATCH项目,涵盖不同的主题和难度。
4.2 加强团队合作培养:针对存在合作困难的学生,我将提供更多的合作培训和指导,以帮助他们提高团队合作能力。
4.3 提供个性化指导:针对学生的学习进度和能力差异,我将提供个性化的指导和辅导,帮助他们更好地理解和应用SCRATCH编程。
SCRATCH教学反思

SCRATCH教学反思一、引言在教学过程中,我采用了SCRATCH编程平台进行教学,本文将对我在教学中的经验和教学效果进行反思和总结,以期进一步改进教学方法,提高学生的学习效果。
二、教学目标1. 培养学生的计算思维能力:通过SCRATCH编程,培养学生的逻辑思维、问题解决和创新能力。
2. 提高学生的团队合作能力:通过SCRATCH编程项目,鼓励学生合作、分享和相互学习。
3. 激发学生的学习兴趣:通过SCRATCH编程的趣味性和创造性,激发学生对计算机科学的兴趣。
三、教学内容和方法1. 教学内容:(1) SCRATCH编程的基本概念和操作;(2) 使用SCRATCH创建动画、游戏和交互式应用程序;(3) 学习基本的编程概念,如循环、条件语句、变量和事件等。
2. 教学方法:(1) 课堂讲解:通过讲解SCRATCH编程的基本概念和操作,引导学生理解编程思维和基本语法。
(2) 实践操作:让学生亲自动手操作SCRATCH软件,创建自己的动画、游戏和应用程序。
(3) 小组合作:鼓励学生分组合作,共同完成SCRATCH编程项目,培养学生的团队合作能力。
(4) 课后作业:布置SCRATCH编程作业,巩固学生的学习成果,并提供反馈和指导。
四、教学反思1. 教学准备不充分:在教学前期,我没有充分准备教学材料和案例,导致课堂讲解不够流畅,对学生的引导不够清晰。
下次教学中,我会提前准备好相关教学资源,并制定详细的教学计划。
2. 缺乏个性化教学:在教学过程中,我没有充分考虑学生的不同学习需求和水平差异,导致部份学生学习进度较慢或者学习兴趣不高。
下次教学中,我会采用个性化教学策略,根据学生的不同情况,提供有针对性的指导和支持。
3. 缺乏实践操作时间:由于课堂时间有限,学生在实践操作上的时间较短,导致他们没有足够的时间去练习和巩固所学知识。
下次教学中,我会合理安排实践操作的时间,确保学生有足够的时间去实践和掌握SCRATCH编程技能。
小学信息技术编程教案教学使用Scratch进行编程

小学信息技术编程教案教学使用Scratch进行编程Scratch是一款直观易学的编程语言,被广泛应用于小学信息技术课程中。
本教案旨在指导小学生学习使用Scratch进行编程,培养他们的计算思维和创造力。
以下是本教案的详细内容:一、教案背景信息技术作为一门必修课程,已经成为小学教育的重要组成部分。
编程作为信息技术的核心内容之一,对学生的逻辑思维和问题解决能力有着重要的影响。
因此,我们选择使用Scratch作为编程工具,为小学生开展编程教学。
二、教学目标1. 了解Scratch编程语言的基本概念和功能;2. 学会使用Scratch创建和编辑项目;3. 掌握Scratch中常用的编程概念,如变量、条件语句、循环等;4. 能够设计和实现简单的Scratch项目;5. 培养学生的创造力和解决问题的能力。
三、教学内容1. 介绍Scratch编程语言a. 简要介绍Scratch的历史和特点;b. 说明Scratch的编程原理和基本操作;c. 演示Scratch的界面和功能。
2. 学习Scratch基础知识a. 创作一个简单的动画项目,演示如何使用Scratch的积木块拼接代码;b. 熟悉Scratch的积木块分类和常用积木块的作用;c. 练习使用Scratch的积木块创建和控制角色。
3. 理解变量和条件语句a. 介绍Scratch中的变量和条件语句的概念;b. 演示在Scratch中如何定义和使用变量;c. 练习使用条件语句实现角色的控制和交互。
4. 掌握循环和事件的应用a. 说明循环的概念和在编程中的作用;b. 演示使用循环结构实现重复动作;c. 介绍Scratch中的事件概念和相关积木块的应用。
5. 创作个性化的Scratch项目a. 鼓励学生自主设计和实现一个创意项目;b. 引导学生运用所学的Scratch编程知识创造个性化作品;c. 分享和展示学生成果,促进学生的互动和交流。
四、教学步骤1. 引入Scratch编程语言,激发学生对编程的兴趣和好奇心;2. 通过示范和讲解,向学生介绍Scratch的基本操作和功能;3. 组织学生参与创作一个简单的Scratch项目,巩固他们对Scratch 的理解;4. 分阶段引导学生学习Scratch的各个方面知识,锻炼他们的动手能力和逻辑思维;5. 开展小组活动,让学生合作完成一个Scratch项目,培养他们的团队协作和沟通能力;6. 总结本次教学内容,回顾学生的学习成果,鼓励他们继续深入学习和探索。
Scratch编程在社团教学中的探索与实践

Scratch编程在社团教学中的探索与实践近年来,随着信息意识、计算思维、数字化学习与创新、信息社会责任这些核心素养的提出,怎样才能让核心素养的培养在信息技术教学中落地生根,一直是我们信息技术老师思考的问题。
本文分析了在信息技术社团课中选择Scratch 编程的原因,结合具体案例阐述了Scratch教学在社团课中的探索与实践,最后总结了在社團中开展Scratch编程教学的意义。
标签:Scratch编程社团教学核心素养随着物联网、云计算、大数据等信息技术的发展,以及智慧课堂、智慧学校的兴起,我们正由数字时代进入由创新为核心的智慧时代。
为了适应时代的发展,《中国学生发展核心素养》于2016年9月发布。
信息技术教学已从技术培训转变为以人为本的核心素养教育,信息意识、计算思维、数字化学习和创新以及信息社会责任已成为新时代信息技术的四个关键素养。
信息技术素养的培养不仅要落实在信息技术课堂教学中,更要落实在信息技术拓展课如社团课教学中。
怎样才能让核心素养在社团课中落地生根,开花结果呢?笔者探索如何在信息技术社团课中开展Scratch编程教学,落实信息技术核心素养的培养。
—、选择Scratch编程之因教師在这过程中,巡视査看每个小组创意规划表的填写情况,査看是否积极有效填写,做到心中有数的同时,鼓励他们创新。
可以引导学生创作类似“迷宫”“寻宝”等游戏。
(四)创意实践,优化项目学生填好规划创意表后,依据创意表进行Scratch编程创作。
在创作的过程中如果是小项目,单个人能完成的,鼓励小组内所有同学都操作。
对于同一个问题,解决的方式方法有很多种,都去操作能发现更多的解决办法。
如“追逐奶酪”游戏中,可以在接到奶酪后,在相应的地方显示一个数字。
如果是比较大的、复杂的项目,建议小组内三人合作完成,由一名学生负责主操作并只用一台计算机进行编程,其他两名学生在旁协助理清思路,这样可以提升学生的合作学习能力,培养合作意识、团结精神。
SCRATCH教学反思

SCRATCH教学反思1. 引言在过去的教学过程中,我使用了SCRATCH作为教学工具,旨在培养学生的计算思维和创造力。
本文将对我在SCRATCH教学中所遇到的挑战和问题进行反思,并提出改进的建议。
2. 教学目标在SCRATCH教学中,我的主要目标是匡助学生掌握基本的编程概念和技能,培养他们的逻辑思维和解决问题的能力。
此外,我还希翼通过SCRATCH的创造性和趣味性,激发学生的学习兴趣和动力。
3. 教学过程在教学过程中,我首先向学生介绍了SCRATCH的基本界面和功能。
我使用了一些示例项目来展示SCRATCH的强大功能,并鼓励学生尝试自己创建简单的项目。
然后,我逐步引导学生学习SCRATCH的编程概念,例如变量、循环和条件语句。
我设计了一系列的练习和项目,让学生逐步掌握这些概念,并应用到实际项目中。
4. 学生反应大多数学生对SCRATCH的教学非常感兴趣,他们喜欢通过创造性的方式来学习编程。
他们能够迅速上手SCRATCH的界面和功能,并且能够独立完成一些简单的项目。
然而,也有一部份学生在学习过程中遇到了难点。
他们可能对编程概念理解不深入,或者缺乏解决问题的能力。
这对我来说是一个挑战,需要我提供更多的支持和指导。
5. 教学挑战和问题在SCRATCH教学中,我遇到了一些挑战和问题。
首先,一些学生可能会感到无聊或者缺乏动力,特殊是在面对较为复杂的项目时。
这可能导致他们失去兴趣,影响学习效果。
其次,一些学生可能会对编程概念感到困惑,需要更多的解释和实例来匡助他们理解。
此外,一些学生可能在解决问题和调试程序时遇到难点,需要我提供更多的指导和支持。
6. 改进建议为了改进SCRATCH教学,我提出以下建议:- 增加项目的趣味性和实用性:设计更多有趣和实用的项目,吸引学生的注意力和兴趣。
例如,可以设计一个游戏或者一个有趣的动画项目,让学生在实践中学习编程。
- 提供更多实例和练习:为了匡助学生更好地理解编程概念,我可以提供更多的实例和练习,让学生通过实际操作来巩固所学知识。
小学信息技术编程教学中计算思维的培养

小学信息技术编程教学中计算思维的培养计算思维是信息技术教育中极为重要的概念,它通过编程和解决问题来使学生理解计算机的基本工作原理并进一步提高思考、解决问题的能力。
随着信息化时代的到来,计算思维的培养越来越受到重视。
同时,计算思维教育也成为小学信息技术教育的重要组成部分,有助于学生实现从信息技术使用者到信息技术创造者的转变。
因此,本文将重点探讨小学信息技术编程教学中计算思维的培养。
1.计算思维概念及其作用计算思维是指将问题抽象成计算形式并运用计算模型来解决问题的能力。
在学生进行编程教学时,计算思维的培养是十分重要的。
通过学习和实践,学生可以培养抽象、模型化、算法设计和问题解决的能力。
具体来说,计算思维包括以下特点:(1)问题抽象能力:将复杂的问题简单化并通过数学模型建立问题的抽象表示方式。
(2)模型化能力:通过建立问题模型,找出问题的关键因素,准确描述问题。
(3)算法设计能力:将解决问题的方法整合到一起,形成可操作的流程,并找到最优解。
(4)问题解决能力:应用算法解决问题。
计算思维的应用范围十分广泛,除了编程开发、系统分析和数据处理之外,它还可以应用在许多领域,如医学、金融和工业等。
在学生的日常学习和生活中,计算思维也已成为必不可少的一项技能。
2.计算思维在小学信息技术编程教学中的实践2.1编程语言的选择编程语言的选择对于小学生的学习至关重要。
如今,小学信息技术编程教学中普遍采用Scratch。
Scratch是由麻省理工学院开发的一种基于块的图形化编程语言,它使用图形化块拼接,将复杂的编程概念转化为简单的图形块,便于学生理解和掌握。
2.2课程设计小学信息技术编程教学中,除了注意编程语言的选择,更重要的是课程设计。
要使学生理解计算思维和编程概念,需要采用轻松、愉快的教学方式。
教师可以通过信息技术软件、视频和互动式平台等工具来设置课程内容。
对于课程中的每个概念,教师可以通过有趣的方式来解释,并让学生在实践中掌握他们。
小学信息技术编程教学中计算思维的培养路径探析 (3)

小学信息技术编程教学中计算思维的培养路径探析近年来,信息技术与教育深度融合,而计算思维作为信息时代核心素养之一,越来越受到教育界的关注。
小学作为信息技术教育的重要环节,也越来越注重计算思维的培养。
然而,由于小学生认知能力的限制,要想让他们真正掌握计算思维并不易。
本文将通过分析小学信息技术编程教学中计算思维的培养路径,为小学信息技术教师提供一些可供参考的指导意见。
一、计算思维的概念与内涵计算思维指的是一种解决问题的方式,也是一种思考问题的方式。
计算思维的核心是将问题抽象化,通过计算机与数据的处理实现问题求解的过程,在这个过程中,人们通过理性、逻辑的思考,逐渐转换问题,抽象问题,再应用编程语言,处理数据,最终达到问题求解的目的。
因此,计算思维不仅包括技能方面的运用和程序开发,更包括对现实中复杂问题的抽离和分析能力。
二、小学信息技术编程教学中计算思维的培养1、培养问题感知的能力计算思维的核心在于问题抽象化,因此小学信息技术编程教学要培养学生对问题的感知能力。
教师可以通过提供生活中的实例,让学生通过观察和描述来深入理解问题,视觉化、符号化地呈现问题,让学生通过感性理解理性思考的方式,把抽象问题变得更具体、更形象、更易于理解。
2、培养计算思维的建模能力在小学生的认知能力范围内,教师应该通过编程案例和实践的方式,帮助学生发现问题和解决问题之间的联系,将问题具体化并通过建模的方式进行处理,帮助学生建立起初步的计算思维能力。
3、培养问题分解与综合能力在小学编程教学中,教师应该通过引导学生分析问题的过程,鼓励他们使用自己所掌握的知识和能力分析、实现问题的细节,最终将问题分解成为多个简单的小问题,从而找到解决问题的更加有效的方法。
教师还应该通过编程实践,帮助学生在解决问题的过程中通过综合分析,进行出决策性思考,从而更加全面地解决问题。
4、培养对算法和代码的理解能力在小学生的认知能力范围内,通过模仿、理解和应用代码的基本知识和方法,教师可以帮助学生了解算法的基础知识,以及怎样将问题转化为可执行的程序,培养他们对算法和代码的理解能力,提高计算思维的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
让“计算思维”在Scratch实例教学中落地生根作者:赵辉来源:《中国信息技术教育》2016年第10期在已出版的Scratch教材《游侠传》的序言中有一段话:在创作Scratch作品的时候,并不只是要求学生学习如何编写计算机程序,而是学习如何创造性地思考,如何系统化地推理,而这些都是未来他们获得成功和人生幸福的核心能力。
计算思维是信息技术学科的核心思维,在Scratch实例教学中融入“计算思维”的思想,能有效地训练学生的创新意识,培养其解决具体问题的能力。
计算思维的具体内容包括思维与归纳、程序与算法、抽象与自动化、分解与建模、测试和调试等。
根据Scratch课程的目标,笔者筛选出计算思维中的抽象、分解、算法、纠错和归纳五个核心要素开展教学实践,并结合Scratch实例教学经验,总结出Scratch实例编程教学的常规教学流程图(如图1)。
Scratch课程的内容不能枯燥地讲解算法知识点,教师应该把知识点渗透到各个实例中,由一个个鲜活的实例层层递进知识点,让学生通过制作实例来学习编程,体验一个程序完整的开发过程,知道计算机程序解决问题的方法,从而发展学生的计算思维。
所以,教学实例的选择必须注重从学生的实际生活出发,提炼生活中的问题,贴近学生的认知,对案例的熟悉度和理解程度是对实例抽象和分解的基础。
笔者就以《口算软件》为例,谈谈Scratch实例教学中渗透计算思维本质教育的一般操作流程和策略方法。
抽象建模,形成思维所谓抽象,是指通过忽略可有可无的细节来降低难度。
将一个现实问题转变成为计算机可以处理的问题。
抽象是选择案例后实施编程前的一项重要工作,学会抽象可以更容易找到Scratch编程的切入点,更好地理清程序规则。
1.情境模拟,化抽象为具体教师根据实例内容与教学目标,有针对性地设计任务情境,并让学生扮演角色模拟情境过程,在高度仿真的情境中感受程序抽象问题,让抽象问题具体呈现出来。
首先笔者通过情境模拟二年级学生举办一个口算大赛。
模拟过程:让2位学生带上头饰,一位扮演二年级的学生,一位是扮演电脑小博士。
教师说开始,并请电脑小博士出一道2个数相加和为20以内的加法题,学生回答问题,电脑小博士思考后说:“恭喜!答对了”或“答错了!加油哦!”(如图2)。
笔者接下来让学生“玩”程序,把刚才的仿真情境在电脑中重演一遍。
随后笔者提出问题:①程序里有几个角色?②表演中的“学生”角色在哪里?学生经过初步判断得出四个角色分别是电脑小博士、加数、被加数、答案,后面是舞台背景,里面包括“口算大赛”“+”“=”等元素。
但这仅仅是理清了一部分角色,其中加数、被加数和答案并非是角色,这为后面埋下伏笔。
在教师的引导下,学生观察和思考后,得出表演中的实际角色“学生”就是软件的使用者,在程序中可以不用出现。
用模拟情境的方式导入大大增加了学生的学习兴趣。
让学生在“玩”中感知程序的操作方法及各对象的关系,从而把抽象的程序变得具体,并可以“触摸”。
2.思维导图,从无形到有形思维导图能很好理清程序中角色的关系,让学生一目了然地了解现实生活和计算机世界的联系,学会把无形的思维过程转化为直观有形的导图。
笔者通过情境模拟,并以问答的形式,引导学生思考程序所需要的角色;让学生仔细观察舞台上的加数和被加数,使其发现每次重新出题时,加数和被加数发生变化。
像加数和被加数这样在程序运行过程中没有固定的值,随时发生变化的量,称为变量。
从而引出本节课的重点——变量。
笔者出示程序的思维导图(如图3),并层层提问,引导学生思考问题的关键点。
以“图”的方式来整体规划,将现实生活中的对象与计算机要处理的对象一一对应,化无形为有形。
分解问题,理清思维计算思维中分解的概念是把一个看起来困难的问题重新阐释成我们知道怎样去解决的问题。
经过分解后,这些零散的部分才能够被理解和解决,从而降低大型实例的设计难度。
学生通过分解问题,理清每个角色的动作与编程思路,将难点进行分解并一一突破,从而从无序状态中脱离出来,找到解决问题的关键点。
1.简化自然语言,分解出程序步骤笔者引导学生通过抓重点词的方法,去叶存枝,有效地把握程序运行的方向,这样制作范例时思路会更加清晰。
经过抽象建模,笔者要求学生根据思维导图,对编辑过程进行自然语言描述。
简化学生的自然语言描述,最后圈出重点词:出题目、询问、回答、思考、说。
经笔者引导后得出:“回答”是程序操作的个人行为。
最后分解得出电脑小博士的程序步骤:出题目→询问→判断→说。
2.拆分执行效果,细化出脚本模块学生操作程序并仔细观察确定程序的四个主要问题,再在此基础上细化出所需要的模块:①加数和被加数的数值范围如何赋值?②询问框和答案如何显示?③正确答案是如何计算出来的?④何时说“对了”或者“错了”?其中问题④最复杂,它是电脑小博士的思考过程,也是步骤中的第三步“判断”。
为了帮助学生理清规则,笔者让他们描述电脑小博士的思考过程,利用语文中“如果……否则……”的关联词来造句,从而理解条件判断语句。
师:这个条件判断的条件是什么?生:题目回答正确。
师:怎么样才算回答正确呢?(这也是比较难以理解的,因为学生难以体会到电脑的思考过程是如何)什么情况下算答对?生:答案与回答进行比较时。
从而教师引出逻辑运算符脚本模块:等于号(=)。
最后,将其梳理为“当……时,角色会……”的Scratch语言结构,得出使用判断脚本模块。
当答案和回答相等时,电脑小博士会说“答对了”!否者会说“答错了”!分析一系列问题后,学生细化脚本模块。
提炼算法,训练思维算法是通过一种清晰定义的步骤来解决问题的方法。
之前抽象和分解起到了链接自然描述语言和软件编程语言的作用。
在此基础上,要针对每个小问题,形成解决问题的算法。
此时放手让学生在Scratch中进行程序设计是很困难的,因为分支和循环很难表达清楚,为此笔者借助流程图突破重难点来提炼算法。
1.流程图护航,自主“摆弄”“摆弄”是Scratch编程学习的精髓。
由于学生设计经验不足,所以笔者给出流程图(如图4),这样能更有效、更规范地描述算法,引导学生在Scratch中找到相应的代码块。
学生已经知道所需的脚本模块,通过流程图和所需模块,尝试自主搭建,体验“摆弄”模块的乐趣。
学生通过细化脚本模块,查看流程图,思路基本形成,这为自主完成奠定了基础,为自主学习提供了支点。
2.重难点突破,吃透算法“口算软件”的重难点是:搭建条件判断语句,从而对变量有初步的认识。
为了解决“条件如何搭建”的问题,学生展开了激烈的讨论,并讨论得出了多种算法设计。
虽然不同的算法执行的效果会略有差别,但重要的是学生在讨论和不断摆弄的过程中,拓展了思路,发展了计算思维,这才是教师期望达到的目的。
案例中要让程序自动出题,需要利用循环结构,通过比对执行效果,学生会非常容易理解循环算法,并能合理利用。
纠错调试,巩固思维“纠错”是Scratch教学中另一个重要的环节,贯穿了整个课程的学习过程。
从学生设计脚本程序时,纠错的行为就始终伴随着,更体现了“摆弄”的重要性。
学生在调试作品时,需要像计算机执行程序一样去思考执行语句,理解执行每一步模块应该出现的现象,并与实际的执行结果进行比较。
当发现效果与预想的有偏离时,就要不断地纠错,调整程序,采用不同的算法实现效果,在“构思—编程—测试—调试”的过程中进行纠错,反复磨练,这样学生不仅在知识、技能上会有进步,在计算思维上也会有所提升。
1.阅读脚本,纠错更自主阅读是人类的基本技能之一,但在信息技术教学中常常被忽视,在程序调试时,它是一种行之有效的方法。
随着程序学习的深入,学生发现运行错误,想要寻找问题的根源,却因为程序代码模块数量的增加而无法找到出错代码。
为此,笔者引导学生一边读代码,一边添加“注释”,这是一种纠错思维,也很好地解决了问题脚本定位的问题。
例如,边读“口算软件”脚本边注释。
“点击绿旗开始,将变量加数和被加数赋值为0到20之间的一个随机数值”(注释:出题);“如果加数+被加数=回答”(注释:判断);“就询问请回答并等待”(注释:询问);“如果正确‘恭喜,答对了’,否则就说‘答错了,加油’”(注释:说)。
这是一道题目的出题过程,要让程序重复出题,则需要再让这段程序脚本重复执行。
学生经过读一读和注释后,再加上教师的引导,就会发现脚本中的错误,不断调整角本。
2.小组协作,调试更有效教师为学生提供如何调试程序的学习单。
对“口算软件”这个程序先进行调试,观察并记录错误的现象,找出错误语句后,学生相互讨论,分析解决这些问题的方法,修改程序,重复调整的环节,直到程序完全正确。
例如,在《口算软件》教学中,程序出现不能正常出题,或者出题内容不是1到20之间的一个随机数,学生应该先找到问题语句,并对其进行分析,填写纠错学习单(如表1),记录程序中的错误现象和错误语句,再考虑“如何修正”;如果不会修正,则可以通过小组协作来解决问题,或者请教师单独指导调试。
学生通过对程序的纠错调试,不仅锻炼了自身的计算思维能力,而且对知识进行了巩固,为拓展埋下了伏笔。
归纳总结,沉淀思维归纳是去情境化的过程,让学生剥离实例学习所运用的各种编程技巧和方法,能通过类比的方法,把握共性问题,将一个问题的解决方法迁移到另一个问题中,形成一种内在的思维能力。
经过前面四步,学生已经初步形成了计算思维能力,但这种思维能力并不成熟和稳定,需要在教师的引导和任务支配下才能完成,因此,学生需要借助归纳、实践来强化和巩固学习结果。
1.分析方案,再用变量归纳总结经过这种去情境化的过程后,学生就可以接受更多的挑战性任务,进行创意计算作品的自由创作。
本节课主要的学习内容是“变量”应用,变量强大的功能为学生提供了挑战性的任务,让学生的创新力超前发展,使其在实现想法过程中获得成功的喜悦。
教师再增加拓展环节:我们为“口算软件”添点功能吧,为脚本添加一个“评分方案”。
学生思考变量的起始分值和分值变化,并填写完成表2。
再创作为程序的升级环节,笔者通过一系列的问题和表格来引导学生运用变量控件解决问题。
在创作的过程中,学生不仅要对变量进行识记和理解,更需要对变量进行深入的分析和灵活的运用,这对学生的计算思维提出了更高的要求。
2.作品展示,分享、交流、沉淀思维作品展示是对学生的肯定,也是学生再学习的一种方式。
学生介绍作品,不仅是展示自己的机会,也是对知识进行归纳总结。
经过思考和学习后,学生的作品比原来更有想法、更丰满了(如图5)。
学生在分享和交流中,不仅锻炼了语言表达能力,理清了思路,也获得了快乐,沉淀了思维。
教无定法,教师只有在教学设计时融入计算思维,不断地改善自己的程序设计教学策略,提高学生学习编程的热情和积极性,才能让学生在自主、协作、交流、分享的过程中,促进思维的发展,才能让“计算思维”在编程实例教学中落地生根,让每一位学生学会创造性地思考。