基于计算思维培养的中小学编程教育校本课程开发与实践
【摘 要】编程教育是培养学生计算思维的有效方式,被越来越多的国家所重视。本文结合笔者多年的软件编程经历,谈开发编程教育校本教材的一些心得,即如何通过编程教育培养学生的计算思维,提高问题解决能力,通过问题解决和批判性思考,最终实现创造力的培养。
【关键词】计算思维;校本课程;信息技术
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2017)03-0061-05
随着有关计算思维培养理论与实践的不断深入,单纯由“信息素养”观念所主导的信息技术教育越来越不适应当前国内的中小学信息技术教育。重视计算思维培养的发展趋势,让学生全面理解在信息时代的生活环境,并利用所学到的技术,利用学科思维的方式去解决生活中碰到的实际问题。编程教育作为学校校本课程的内容,可以很好地补充当前中小学信息技术课程的不足,满足不同学生的兴趣需求。在编程的过程中,掌握一些算法的知识,扩大学生的视野,增强问题解决能力,给学生带来快乐、减轻压力,使学生在繁重的学习中得到放松。
根据当前信息技术教育学术界主流的思想以及国内外形势的分析,我们认为,编程教育对学生在计算思维的培养方面有着得天独厚的优势,有助于培养学生的问题分析能力和问题解决能力。《上海市中小学拓展型课程指导纲要》指出,拓展课程的科目方案的编制,应充分考虑各年级学生的认知基础、兴趣特点等要素,以提升学生对科目的关注程度与投入程度。由此可见,在中小学开发编程教育校本课程是非常有必要的。
编程教育校本课程开发的策略和方法
编程教育校本课程开发,除遵守基本的校本课程开发要素外,也要有一定的策略和方法。
1. 以项目引领,注重问题分析、解决
通过编程教育发展和培养学生的计算思维,我们需要改变以往学习编程语言的方法。很多计算机专业的学生都学习过计算机编程语言,但是却不能写出一个完整的程序。原因在于,其学习过程中,只是学习表达式、循环、条件判断等命令行,最终只能学到该编程语言的语法结构,而不能应用于现实问题的解决。周以真指出,计算思维培养的关键是“抽象”和“自动化”,不孤立地教编程,一开始就让学生把抽象和实现“自动化”的编程结合起来,这也是我们开发校本教材的总原则。编程只是实现问题“自动化”解决的一个部分,学生通过了解项目中提出的问题和需要解决的问题,一开始就把解决问题的思路与解决实际问题结合起来。在解决问题的过程中,分析问题、规划制定解决方案,并引导学生用批判性思维来衡量方案的可行性,然后再着手实现。
编程教育校本教材,在如何选择项目上,需要遵循一定的方法。
(1)项目主题选择从身边实际问题出发。为培养学生解决实际问题的能力,项目主题要选择接近生活、能切身感受到的主题,这样容易引起学生的共鸣。如日常生活中常碰到平均数的问题,计算商品的平均价格、平均成绩等,让学生考虑如何用计算机科学的思维去解决相应的问题,通过学生对问题的分析和实践操作,推动到相似问题的一般性解决方案中去。
(2)项目主题选择的趣味性。编程教育校本教材项目选择的主题还应该考虑到学生的年龄特点和认知程度,项目主题的趣味性直接影响项目开展和学生实践的效果。选择学生感兴趣、容易理解的项目,可以促进学生对问题的深入思考,并触动其对问题的分析。
2. 以Scratch为载体,降低编程准入门槛
编程教育的开展需要依托一门程序语言。继LOGO语言之后,美国麻省理工学院多媒体实验室推出了一种新的程序式语言——Scratch。这是一种类似于搭积木的可视化程序编写方式,一经推出,就受到了广大初学者的青睐。
(1)可视化编程。相比之前在中小学学生中推行的LOGO、Basic語言,其最大的优势是不需要学生记忆命令行,使用者可以不认识英文单词,也可以不会使用键盘。其构成程序的命令和参数通过积木形状的模块来实现,用鼠标拖动模块到程序编辑栏就可以轻松实现程序编写。熟悉程序开发的人都知道,不同的程序语言只是实现的语法命令不同,在问题解决的思路上是一致的,只是解决问题所编写的代码不同而已。培养学生的计算思维,注重的是培养学生的解决问题的思路,与编写代码的语法没有太大的关系。Scratch正是这样一款可视化的,忽略命令行代码的编程软件,不需要学生去记忆枯燥乏味的命令行,为学生最终实现编程大大降低了门槛。
(2)积木模块类型丰富。Scratch作为一门编程语言,提供了与其他编程语言一样的语法模块,积木模块共分8类,100多种功能。通过模块分类呈现的方式,学生只需要选择合适的模块,将其拖曳到程序的编辑栏,即可使用。
(3)支持的硬件越来越多。随着Scratch编程软件被广大使用者不断青睐,与其对接的外部硬件设备也越来越多,如MakeBlock、Labplus、树莓派等产品。这些产品都结合了硬件传感器,使编程的内容不仅仅局限于电脑屏幕,而是可以通过编程控制外部设备,拓展了Scratch的可编程应用空间。