任帅
摘 要 为了积极应对数字化快速发展的全球态势,日本对于小学编程教育的重视度愈来愈高,并且逐步完成了从导入到必修化的历程,积攒了较多可供参考的经验。其中,日本小学编程主题式教学作为融合学科、联系生活、发展兴趣的一种教学模式,不仅使得学科教育得到发展,而且更有助于培养学生发现问题、分析问题和解决问题的逻辑思考能力。对其综合学习时间、学科教学、校外学习和课外活动的实践样态进行研究,可以为我国小学编程教育提供一些启示。
关键词 日本 小学编程 主题式教学
近年来,数字化、人工智能、5G技术等发展态势迅猛,诸多工作和学习都要依赖网络进行,各国越来越重视编程教育。日本于2020年4月正式将小学编程教育必修化,从小培养学生的“编程思维”,提高其逻辑思考能力,以从容应对全球化的数字竞争。而且,值得注意的是,小学编程教育主要是引导学生学会自我发现与思考,培养他们发现问题、分析问题和解决问题的能力,让小学生意识到编程的存在以及能够进行简单的构件拼装。日本小学编程教育教学已经取得一定成效,研究其教学实践无疑能够为我国开展小学编程教学提供重要参考。
一、日本小学编程主题式教学的实践样态
主题式教学实践有别于传统单学科、零散化的教学模式,它一方面模糊了不同学科间的界限,强调学科间的交流融合,以实现某项主题教学活动为重点;另一方面,为了实现既定主题的教学目标,在教学实践中往往会引用日常生活案例、其他学科知识等作为示例,以辅助理解和巩固与主题相关的知识与技能。同时,主题式教学实践的场域并不局限于课堂内和学校中,它可以依据学科需求、学生兴趣、地区特色等进行多领域、广区域的针对性主题教学活动。而学生编程教育资质与能力的培养状况很大程度上反映在教学活动上,教学活动的开展情况又将对学生的学习效果产生直接影响。
1.综合学习时间的校内先修
中小学综合学习时间是为了顺应发展需要,培养面向国际化、信息化资质与能力的学生而设置的,它注重运用所学知识解决实践问题。其中编程教育初期阶段具体表现在:当开展某项主题的编程教育时,教师多会围绕此主题进行情景拓展,启发学生思考日常生活中的有关事物,并在需要时调动其他学科的一些知识,基于现实案例,在加强学科联动性的同时提高学生“编程—生活”的感悟以及解决实践问题的能力。例如,在引导学生进行编程体验时,发现果汁自动售货机内部存在一种“程序”支持着人们放入钱并按下按钮可以选择果汁、找零的操作。这种以体验信息发展与生活变化为导向的校内先修模式为后期社会课上参观企业以及自我思考、强化编程思维打下了基础。
此外,在引用案例时应注意到,以往算术、外语、理科等基础科目的知识传授过程虽然也会穿插一定的案例供讨论分析,但它与编程教育存在很大不同,主要体现在以下三点:一是对象不同,编程教育的探讨对象基本上都是在围绕“导电体”展开,而基础科目的案例并不局限于导电体。二是阶段不同,编程教育侧重于事物某种形态形成之前的“创造性过程”,而基础科目较为注重事物某种形态形成后的拓展过程。三是目的不同,基础科目教学中引入案例分析一般为巩固加强,或更好地理解理论知识。比如,为了学习转速的概念,引导学生观看生活中洗衣机中洗衣桶的旋转过程,并认知转速大小。与之相对,编程教育的目的更看重如何实现既定转速下的旋转过程,强调的是要达到某种“可视化效果”(如图1)。
这种在综合学习时间初期引用现实案例一边体验编程、一边培养逻辑思考能力的做法虽然具有多种优点,但具体引用哪些案例,引用前的准备工作有哪些,能否达到学生培养的资质与能力要求……值得思考。在一项有关小学音乐课编程教育应有状态的探讨中,做法是:第一步,从书籍和网络上搜索有关编程教育的实例,并从中筛选出有关小学音乐的案例;第二步,按事件名称、适用学年、所用软件等进行分类整理;第三步,总结出实践案例共同的倾向以及在音乐科目上促进学生“编程思考”的学习过程;第四步,对现有案例教学方式进行优化[1]。
2.学科教学的编程融合
这里的学科教学指的是算术、理科、音乐、体育、外语等课程的教学。当它们需要借助编程来完成某项主题的教学任务时,不仅要求能够灵活应用编程知识或思维,而且可以将其融入到学科问题之中。此时,有关编程的教学活动并不能直接地反映出来,因为它多是起到工具的作用,服务于学科教学中事先确定的某个主题或目标。可见,这与综合学习实践中引用学科内容作为基础的做法恰好相反。日本福冈市A小学六年级编程教学已经开始尝试将音乐与编程进行融合教学,比如在以制作音乐为主题的教学活动中,采用“VOCALOID教育版”让学生学习制作音乐。在制作中,即使看不懂乐谱的学生也能通过VOCALOID来完成设定歌词与旋律的音乐,而且,经过反复的意图-编程试验可以实现锻炼学生逻辑性思考的目的[2]。无独有偶,在理科教学中,为了让学生学习有关电气变换以及电气利用的知识,以生活中常见的电风扇为例,并基于乐高WeDo2.0完成相关的组装和建模过程,深入理解电气的重要性以及如何实现节电功能(风量调节、定时器、节奏风等)[3]。
实际上,不利用編程语言或设备教师也能开展有关学科-编程融合教学的活动,例如,教师在教授小学笔算方法时发现,按照既定的顺序即可得出正确答案,通过简单的重复该过程不仅能够体验编程思维的特点,而且不必假定算术科以外的知识和前提就可巩固所学知识[4]。但这仅能实现简单学科教学与通俗化编程思维培养的目的,对于较复杂的学科知识或者要求较高的编程思维,教师在教学过程中完成一项已非易事,更何况在缺乏编程语言或设备的情况下同时兼顾二者的交叉融合。根据文部科学省的调查,截止2016年3月,每台教育用计算机供应儿童学生数为6.2人,但在2012年,经济合作与发展组织(OECD)调查的结果显示,其成员国每台计算机供应的儿童学生数为4.7人[5]。因此,教育用计算机配置的不足将直接导致部分学生不能在校园内学习学科知识的同时充分体验编程思维。
同时,在一项有关中小学教师对编程教学实践的积极性调查中,选取了633名中小学教师作为样本,其中小学教师占357人,结果显示,想拥有教授编程的机会的小学教师仅有1/3,剩余2/3的教师在解释不想教的原因时,有半数教师表示对编程不了解,其他工作太忙等[6]。虽然该调研数据不能精确反映小学编程教育的整体状况,但至少说明了有相当数量的小学教师并不乐意接手编程教学任务。
3.校外学习的真实感知
为将学生在校内所学的编程相关知识与生活实际联系起来,家长或学校会不定期开展以校外学习编程应用实例为主题的相关活动,组织学生到合作企业、社区参观学习或参加编程竞赛项目,并在专业人员指导下了解编程编码下的机械动力原理、照明系统控制方法等各项编程知识与技能。但是,从文部科学省2019年发布的《下一代教育信息化推进事业成果报告书》中有关小学编程教育的案例可以看出,该报告均是根据校内实践做出的总结,并未基于校外学习做出相应研究[7]。因此,这将极易造成现实教学过程中缺少案例指导的情况,从而导致各地基于自身理解开展学习活动,教学质量难以得到保障。2020年日本文部科学省在《日本小学编程教育指南(第二版)》基础上进行了修订,其中最主要的一项就是加入了与企业合作开展编程教学的示例,具体包括三类企业:汽车制造商、房企和互联网相关企业。同时,为了更好地完成这种校外学习活动,每个示例都被切分成了三个阶段性任务,并在各个阶段中指出了较为详细的操作步骤:设定课题、收集信息、整理分析和总结[8]。所以,从目前来看,日本小学编程教育中开展的与企业合作的学习活动主要以此作为发力点。
可是,校外学习的过程中也暴露出一些问题,比如,选取教学用编程语言时不仅需要考虑其繁简性、稳定性和安全性,而且也应对其与学科或教学内容的关联性进行研究。同时,还要进行必要的效果评价,通过多次筛选比较最终确定采用哪种编程语言。而从目前来看,依托实际开发的软件的编程语言并未进行相应的关联性研究和评价分析[9]。这一方面会使得校内编程教学中引用的实际案例缺乏依据,另一方面也导致学生从校外学习到的编程知识存在理论漏洞。
4.课外活动的兴趣驱动
此处的课外活动指在校内开展的教育课程以外的偏自主性编程教育活动。目前该活动的开展方式及内容并没有明确规定和标准示例,而且,在《日本小学编程教育指南(第三版)》中对此也只是“期待、期望”按照学生兴趣来开展。因此,近期课外活动中的编程教育活动将围绕学生兴趣展开相关主题教学。
二、日本小学编程主题式教学实践的启示
目前,我国小学编程教育还未得到全面普及,我们可以从日本的一些适用性较强的实践经验中找寻出对我国有重要参考价值的方法或思想。
1.保障综合实践活动的顺利开展,结合日常活动,深化校内先修
日本之所以能够在全球信息化大势下毅然推行小学编程教育必修化,有很大一部分原因在于它非常看重利用综合学习时间来培养小学生的逻辑思考能力、体验编程思维的作用,并力求保障综合学习时间的时长和效果。比如,在《日本小学编程教育指南(第三版)》中以探究课题的形式详细列明了综合学习时间内编程教育教学的三个阶段:信息化發展与生活和社会的变化、城市的魅力和信息技术、利用信息技术的生产和人工制造[10]。我国综合实践活动课程虽然与日本的综合学习时间课程名字不同,但二者在开展编程教育活动时都注重学生的自主性和教学的趣味性,以求锻炼学生发现问题、分析问题和解决问题的能力,同时逐步建立起相互合作解决问题的意识。目前,我国综合实践活动课程形式化、肤浅化的现象依然存在,尤其是农村、偏远地区的小学,由于师资力量薄弱,加之小升初综合实践活动的考核占比较低等,使得综合实践活动课程流于形式,或者直接被无视,对于综合实践活动课程中的编程教育更无从谈起。因此,首先,应当从制度、资金、师资等方面保障我国小学能够顺利开展综合实践活动课程,对于农村、偏远地区的学校给予适当的政策倾斜;其次,结合地区特色,选取简单易懂、距离学生近、信息技术作用明显的事物引导学生感悟信息技术与生活的变化,为今后深入学习作铺垫;最后,教师应做好全程陪护工作,实时掌握学生的学习动态,在趣味教学的基础上让学生体验编程思维。
2.注重学科教学的编程融合,完善教学设施,提高教师积极性
虽然日本小学没有单独设置编程教育科目,但它在学科教学中融入编程的做法既巩固了所学知识,同时也让学生体验了编程思维,锻炼了逻辑思考的能力。而我国现今学科教学结合计算机的教学实践中多是“信息技术融合”,而非“编程融合”,信息技术融合的应用范围更广,如将学科知识通过PPT、视频、音频等形式来展现。但编程融合强调的是如何达到所学学科知识的特定状态,比如,在日本小学国语课上学习敬语表达时,学生可以利用Scratch编程设置场景与人物,即使是难以理解哪种语言是合适的敬语的同学,也能通过不断输入单词组合观察面部表情,从而确定哪种语言是最合适的敬语,从而锻炼思考能力[11]。我国为实现学科教学编程融合的目标,不仅需要配置完备的教学设施,更需要培养出具有编程思想的、留得住的教师。一方面,可以通过政府补助、企业资助来缓解配置教学设施的资金压力;另一方面,可以考虑与周边的中学或大学合作开展编程融合教育,而且,对于有编程技能的教师应给予一定照顾,比如减轻现有工作压力或提高薪资待遇等,最大程度发挥其专业优势,不能让编程教学成为新的负担,以此提高其教学积极性。
3.拓宽校企合作渠道,检验编程语言的适用性
为了让学生能够真实体会到编程在生活中所起的作用,日本小学与汽车制造商、互联网公司等合作,向学生展现编程实现的刹车、变速、色彩转换等功能,并由专业人员解说其制作流程和关键思路,最后学生可在提供的编程房间内尝试自己编程。但要注意的是,自己编程并非指编写代码或者完成各项具体操作指令,它指的是运用一个个已经编写完成的具有特定命令的模块,将其进行拼装。这种做法不仅可以强化学生在课堂中学到知识与技能,而且能够随时随地根据实际需要实现学有所用。我国可以借鉴日本的做法从小学周边寻找合作对象,并选取符合年级特征和教学需求的一家或多家开展合作,在学习完成校内综合实践活动课程中编程先修的基础认知后,观摩体验生活中编程的应用实例。同时,在决定合作对象时应邀请计算机编程专家和学科教学专家共同评审选取合适的编程语言。
4.课外活动编程游戏化,准确定位编程教育的内涵
课外活动编程游戏化指的是在学生课外活动过程中通过做游戏的形式学习编程思维。比如,将6名学生分为两个小组,每组各3人,相距10步面对面一字排开,现有1至4的号码牌,每次每组只能抽一张,轮流抽签,前进步数即为号码牌数,而且率先到达对方位置的成员必须将号码数减2给予其他成员,若为负,三人中要有一人回至原点,哪组全部成员率先到达对方位置即获胜。这种游戏化的课外活动形式不仅用到了编程中的假设语句和选择语句的思想,而且增加了课外活动的趣味性,有利于学生将来深入学习编程知识。而且,由于日本小学编程教育必修化出现的日期早于引入其“上位概念”STEM/STEAM教育对编程教育概念、意义进行定位的日期,不可避免地导致了编程教育的扭曲现象[12]。而一旦编程教育理解错位,不单单会影响教学成本、进度、质量与目标,更可能会导致学生对编程教育产生错误认知。所以,我国有必要对编程教育进行准确定位,调动学生的自主意识,引导学生学会自我发现与思考,并让学生意识到编程是与计算机沟通的桥梁,不可或缺,以此逐步培养学生的“编程思维”,提高其解决问题的能力。
参考文献
[1] 長山 弘.小学校音楽科におけるプログラミング教育のあり方の検討:授業実践事例を手がかりに[J]. 初等教育カリキュラム研究,2019(07):55-67.
[2] 平田繁,岡田充弘,木原美樹子,等. 小学校プログラミング教育の現状と教員養成における課題―B·C分類(国語,社会,生活,音楽,家庭,体育,図画工作,外国語)―[J]. 中村学園大学·中村学園大学短期大学部研究紀要,2020(52):193-203.
[3] 黒田昌克,森山潤.身近な製品に込められたテクノロジーの科学的理解から改良·応用を図る小学校プログラミング教育の授業実践とその効果-扇風機モデルのプログラミングを題材にして-[J]. 兵庫教育大學学校教育学研究,2019(32):115-121.
[4] 新ヶ江登美夫,村原英樹,新井しのぶ,等. 小学校プログラミング教育の現状と教員養成における課題―A分類(算数,理科,総合的な学習の時間)―[J]. 中村学園大学·中村学園大学短期大学部研究紀要,2020(52):183-192.
[5] 堤真紀. 学校教育の情報化:現状と課題[J].調査と情報,2018(989):4.
[6] 楠見孝,西川一二,齊藤貴浩,等. プログラミング教育の授業実践に対する小中学校教員の期待と意欲,日本教育工学会論文誌[J].2020(44):265-275.
[7] 小熊良一,松下七彩,岩﨑綾乃,等.校外学習を効果的に活用する小学校プログラミング教育の実践[J].群馬大学教育実践研究,2020(37):171-177.
[8] [10]文部科学省.小学校プログラミング教育の手引:3版[EB/OL] (2020-02-02)[2021-03-16].https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1403162.htm.
[9] 立田 ルミ.小学校におけるプログラミング教育の導入と問題点[J].情報学研究,2017(06):89-92.
[11]小学校を中心としたプログラミング教育ポ—タル.敬語の使い方を考えよう[EB/OL]https://miraino-manabi.jp/content/289.
[12] 黒田昌克,森山潤.STEM/STEAM教育の観点から見た小学校プログラミング教育の在り方に関する研究課題の展望[J].兵庫教育大学学校教育学研究,2020(33):189-200.
[责任编辑:白文军]