【摘要】工程思维是一种以系统分析为中心的筹划思维,拥有工程思维的学生能够系统地规划解决问题的步骤,从而取得理想的效果。在高年级编程教学中,教师也应当有意识地借助问题组织合作活动,以鼓励学生自主完成编程任务,并引导学生形成系统的思考方式,从而强化学生的工程思维。
【关键词】编程;小学信息技术;工程思维
作者简介:虞佳男(1993—),女,江苏省苏州市吴江经济技术开发区花港迎春小学。
对学生进行工程思维的培养,有利于学生形成全局观、逻辑观和方法观,能让学生意识到不同知识点之间的关联,并懂得以解决具体问题为方向,寻找实用和创新的解决方法。然而,在以往的教学中,一些教师“重理论,轻实践”,将教育的重点放在理论知识的渗透上,较少组织学生进行实践训练,也较少锻炼学生的解决问题能力和实践操作能力[1]。笔者以为,在信息技术课程的教学中,教师有必要借助编程教学更新教学形式,以便学生在掌握编程知识、编程技能之余,逐步发展工程思维,提升各项能力。
一、巧借问题,明确目标
要想引导学生基于工程思维学习编程知识,教师首先要做的就是帮助学生明确学习目标。但是,倘若教师直接为学生安排编程学习任务,势必会削弱学生的主体性,影响学生完成编程任务的积极性。问题能够引发学生的好奇心,激发学生的探索欲,透过对问题的分析,学生会逐步掌握隐藏在问题之下的基础知识。因此,在编程课程中,教师可以借助生活情境引入实践操作任务,引导学生发现实践操作任务中存在的问题,由此鼓励学生寻找解决问题的方法,促使学生在清晰、明确方法的指引下,有目的地强化工程思维。
(一)创设情境,确定任务
信息技术的发展,使信息化的生活成为常态,而引导学生掌握基本的计算机操作技术,指导学生应用计算机解决问题,也成为教师开展编程教学的重要目的。在培养学生工程思维时,教师不应直接向学生提出编程任务,而是应当指导学生进行规划和思考,让学生自觉将积累的编程知识应用于实际生活。为此,教师有必要为学生擬定编程任务的背景,引导学生从现实情境中发现学习任务,明确之后的学习方向。这样,在完成学习活动后,学生也可以进一步强化应用思维,意识到应将学到的编程知识应用于实际生活。
比如,在“弹奏乐器”的教学中,教师便可以创设生活情境,引导学生确定学习任务。在刚开始上课时,教师播放歌曲《Do Re Mi》,让学生随着熟悉的音乐集中注意力到新课上。随后,教师提问:“我们班有同学演奏过乐器吗?在演奏时,都需要什么呢?”学生结合自己的生活,回答了问题。学生回答后,教师继续引导:“大家有没有试过直接对着空气进行弹奏呢?”学生的好奇心被调动起来了,教师随即播放视频,让学生看到“空气琴”。在观看后,学生会不由自主地提出“这是什么原理呢”“其中包含哪些技术呢“我是否也可以制作出空气琴呢”等问题。由此,教师便可以引导学生明确“学习空气琴的制作原理,并自主进行空气琴的制作”的学习任务。
教师根据学生的生活经验,为学生拟定学习任务的背景,能够让学生从现实情境出发,发现实践操作任务和问题,从而在解决问题的过程中深度探究,这样做能为学生的工程思维发展提供良好的平台[2]。
(二)指出问题,寻找方法
在确定了编程学习任务后,学生便需要着手解决问题,进行系统性思考以便完成学习任务。但是,在正式开始编程时,学生还会遇到许多问题,如操作的方法不合理等,这些问题会影响学生编程的质量。与此同时,问题具有导向的作用,在逐一解决问题的过程中,学生能够理清操作的思路,从而做好实际操作的前期准备工作,为后续的学习活动奠定良好的基础。因此,在学生开始编程后,教师不妨围绕学生的实践操作任务提出多个问题,并带领学生解答问题,引导学生整理问题的答案,以便学生逐步做好统筹规划,强化工程思维。
例如,在“赛车游戏”的教学中,教师先组织学生玩“赛车游戏”,引导学生确定“自主制作赛车游戏”的学习目标。围绕这一学习目标,教师提出了“游戏的规则是怎样的呢”“游戏包含哪些角色呢”“整个游戏中,你认为最吸引人的地方是哪里”等问题,让学生对编程活动的最终效果进行预想。之后,教师再提出“如何进行游戏的制作呢”“在制作游戏的过程中,需要用到哪些工具呢”等问题,以便学生整理需要用到的资源,为学生之后的实践操作奠定基础。紧接着,教师引导学生观察赛车游戏,让学生提出自己的疑惑,如“如何进行赛道背景的设计呢”“如何进行赛车角色的添加呢”,然后引导学生在回答这些问题的过程中完善实践操作细节,提高学生的学习质量。
问题能够用于引导学生改变思考方向。在编程课上,教师可以利用问题,使学生迅速地锁定完成操作任务的步骤,从而顺利地完成学习活动,发展工程思维。
二、优化细节,解决问题
在学生实际编写代码的过程中,学生个人能力不足等问题,也会使学生编程的质量大大降低。面对这一情况,教师应充分发挥自身的引导作用,带领学生优化细节,或者鼓励学生组成合作小组,从而有效帮助学生掌握编程知识。
(一)合作探讨,设计方案
一项工程的落实,离不开集体的努力[3],学生个人的能力是有限的,在独自完成实践操作任务时,学生会出现种种困惑,而合作小组能够集中学生的力量,让学生在互相探讨中进行方案的论证、决策,在相互辅助中提高实践操作的效率。因此,为了让学生在潜移默化中形成工程思维,教师有必要基于对学生的了解,恰当地为学生搭建合作的平台。
比如,在“吃豆精灵”的教学中,教师便可以引导学生以合作的方式完成学习任务,促进学生工程思维的发展。在课堂上,教师可先提出“我们可以利用什么来控制吃豆人的移动呢”等问题,以便分析学生的编程素养、工程思维等。随后,教师可依据“优势互补”的原则,与学生一同商量,分好合作小组,保障各个小组中既有编程能力较强的学生,也有具有工程思维的学生。在分好组后,教师再将课堂完全交给学生,让学生在相互帮助中确定实践操作的方案,并做好人员的具体分工。
教师先对学生的实际情况进行分析,再基于科学的方式,为学生搭建合作的平台,能够更好地集中学生的力量,让学生共同完成实践操作任务,这样做还能强化学生的合作意识,发展他们的工程思维。
(二)教师介入,加快进度
对学生进行工程思维培养的目的,是发展学生的自主学习能力和问题解决能力,同时提升学生的学习效果。但是,要做好工程思维的培养,教师需为学生提供帮助,解开学生的疑惑。所以,在组织学生学习编程知识时,教师要发挥自身的作用,指导学生统筹规划,并辅助学生解决遇到的难题,从而有效落实对学生工程思维的培养,加快学生完成学习任务的进度。
例如,在组织学生学习“小猫出题”的内容时,教师便可以充分发挥引导作用,为学生提供辅助。高年级学生已经具备了一定的计算机操作能力,也对Scratch软件有一定的了解,能够调用动作模块、画笔模块完成编程活动。但是,在学生应用变量模块中的“新建变量”“设定变量值”等控件进行实践操作时,仍旧会存在许多问题,如有学生不知道如何对小猫的反应进行编写。面对学生的疑惑,教师可以及时出示课件,引导学生应用“如果……否则……”这一控件来编写小猫的反应,让小猫在答题者答对题目后,说出“恭喜你,答对了”;在答题者答错题目后,说出“很遗憾,答错了,要继续努力哦”。
教师主动地扮演好“辅助者”“解惑者”的角色,适时介入学生的学习活动,能够让学生迅速地找到自己在操作时的“病症”,从而更好地解决问题,完成任务,发展工程思维。
三、展示成果,改进提升
工程思维培养的最终环节,是引导学生对成果进行检验、反馈和修正,以便学生在未来更好地将理论知识应用于现实生活[4]。编程课程带有强烈的实践色彩,在编程课程中,学生不仅能通过完成任务获得探索的乐趣,也会获得一定的成果,这一成果不仅代表学生参与了实践活动,也代表了学生学习编程知识的效果。因此,教师应当为学生搭建平台,鼓励学生展示自己的成果,并基于学生的成果为学生进行延伸、拓展,以便学生在收获满满成就感之余,有意识地改进自身的不足,进行深度思考。
(一)成果展示,获得反馈
教育评价环节是教师引导学生进行反思、回顾的环节,透过评价,学生能够认识到自己的进步和不足,及时地完善自己的知识体系。所以,在培养学生工程思维时,教师也要重视评价环节,主动提供展示编程成果的机会,以便学生透过成果展示,获得多元的反馈意见,在肯定自己的进步的同时,认识到自己的不足。
比如,在“画城堡”的教学中,当学生利用积木块画出组合图形后,笔者适时提供学生展示成果的机会,鼓励学生介绍自己的成果以及自己的操作过程。在展示的过程中,学生愈发认可自己的成果。随后,笔者组织学生开展互评活动,让学生在同伴的赞赏、指导声中,进一步体会编程的乐趣,并反思自己的不足。最后,教师指出学生的进步与不足之处,以便学生及时地补充“新建积木块”“调用积木块”等知识。
教师有意识地提供展示成果的机会,能够让学生基于自己的实践操作成果进行反思,再通过这些反馈改进自己的学习活动,从而完善自己的知识体系。
(二)拓展思考,养成习惯
在培养工程思维时,教师要努力保持学生思维的活跃度,让学生始终有探究、学习的兴趣。知识是无限的,学习也是没有止境的[5],在组织学生完成编程任务后,教师也要引导学生基于现有的编程知识、编程技能参与拓展延伸的活动,让学生更加牢固地掌握编程知识,形成良好的思维习惯。
以“穿越迷宫”的教学为例,教师可以在学生完成操作任务后,引导学生思考新的内容,保持学生思维的活跃度。具体来说,在课堂上,教师要先创设情境,引导学生确定本节课的实践操作任务,并让学生做好统筹规划,然后进行场景设置、脚本搭建,从而逐步完成学习任务。在学生运行自己编写的脚本后,教师再提出“我们可不可以编写一个用方向键控制小猫穿越迷宫的脚本呢”的问题,引发学生的进一步思考。当学生产生想法后,教师为学生提供交流平台,组织学生进行组内交流,引导学生在讨论、实践中逐步完成学习任务。在课堂的最后,教师可提出“本节课的操作非常有趣,我们还可以使用这些控件做些什么呢”的问题,以保持学生对本次教学内容的探索欲。
在学生完成实践操作任务后,教师继续围绕教学内容提问,能够让学生继续对所学编程知识进行探索,提升学生思维的活跃度,加深学生对编程知识的印象,使学生更加牢固地掌握编程知识。
结语
总而言之,在小学编程课程的教学中,教师应当主动借助编程课程对学生进行工程思维的培养,促使学生在提升信息素养之余,获得工程思维的发展,并逐步提高统筹规划能力和实践操作能力。
【参考文献】
[1]张萍.小学信息技术编程教学的实践与思考[J].中国新通信,2019,21(16):209.
[2]徐凯.人工智能编程基础:小学信息技术模块化编程应用探究[J].小学教学研究,2021(21):46-47.
[3]邬莺.基于云平台的小学信息技术Scratch编程教学方法探究[J].中国多媒体与网络教学学报(下旬刊),2021(08):149-150.
[4]黄绍夷.项目教学法在小学信息技术Scratch教学中的应用分析[J].新课程导学,2021(14):86-87.
[5]张惠敏.探索创新小学信息技术课程中Scratch编程的教學方式[J].天天爱科学(教育前沿),2021(4):61-62.