APP下载

农村中小学如何跟上程序设计教育的变革

2019-10-16陈洁钟柏昌

人民教育 2019年6期
关键词:程序设计维度知识点

陈洁 钟柏昌

随着计算思维广受关注,程序设计教育已经成为中小学信息技术教育的核心内容,但因条件所限,农村中小学的程序设计教育遇到了诸多困难。笔者所在的江苏省常熟市碧溪中心小学也是如此,但在一线教师的努力下,学生学习程序设计的热情高涨,积累了较具特色的程序设计教育经验,尤其体现在目标定位、课程设置与实施路径等方面。

多维目标的定位:中小学程序设计课程不仅仅教编程

根据《普通高中信息技术课程标准(2017年版)》的界定,信息技术学科核心素养主要包括信息意识、计算思维、数字化学习与创新、信息社会责任四个维度。以此为参照,我们在程序设计课程目标的设定上主要体现为如下三个方面。

(一)知识为辅思维为主的方法培养

传统的程序设计教学以传递知识为主,缺乏思维的培养,教师教什么,学生做什么,一旦场景更换就无从下手。随着核心素养、计算思维的提出,需要更多注重学生思维方法的培养,激发其创新思维。因此,在课程目标的设定上,我们确定了知识为辅思维为主的培养目标。顾名思义,知识传递不再是教学的主要目的,而是让学生掌握解决问题的思路与方法,在这个过程中学习相关知识。

该课程目标的实现从三方面进行了突破。首先,根据学生的认知水平和思维发展趋势,设计了由浅入深、由简到繁、由粗到细的课程安排。例如,在基础课程中设计了一个“游戏计时/倒计时”样例,需要分三步完成:一是设初始值,二是设时间增加或者减少,三是判断是否达到某个值执行停止。掌握这种三步法后,引导学生思考能否把这种设计思路应用于游戏得分等其他信息的动态呈现。在扩展课程中,问题进一步复杂化(如游戏角色的血量、生命值、音量、画笔粗细等的动态设置),用三步法也能完成任务,只是条件多重、执行结果多样而已。由此,学生在由易到难的过程中掌握了一个重要的“三步法”程序设计方法,并在此过程中学会了多个控件和判断语句的使用。其次,在教学内容设计上,把教材中的知识点进行重组,整合成项目式学习,使教学内容更贴合实际。学生在完成每个项目时,所有的知识点就如工具箱里的一个个工具,教师的主要任务是教会学生选择和判断:在何种场景中遇到何种问题如何挑选适合的工具来解决。例如要求给不同的角色背景设置不同的特效,教师引导学生利用流程图来分析动作的执行顺序,再利用双击控件的预览功能,让学生自己去寻找适合场景要求的控件,接着根据流程图搭建脚本观看效果。最后,在课堂教学策略上,教学中采用模仿改编、表达创作、重组融合等多重教学策略来培养学生的思维能力。

(二)诚朴文化背景下的情感目标培养

“诚朴”是中华民族的传统美德,也是我校百年校训。学校以“传承诚朴文化,构建诚朴校园,打造诚朴教育”为核心理念,在每个孩子的心田撒下“诚信做人、质朴做事”的种子。因此在课程设置时,我们把诚朴文化融入信息技术课程的情感价值观目标中,如培养学生在课内外团结协作、互帮互助、乐于分享、善于表达等能力。

实现该目标的途径包括:(1)结对编程。在课堂学习中要求学生两两组合完成同一个项目式的学习,在这个过程中学生互相帮助、取长补短,培养学生团结协作、帮助他人的好习惯。(2)信息表达。小学生富有想象力,拥有很多金点子,应该让这些想法在作品中实现,并且激发学生更多的思维碰撞,教师在课堂教学中鼓励学生表达想法、分享信息,培养学生勤于思考、善于表达、乐于分享等素养。(3)成果分享。为了让作品精益求精,反复测试是一个途径,但个人的能力是有限的。应鼓励学生分享自己的创作成果,在分享过程中吸收别人的优秀之处,修改自己欠缺的地方,也可以把别人的成果和自己的加以融合,创作更棒的作品,以此培养学生善于观察、乐于分享的好习惯和感恩之心。

(三)创新能力的培养

青少年是改变未来的生力军,创新意识应从小培养。传统的程序设计教学强调模仿和技能训练,缺少个性化的设计,学生创作的作品千篇一律。我们的目标是让学生从被动的重复技能训练转变为主动追求创新。

因此,在教学软件的选择上,不管是Scratch还是Alice,都强调创意设计,弱化语法和语句的识记,注重激发学生的想象力和创造力,让学生从小就能感受创造的快乐。在基础课程中引导学生改编作品,在扩展课程中引导学生融合其他学科知识,在用Alice编程中鼓励学生改编和创造故事,都有利于学生创新精神和实践能力的培养。

多维课程的设置:从基础学习到深度学习

根据江苏省教育厅印发的《江蘇省义务教育信息技术课程纲要(2017年修订)》以及学校的信息技术课程安排,针对中高年级小学生学习特征规律以及认知规律,我们设置了四个维度的课程内容。第一维度参照省编教材的程序设计模块设计了Logo、Scratch的基础课程;第二维度为Logo与Scratch的融合课程,是基础课程的巩固与升华;第三维度是Scratch的扩展课程,是学习了前面两类课程后的深层次学习,涉及部分学生;第四维度为Alice的3D校本课程,让学生感受3D视角,培养程序设计的迁移能力,与第三维度课程同步进彳亍。

(一)Logo、Scratch基础课程

在小学信息技术必修教材中,Logo语言与Scratch软件的学习是程序设计教学的启蒙课程。教师在尊重教材的同时,以项目式的方式来进行基础课程的教学,如Logo的《我的几何世界》、Scratch的《我的杂技团》。此课程为五年级常规课程。

(二)Logo+Scratch融合课程

近几年Scratch教学日趋成熟,慢慢取代Logo语言的教学。Logo语言进入小学信息技术教材多年,对学生的程序设计启蒙自有其可取之处。考虑到两个软件的特点,学校开设了Logo+Scratch融合课程,把相通的知识点进行整合。如《我的秘密花园》项目式学习,把Logo的图形命令与Scratch中的画笔模块进行了整合,Logo中带参数过程与Scratch的自定义模块进行了整合,再辅助Scratch的其他模块创作出富有个性的多媒体作品。此课程为五年级常规课程。

(三)Scratch+N扩展课程

在学习了基础课程后,为进一步提升学生的应用能力和创造力,我们设置Scratch+N扩展课程,这里的N主要指各门学科。这门课程充分挖掘Scratch的知识点及其软硬结合的特性,通过整合其他学科内容,借助声音传感器、滑竿、键盘、鼠标等传感器和外部设备,在制作多媒体动画、小应用、小游戏等趣味性交互作品的过程中教学生学会表达创意、张扬个性。如Scratch+语文的《古诗词赏析》、Scratch+数学的《数学加油站》、Scratch+英语的《猜单词》、Scratch+科学的《电路工程师》、Scratch+美术的《画图工具》、Scratch+音乐的《小小演奏家》、Scratch+道德与法治的《环保小卫士》等。此课程为六年级社团课程。

(四)Allce3D校本课程

3D技术盛行的时代,在农村硬件设施相对缺乏的情况下,让学生提前接触3D内容是我们开设这门校本课程的初衷。Alice的编程方式类似于Scratch,区别在于Alice采用3D编程环境,编程过程和结果也均以3D动画形式呈现,不仅可以帮助学生理解面向对象编程的概念,还可以帮助学生了解程序的执行过程。

《用Alice讲故事》校本课程一共设置了四个模块:认识篇、基础篇、故事篇、游戏篇。该课程以编写代码制作故事作品为主,每个主题都是一个故事且都涉及计算思维的多个维度。每个模块都采用“模仿(故事还原)——半创作(故事改编)——创作(故事续编)”的教学模式,让学生在模仿中学习,在学习中创作,在创作中思考,不断提高学生的创新意识。如故事篇中的《迷惑的袋鼠》,主要教学内容有:袋鼠跳动、动作判断、续编剧情,教学形式是模仿+半创作(创意设计稿),涉及的计算思维维度有:顺序、并行、循环、条件、数据、运算符、创意与表达、抽象与建模、调试与测试。此课程为六年级常规课程。

多维策略的实施:程序设计思维的培养更重要

为了避免学生只掌握技术层面的知识、技能,缺乏思维层面的锻炼和创新,在程序设计教学时我们根据课程内容和学生情况采用了三种针对性的教学策略。

(一)模仿+改编:夯实学生程序设计基础

在学习基础课程时,设计项目式主题内容来贯穿整个课程的知识点。学生刚开始接触程序设计时,想法与实施之间缺少桥梁,因此采用“模仿+改编”教学策略。模仿便于学生了解知识点的作用,架起思维与技能的联通渠道。改编是对知识点的升华,发挥学生想象力的同时,对作品进行扩充和再创作。在这个过程中,让学生从无到有、从有到创,打好基础,提高对程序设计的兴趣。

(二)表达+创作:激发学生程序设计思路

在扩展和校本课程学习中,采用较多的是“表达与创作”策略。学生熟练掌握知识点后,创作作品时经常出现困惑:如何把想法转变为程序?为解决这个问题,需要鼓励学生把想法表达出来,一般采用两种方式:说或写。再引导学生从表达出来的想法中提取关键词,通过关键词去寻找对应的控件和命令,并且厘清事件的关系,画出流程图,从而搭建出脚本,完成初步的程序设计。表达的整个过程为:想法的表达一提取关键词——画出流程图——寻找对应控件——搭建脚本。当然,搭建好的程序命令还需要不断的测试与完善。如《穿越迷宫》一课,如何让迷宫更好玩,学生想到了放置不同的障碍物。教师引导学生表达“如果主角碰到障碍物,是的话将做什么(如后退/回到起点等)再继续侦测,否的话反复侦测”,根据表达的内容提取关键字画出流程图(见图1),再去找控件搭建脚本就轻而易举了。值得强调的是,表达这一策略需要在学生开始学习程序设计时就实施,到中后期就会有事半功倍的效果。当想法到程序的通路打通后,创作不再是难题,加上小学生天马行空的想象力和创造力,作品将被赋予更多的惊喜。

(三)重组+融合:升华学生程序设计思维

优秀程序设计作品都是团队合作的结晶。為了培养学生的项目规划能力、问题解决能力、合作能力等,在程序设计教学的后期一般采用“重组+融合”策略。重组是利用程序设计中模块化特点,把程序打包成一个个“积木”保存,再根据作品的需求搭建“积木”。打包“积木”的过程不限时间与人数,可以在不同时间打包不同“积木”,需要时直接取用。也可以是不同的学生制作不同的“积木”,汇总后完成一个作品。如《大嘴怪吃豆豆》一课,课前先让学生设置好大嘴怪与不同分值豆豆的造型和脚本,保存后选出优秀作品做成素材包,供学生创作作品时使用。把不同的“积木”进行重组后还需要程序的融合,使其与自己原有的程序进行无障碍连接,因此需要学生有扎实的基础,会发现问题和解决问题,通过不断调试完善程序。这一过程可以很好地培养学生的模块化程序设计思维、标准设计思维、测试与调试思维等程序设计思维。

科技的发展,创新人才的培养,促使小学进行程序设计教学刻不容缓。农村学校虽然设施相对不足,但在一线教师的努力下结合本校实际,遵循信息技术课程标准和学生发展规律,同样可以设置适合中高年级学生的程序设计课程。每门课程都在多维目标下设置便于学生学习理解的教学内容,采用多维教学策略来进行程序设计教育,培养学生勇于探索、善于思考、勤于表达、敢于实践、互帮互助、乐于分享的多维能力,为学生深入学习程序设计打下了扎实的基础。

(陈洁单位系江苏省常熟市碧溪中心小学,钟柏昌单位系华南师范大学)

责任编辑 邢星

猜你喜欢

程序设计维度知识点
基于OBE的Java程序设计个性化教学研究
关于口罩 这10大知识点你必须知道
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
基于知识维度和认知过程维度的古典名著整本书阅读教学课型探讨
医学专业“Python程序设计”课程教学改革总结与思考
多媒体情境下培养学生阅读素养的三个维度
幼儿教师专业成长的三个维度
知识点自测
“二次根式”复习精讲