基于计算思维培养的初中Scratch编程课程实施与研究
2018-01-17王世达
王世达
随着信息技术的发展,特别是人工智能时代的到来,编程能力和计算思维成为21世纪的核心技能。初中是学生成长过程中非常重要的一个阶段,通过实施Scratch编程课程,能够培养学生的计算思维、逻辑思维、创新能力,整体提升他们的信息素养和综合能力。本文对区级课题“基于计算思维培养的初中信息科技‘Scratch编程课程实施与研究”的成果与经验进行总结,并提出相应的建议。
一、研究背景
1.时代发展对学生计算思维与编程能力的要求
随着信息技术的发展,特别是人工智能时代的到来,计算思维和编程能力成为21世纪的核心技能。2013年底,美国非营利性组织 Code.org发起“编程一小时”倡议和活动,旨在让学生们不再认为编程是一件神秘并且遥不可及的事情,任何人都能从基础学起。但以往初中课堂一直缺少一款适合的编程软件,而麻省理工学院(MIT)开发的Scratch软件通过积木式指令让学生有机会去思考、表达、创新,成为对学生进行计算思维训练的有效载体,已经成为世界上使用最为广泛的模块化编程软件。
2.探索通过课程实施整体提升学生信息素养的需要
初中信息科技的主要目标是培养学生的信息素养。从2014年起,上海市普陀区就对教师开展了相关培训,而在2017年新版《上海市初中信息科技学科教学基本要求》(下称《教学基本要求》)中,已经明确写入了以Scratch为实施平台,让学生体验人机交互与编程。通过课题,可以不断丰富Scratch教学内容、收集案例、积累资源,拓展课程实施的内涵,同时根据不同学校、不同学生的情况,提炼不同类型的教学建议,整体提升学生的信息素养。
二、概念界定
1.Scratch
Scratch是由麻省理工学院设计开发的一款面向儿童的可视化编程工具。通过让孩子们创建游戏、视频和音乐,教会他们一些编程基本概念。学生不需要死记硬背,通过拖拽的方式即可轻轻松松地学会编程。
2.计算思维
计算思维是2006年3月由美国卡内基·梅隆大学计算机系主任周以真教授提出的。它是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为,本质是抽象和自动化。计算思维以计算机学科为代表,反映了计算的根本問题,即什么能被有效地自动进行。
三、研究方法
1.文献研究法
通过对国内外计算思维、Scratch编程等方面的专著、论文等进行查阅分析,了解相关的研究经验成果和前沿动态;通过对各种Scratch教材中的活动、案例等进行深入解读、分析与改进,形成对研究有价值的指导和借鉴。
2.行动研究法
根据制订的研究计划,在本区4所初中信息科技教学活动中开展实践探索和反思,形成一批Scratch教学课例集(教学设计、教案、实录、反思)和学生作品集。在实践中积累课例、发现问题、分析原因、改进方法、总结经验,丰富初中年段信息科技课程的教学内容。
3.调查研究法
设计调查问卷和评价量表,开展调查研究,收集数据、分析数据,将抽象的计算思维能力转化为可观测、可评价的一些指标,对具有典型代表性的教师和学生开展访谈,了解学习Scratch编程对学生计算思维能力培养的效果;分析Scratch对学生计算思维培养产生的效果,并修改完善评价量表。
四、实施过程与策略
1.基地学校落实重点目标与区域整体推进相结合
根据前期文献研究,综合得出与Scratch紧密相关的关键字。截至2017年12月,前三位依次为:Scratch+游戏,共25篇;Scratch+计算思维,共19篇;Scratch+STEM(含STEAM),共12篇。
课题组的4所基地学校根据参与教师的研究特长,从这些关键字中提取、确定个人的研究方向,开展有针对性的探索。4所基地的主要研究方向与分工如下表所示。
同时,将Scratch教学内容扩展到近20所初中,通过信息科技课中的新技术探究以及拓展性课程开展了面上的实践。
通过点上课题基地学校重点突破、面上区域整体探索的形式,区内近50%的初中开展了Scratch编程教学,实施的途径主要有单独设立Scratch拓展课、在信息科技的新技术体验模块中实施和通过兴趣小组及社团以参加相关竞赛带动。
2017年12月发布的《教学基本要求》中也正式增加了“人机交互”的相关内容,通过让学生使用Scratch编程实现和体验人机交互程序,而2018年的初中信息科技学业考试也正式将Scratch纳入了考核内容。课题组的实践为区内各校开展Scratch编程教学,打好对接《教学基本要求》的基础做好了准备。从对学业考试中涉及Scratch的两道试题的分析来看,实施了Scratch教学的学校整体比未开展的学校得分率高21.4%。
2.游戏主题让学生体验从“玩家”到“设计师”的转变
游戏是学生非常感兴趣的内容,以游戏为例开展Scratch编程学习能够激发学生的学习动力,体验从“玩家”到“设计者”的转变。课题组在硬件条件较好的江宁学校运用PicoBoard、WeDo套件、传感器等开展了研究。
在实践中,教师通过学生熟悉的三个游戏《超级马里奥》《不要停!八分音符酱》《王者荣耀》,分别设计了“超级马里奥——用滑杆控制角色移动”“不要停!八分音符酱之声音传感器应用”“王者荣耀之光线传感器初体验”三个项目活动,将学习内容与学生体验过的游戏相结合,通过滑杆、声音、光线三种传感器的应用提高学生学习兴趣。同时通过布置任务自主制作游戏来引导学生进行“玩家”到“设计者”的角色转换,巧妙创设问题情境,激发学生学习认知内驱力,引导他们深入理解传感器在Scratch编程中的作用。
课题组发现,由于学生编写的程序都是自己曾经玩过的游戏,因而减少了设计游戏内容、规则、人物等众多环节,能够快速切入编程学习的主题;而从参考游戏范例、修改范例再到对范例进行再设计、再创新,有效降低了学习难度,让学生克服了学习编程的畏难情绪,逐步掌握编程技能。学生了解了原来自己热衷的游戏也是通过编程实现的,进一步提高了学习编程的热情,同时迷恋游戏的情况也有所减少。
3.以问卷星为平台,开发单元网络学习支架
模型化是计算思维中的一个重要指标,让学生通过网络学习平台开展自主学习,也是建立学习方法模型的一种途径。同时,由于信息科技课程课时有限,使用网络平台也势在必行,课题组在延河中学开展了基于问卷星的Scratch网络学习支架的实践。
课题组将每个单元设计为学习资源、3e学习单、作业提交三部分。其中学习资源主要是学生的学习支架,包括微课、微视频等。教师在课前可以制作微课或微视频,发布到平台上,让学生在学习之前或者学习遇到困难时,通过学习资源来开展自主、探究学习。3e学习单分别是课前预学单、课中探索单和达成自测单,包括学习目标、任务操作要求、在线练习、自我测试、评价反馈等功能。直接让学生利用Scratch去编程实现还是有一定难度,教师可以将每个程序的学习过程分解为若干个易于解决和实现的小任务,让学生通过问卷星中的关联逻辑功能查看学习任务,并按照学习任务的要求层层递进完成任务。此外,一般还会在3e学习单中设计1~2道测试题,通过平台的统计,教师可以了解学生的姓名、答题正确率、答题时间和答题的具体结果。而在课后则让学生通过平台提交作业,并完成对课程以及自身学习情况的评价量表,通过多元化过程性评价,锻炼学生归纳与概括的能力,也可以让教师了解到每个学生的学习效果。
4.通过不同方式,测评学生计算思维的培养效果
对学生计算思维提升情况的评价一直是研究的难点,课题组根据上海师范大学王旭卿教授将计算思维分为计算概念、计算实践、计算观念的建议,以铜川学校为实践基地,通过测评题、任务型作品和开放型作品三种不同的方式,来对学生的计算思维进行测评。
计算思维评测题以主观选择题的形式,考查学生将计算思维能力应用到生活中具体事件的能力,包括前测题和后测题两个部分。测试均为百分制,分析Scratch编程对学生计算思维培养的作用。评测后发现,学生计算思維后测题的正确率相比前测题的正确率明显提升,即Scratch创意编程的学习对学生计算思维能力的提升有明显的帮助。
任务型项目活动作品需要学生完成限定内容的程序作品。教师制定相应的评价指标,分别给予作品“优秀”“良好”“需努力”三种等第的评价,最终统计出全部作品评价等第结果,并对其统计分析完成评测综述。课题组发现,学生的学习大致可分为四个阶段:初始学习内容虽然简单,但由于学生并不理解计算思维,评测结果中“良好”居多;随着学习的深入,学生逐渐理解适应了计算思维的学习,“良好”逐渐转化成“优秀”;而随着程序学习中较难的链表、循环等内容的出现,学习又产生了一定的困难,学生“优秀”率下降;而后在整个编程体系逐渐完善之后,学生对知识与技能逐渐内化,并逐渐习惯了计算思维这种思考问题的方法,于是“良好”又再次大量转化成“优秀”。但随着学习难度的提升,存在着“掉队”的学生逐渐增多等情况。
开放型项目活动作品要求学生以小组合作形式完成自选内容的程序作品。除了包含学生在项目过程中的各项表现以及项目资料各项指标的自评、互评、师评外,还包含项目程序的单独评测。项目程序的评测包含两方面:一方面是项目程序的完整性,从游戏初始化判断、角色对话、人机交互、角色交互、计分机制、游戏结束判断这6个方面进行评测;另一方面是教师针对每个程序的个性化点评。这个评测标准本着开放的原则进行,主要从学生的程序作品中捕捉其思维动向,以发现其计算思维能力的成长。课题组发现,学生经过学习,其计算思维、编程能力均有一定提升,但也存在学生对程序效果的预期过高等情况。
五、结论与建议
1.结论
(1)Scratch编程对学生计算思维培养有一定的促进作用。通过实践研究,各基地学校学生对Scratch编程有了一定的了解,学生计算思维能力与不开展Scratch教学的学生相比有所提升。
(2)各基地学校对教学内容与资源的优化整合,有效推进了课程的实施。通过建立在线自主学习平台、开发基于游戏的程序学习内容,激发了学生的学习兴趣、拓宽了学习途径,也在一定程度上解决了初中信息科技课时少、内容多的困境。后续将对各基地校形成的优秀课例、教学资源、学习平台进行梳理,配合课题形成的教学资源、平台共享给区内各学校,为后续信息科技人机交互内容的教学提供经验与借鉴。
(3)对初中学生计算思维的培养也不仅仅局限于Scratch等模块化编程软件。在信息科技的项目学习过程中,通过项目活动任务要求的布置、明晰,对工作步骤的优化,其实也体现了计算思维中的抽象、建模的核心。
2.建议
(1)编程教育的目标不仅仅是教会学生编程,更重要的是培养学生的思维。后续将思考如何超越传统的编程教育,将编程、计算思维与工程思维进行结合,通过跨学科、STEM的方式从信息科技学科的计算思维培养拓展到生活中用计算思维解决问题的能力。
(2)尽管课题组验证了Scratch编程教育对学生的计算思维培养有一定帮助,但由于课题仅开展了两年时间,仅对学习了一年的学生进行了测量,因此后续还要通过长期的跟踪观察,来综合评估学生计算思维培养的实际效果。
(3)随着教育部《普通高中信息技术课程标准》的出台,初中也需要在目前模块化编程的基础上,开展人工智能编程语言Python的探索,为后续编程教育的进一步推进打好基础。