基于可视化编程培养中学生的计算思维

2020-04-30 06:44邱磊李娟
天津教育·上 2020年1期
关键词:编程可视化解决问题

邱磊 李娟

一、培养计算思维的必要性

信息化改变了人类的生活方式和思维模式,围绕科技创新、人才创新,具有计算思维也成为当今人才所必须具备的基本素养之一,因此,培养学生具备一定的计算思维能力成为基础教育的研究课题。

计算思维的概念由周以真教授于2006年3月首次提出。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

我国《普通高中信息技术课程标准》明确指出,计算思维是信息技术学科的核心素养之一,是指能够采用计算机领域的学科方法界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决过程中。具体表现为解决问题过程中的形式化、模型化、系统化、自动化。

二、培养计算思维所面临的问题

(一)重技术,轻能力

程序设计课程是有效培养学生计算思维的重要课程。在课堂教学中,教师多采用一些例如VB、C语言等编程工具来完成教学内容。为了达成教学目标,教师需要大量的时间去讲解语法以及工具的使用。但是,由于课时的限制,教师将教授工具的使用作为重点,而缺少了让学生自主探究、分析、创新、解决问题的过程,忽视了培养学生能力这一根本目标。

(二)重语法,轻方法

由于大多数中学生是首次接触程序设计,缺少编程基础,程序语法的繁琐与抽象成为阻碍中学生学习的绊脚石。而短短的四十五分钟课堂教学,教师想办法、找策略,忙于解决如何让学生掌握语法的问题,顾此失彼,强化运用技术解决问题这一最根本目标只能匆匆了事,甚至无暇顾及。

(三)重结果,轻过程

信息技术课堂应该是充满探究、合作、创新、解决问题的基于项目化的新型课堂。一个完整的项目,包括发现、分析、探究、讨论、协作、解决、完成、测试、汇报、再改善等多个环节。当前,在信息技术课堂中,教师已经普遍采用基于项目式、主题式的教学方式,但是,受学情及课时的限制,教师只能将整体项目简化为技术解决、完成、測试等部分过程,而不能保证整个项目的完整性。项目中的每一个环节都有各自培养能力的任务及目标,缺少某个环节,对于学生的能力培养就是缺失的、不完整的。

三、可视化编程带来的有益效果

可视化编程规避了抽象繁琐的程序语法,通过直观的拖拽操作,像搭积木一样,在玩的过程中构造出程序逻辑,解决问题,完成任务。可视化编程对于培养中学生计算思维的优势体现在以下方面:

第一,轻技术讲解重能力培养。可视化程序的前期,程序员已将程序代码封装在功能模块中,对于毫无编程基础的中学生来讲,繁琐、枯燥、令人头疼的程序代码是完全透明的,而他们需要做的是好的创意,设计逻辑,拖拽模块,调试程序,解决问题。

第二,轻操作重创意。得益于可视化编程其极富创意的操作方式,可以大大地降低编程成本。使用者的精力从编写代码中解放出来,将重心转为逻辑设计和思维创意。并且每个可视化编程背后都有一个强大的精英团队,他们不断地完善功能模块,使用者不必担心平台可持续使用的问题。

第三,适合基于项目式的教学模式。可视化编程虽然化繁为简,无需使用者编写代码,但是麻雀虽小五脏俱全,整个项目的每个环节都必不可少,都是对学生能力的培养。

第四,更适用于没有编程基础的中小学基础教育。提高学生信息素养中包含了计算思维和创新能力两大培养目标。可视化编程其封装代码的独特性,使其可以很好地对硬件进行控制,将机器人和各种传感器等创客硬件产品结合成模块,便于教师开展创客教育。

四、基于可视化编程的培养模式

(一)计算思维培养模式的几个层面

1.人机交互层面。

人机交互是指学生将生活中的问题转化为计算机可以接受的形式输入到计算机中,通过计算机的处理,输出解决问题。在这一环节中,学生在设计计算机输入、输出的交互过程中培养了计算思维。

2.抽象建模层面。

抽象建模是指学生抓住解决问题过程中的每个环节的关键特征,通过简化的方式降低其复杂度,变为计算机可以处理的模型。笔者认为抽象建模是培养学生计算思维的关键点。

3.功能逻辑层面。

功能逻辑即我们通常说的计算机算法,更通俗地讲,是解决问题的办法。此层面为培养学生计算思维的难点。

(二)基于可视化编程的计算思维培养模式的思考

1.将“总体分解”变为“层层深入”。

在传统的信息技术课堂教学中,教师通常采用“总体分解”达成教学目标。但是,由于学生在教师的引导下统一步调完成任务,缺少差异培养,学生也失去了深入探究思考的机会。可视化编程简化了编写代码与学习语法的过程,只要有好的创意,学生通过思考算法,便可以通过拖拽功能模块实现想要得到的功能。因此,教师可以先布置底层任务,让学生发挥自己的想象力,探究思考,逐渐扩展。在“层层深入”的教学模式下,每个学生具有不同视角,学生得以探究思考,最终实现自己的创意。

2.将“分工协作”变为“小组合作”。

在传统的项目式教学模式中,教师采用分组协作教学策略,学生形成分工,共享成果,但是由于分工的不同,每个学生所涉及的环节不同,每个人对于整个项目是不完整的,学生个体对没有涉及的环节就失去了培养机会,不利于学生计算思维的整体发展。可视化编程简化了技术方案,教师在布置项目后,要求每一个学生独立思考,再与小组其他成员交流分析,取精华去糟粕。这样将小组协作变为小组合作,每个学生都有完整的思考创作过程,同时在择优整合的过程中也学到其他同学好的方法与创意。

3.将“结果评价”变为“过程性评价”。

在传统的任务驱动教学模式中,教师更关注于对任务结果的评价。而学生的计算思维是在不断思索、反思、延伸、拓展中发展的。因此,“结果评价”显然并不利于学生计算思维的发展。

教师在采用基于可视化程序教学模式中,应当布置开放式的任务,逐步拓展问题域,逐级提升任务难度。让学生在完成任务的过程中自我评价,不断反思。一个阶段的任务需要在前一阶段任务完成的基础上形成的新思路、新方法来解决。教师允许延后结果反馈,鼓励学生不断地发散思维,培养他们的创造性思维。

五、教学实践的应用

本文以基于App Inventor培养计算思维的教学实践为案例,阐述基于可视化编程计算思维培养模式的有效性。

App Inventor是—个完全在线开发的Android编程环境。它将复杂的编程代码转变为积木式的堆叠方式,使用者仅需要根据自己的需求,完成简单的代码拼接程序。这是比较典型的模块化可视化编程环境。

这里以“我是一名小画家”项目为例,在此课程之前,学生已经掌握了布局、画布、点、线等相关组件的使用。步骤一,问题设置,教师引导学生分析具体问题,想一想现实中绘画需要哪些步骤,需要哪些基础功能,写出需求分析;步骤二,初步抽象,根据需求利用App Inventor平台,合理地选择恰当的组件及合理的逻辑来验证自己的想法,并写出流程图;步骤三,形成,教师合理分组,要求每个组员独立完成每个环节,包括前台设计以及后台逻辑等,每个环节完成后,小组讨论哪个方案最合理,选出最优方案后再进行下一个环节;步骤四,问题叠加,教师采用启发式教学,引导学生思维延伸,将问题叠加,复杂度逐级提升。在整个实验过程中,学生思维发散、活跃,课堂气氛活跃,符合计算思维的培养课堂教学的要求。

六、结语

《新一代人工智能发展规划》指出,要在中小学实施计算机编程方面的教育。这就为基础教育,尤其是信息技术教师提出了新的课题。本文充分利用可视化编程的易学易用、开发成本低、速度快等优势对中学生计算思维培养提出了一些新的方案。本文在实践过程中,虽然面临着实验对象较少、时间不足等问题,但是实验结果显示有益效果明显。

(责任编辑左毓红)

猜你喜欢
编程可视化解决问题
浅谈列方程解决问题
数据可视化设计在美妆类APP中的应用
“解决问题的策略:一一列举”教学实录与反思
思维可视化
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
复变函数共形映射的可视化实验教学
复变函数共形映射的可视化实验教学