例谈小学编程教育的深度教学策略
2022-11-19杨嘉辉江苏省无锡市梁溪区教师发展中心
杨嘉辉 江苏省无锡市梁溪区教师发展中心
《义务教育信息科技课程标准(2022年版)》(以下简称“新课标”)提出义务教育信息科技课程要培养信息意识、计算思维、数字化学习与创新、信息社会责任四大学科核心素养。其中,发展计算思维需要学生了解算法在解决问题过程中的作用,学会采用计算思维相关的思想方法来界定问题、分析问题、解决问题。[1]编程教育是计算思维培养的最佳载体。通过有效的编程教学,学生可以领会算法的价值,学会用信息科技的思想、方法和工具去解决问题。但在实际的小学编程教学中,很多学生却无法完成编写一个简单程序的任务,这说明部分教师在编程教学中只侧重学生编程技能训练,教学还停留在“浅层模仿”阶段。笔者认为,小学编程教学应采取有效教学策略实现深度教学,让学生能够理解编程概念与原理,活用编程原理与技能,实现计算思维提升。
● 从浅层模仿到深度教学:小学编程教学的追求
笔者曾听过一节图形化编程的日常课,内容是苏科版小学五年级《青蛙过河》。这节课教授一个新的动作命令:移动到x(坐标)、y(坐标)。在进行教学时,教师请学生上讲台操作,一个学生先将鼠标移动到将要移动的位置,获取x坐标和y坐标,然后在“移动到XX”命令里将x、y坐标填上;另一个学生将“青蛙”拖动到要移动到的位置,然后“移动到XX”的命令会自动将坐标填上,只需要将命令拖动到上面即可。初看结果,第二个学生的操作更简便,但其实第一个学生的操作更符合程序设计的思路。课后,听课教师针对哪一种方法是更好的操作选择、哪一种操作能够提升学生的计算思维、教学时应该选择哪一种操作等问题进行了讨论。其实,这是一个授之以鱼还是授之以渔的选择。第一个学生的操作,虽然稍显烦琐,但却是符合分析问题、解决问题的思考方式的,学生学会了解决同类问题的办法,是有效的编程教学。
那么,如何才是有效的编程教学?如何进行有效的编程教学?笔者认为,有效的小学编程教学需要走向深度教学。所谓深度,就是触及事物本质的程度,深度教学是深入知识内核、体现学习本质的教学,深度教学的课堂是能激活学生学习深层动机、展开高阶思维的课堂。深度教学在小学编程教学中首先体现在要让学生学会思考,思考是思维的一种探索活动,是学习的核心和主导,是分析和解决问题的关键。在小学编程教学中,要引导学生多进行思考,思考程序的编写流程,思考程序的功能和实现策略,思考程序执行时的问题,思考程序如何优化。只有不断地思考,才会有不断的发现和提升。学生不断地主动思考,才能更好地发展计算思维。
● 项目学习助推小学编程教学方式变革
新课标倡导开展真实性学习,以真实问题或项目驱动,创设真实情境,提高学生的学习参与度,提升问题解决能力。而项目式学习是一种基于探究和产出的教学方法,让学习者通过应用学科如识,解决有挑战的问题,完成有意义的项目或解决现实世界中的问题,进而投入到知识的积极建构过程中。[2]项目式学习最本质的体现就是创建解决真实问题的方案或作品,所以项目式教学符合新课标的要求。
在编程教学中,在进行项目式学习时,要注意两个方面的问题:一是要注意基于真实情境设计项目。教师需要从学生的实际生活出发,关注学生日常的衣食住行和学习生活习惯、社会阶段性特点,从中挖掘出能与学生达成共性认识的项目。探究并解决真实世界中的这些项目的问题,能促进学生主动思考,在主动思考的基础上进行的学习,才具有高阶思维的特性,才是有效的深度学习。二是要关注对项目问题的分析。在项目学习中,只有学生能够完成对项目的分析,通过分析能够明确项目的目标,了解项目要解决的问题,这个项目才是符合学生实际的项目。这就要求教师在项目设计时,要分步设计,体现由浅入深、从整体到局部、逐步深化的问题解决思路,同时,也可以通过任务驱动的教学方式,引导学生对问题进行分析并逐步解决,从而提升学生的计算思维。另外,深度学习提倡学习的真实性,设计基于真实情境的学习项目,可使学生在解决真实情境的问题时,提高对知识技能的运用效率。
● 自主学习单为小学编程教学提供支架学习
要使深度教学真正发生,就要做到“以生为本”,创造让学生自主学习的环境,而自主学习单就是一个实现“以生为本”的有效途径。
1.自主学习单的设计策略
(1)搭建“学习支架”,细化“学习任务”。在信息技术课程“深度学习·思维课堂”的理念中,自主学习单可以是帮助学生建构知识层次、厘清学习要点的一个“学习支架”。自主学习单作为一种有形的“学习支架”[3],可以由明确的学习目标、任务分解、操作步骤和操作提示几部分构成,学生可以通过自主学习单,开展自主学习。
自主学习单在设计时要考虑学生的能力差异和个体区别,需统筹考虑,分层设计,兼顾基础内容、拓展内容和研究性内容,实现分层教学。基础较差的学生要求完成基础教学内容即可,能力较好的学生可以在基础内容学习的基础上,进行拓展内容的学习,研究性学习的内容,可以小组合作或课后自主探究完成。如上页表所示,任务1和任务2属于基础教学内容,任务3属于拓展内容,拓展实践属于研究性学习内容。
梁溪区小学信息技术自主学习任务单
(2)巧设“操作提示”,辅助“自主学习”。自主学习单的作用是辅助学生进行主动学习和探究,对于学生在学习和操作时可能出现的问题,教师要能够进行预判并在自主学习单中预设操作提示。操作提示可以使用图文并茂的形式,也可以使用超级链接的形式,不同层次的学生可以根据自身的需求,有选择地进行学习。
2.小学编程教育自主学习任务单实施策略
根据“学习任务”难易程度,教师应指导学生采用不同的学习方式完成任务。
(1)简单学习内容。对于简单的学习内容,如表中的任务1,就可以放手让学生自主学习。学生在自主学习结束后,还可以进行同伴互助学习,教师巡回进行个别辅导,确保每位学生都能顺利进入到下一步任务的学习。
(2)复杂学习任务。对于较复杂的学习任务,如表中的任务2,可以考虑使用学生小组合作研究的方式开展教学。几人一组,合作学习,学生按照学习单中的操作提示开展小组协作,共同完成学习任务,提高课堂教学效率。
(3)学习重难点。对于重难点问题,如表1中的任务3,可以先由学生独立探究,尝试操作,然后由教师进行集体讲授。在设计任务单时,教师应考虑到学生在进入操作时可能会遇到的操作瓶颈,通过任务单的操作提示引导学生思考问题,让学生在操作中尝试解决问题,最后再对学生遇到的操作瓶颈进行讲解,突破重难点。
(4)准备导学案,辅助实现个性化学习。自主学习单主要是满足课堂教学的需求,对学生的一些个性化要求,如完成拓展实践的任务,或者进行联系、巩固等,可准备导学案,作为对学习任务单的有效补充,帮助学生实现个性化的自主学习。资料包的内容可以包括操作图解、操作演示动画、微课等。教师可将导学案发给学生,学生根据学习需要,自主选择获取知识的方式,自行安排学习进度,通过实践练习,自主完成由模仿到理解的过渡,由浅层学习转变为深度学习,达到学以致用的目的。
● 结语
利用项目学习和自主学习单优化信息技术课堂编程教学是区域“深度学习·思维课堂”课改主张的具体体现,更需要大家在实践中边使用边改进。希望在深度学习理论的指引下,有效的编程教学能激活学生的学习深层动机,使自主高效的学习、练习、研究,成为信息技术课堂的新常态。