浅谈图形化编程中学生编程思维的培养
2021-12-24邓坚
邓坚
[摘要]由于信息化技术的发展越发快速,信息技术教育越来越被重视,近几年来,随着以图形化编程的兴起,普及编程教育也成了一种必然的趋势,日本、韩国以及欧美各国早已将编程教学纳入小学的必修课。然而,编程教育的发展离不开编程思维的培养,本文笔者根据自身的教学经验,就如何培养学生的编程思维提出自己的建议。
2000年,教育部发布了《关于中小学普及信息技术教育的通知》和《中小学信息技术课程指导纲要》,此后,我国信息技术教育改革在基础教育阶段迈出了第一步。在接下来的十年中,中小学的信息技术教育必将继续引起国内学校和国际社会的大幅度范围的关注,并将逐渐发展成为当代我国基础教育不可或缺的一部分。随着图形编程工具的出现,促进编程教育的发展已成为我国中小学教育的重要选择。 2017年7月,国务院发布了《新一代人工智能发展计划》,倡导在基础教育阶段发展儿童程序教育。2018年,教育部发布《普通高中信息技术课程标准(2017年新版)》,提出信息技术学科的核心素养,以信息意识、计算思维、数字学习与创新、信息社会责任的四个核心要素组合而成。由此可见,在学校教育中培养学生的计算思维能力尤为重要,而编程能力的培养将成为培养学生计算思维能力的良好切入点。2019年3月,教育部公布《2019年教育信息化和网络安全工作要点》,明确提出在中小学教育中开设人工智能相关课程,逐步扩大程序化教育发展。由此可见,随着时代的变迁,编程越来越受到重视。特别是图形编程平台的出现,给中小学编程教学带来了新的机遇。目前,儿童编程教育课程已进入教学阶段。少儿编程教育课程能有效地提高学生的创造力,使他们在实践活动中愉快地学习。在这种学习氛围中,学生的创新能力可以得到显著提高。少儿编程教育对我国教育发展而言既是機遇,也是挑战。
在国外,早在2012年,日本已正式开始在中小学阶段普及编程教育。《学习指导要领》报告指出,要在2020年之前实现对中小学义务教育的全面强化引导。2014年7月,编程教育被学校列为英国5-16岁阶段学生的必修课。2016年初,美国前总统奥巴马明确表示,每一个美国学生在小学都应该拥有最简单的编程技能。此外,为全面推进儿童编程教育,韩国、新加坡等国将编程纳入中小学正式课程,并在中小学考试中增设编程测试。
一、图形化编程
图形编程是一种新的编程模式。它不像以往的编程软件,学生不需要程序员来学习如何用C语言和python等高级开发语言编写文本代码,他们也不需要通过敲打键盘来完成代码的编写。相反,他们可以通过使用一些图形模块完成简单的文本编程。
图形编程的基本形式主要是图元模块。图形编程就是将一些传统的图形文本应用程序代码直接封装起来到一个图元编程模块中。每个模块都有自己的逻辑,并以控件的形式出现在图形编程区域中。每个图元模块根据各自的功能可分为数据、变量、函数等类型。作为图形程序的一部分,这些图元模块将执行各自的功能。用户仅仅需将一个图元处理模块与其他图元模块进行简单组合就可以轻松完成整个图形处理程序的整体设计。它可以完成软件游戏或硬件电路的设计,容易上手的入门、简单的操作以及生动美观的界面,不仅易于练习,而且适合各级用户学习。
图元模块可以重复使用,即不同类型的图元模块可以同时存在于图形编程区域中,并且它们之间没有冲突。图形编程软件中有一个软硬件模块库,其中包含各种类型的图元模块及其信息。信息结构是一样的,所以用户可以一起读取出来。不同编程模块之间的连接决定了程序操作的顺序和数据传输的方向。用户可以通过操作原语模块来设计程序。基本模块的操作一般包括改变基本模块的位置和设置参数。
图形化编程具有门槛低、包容性强、易操作等优点。在过去的十年里,它在各个领域都取得了很大的进展。特别是在儿童教育领域,简单快捷的图形编程功能可以让学生快速理解,新颖美观的操作界面可以获得学生的关注。这些都是传统文本编程无法达到的效果。激发学生编程兴趣后,学习复杂的编程知识就不会觉得难以应付或无聊。总而言之,少儿图形化编程不仅可以增加编程的乐趣,而且可以降低学习的门槛和难度,教会学生“编程思维”。
编程思维可以说是儿童学习编程的一项核心技能。儿童学习编程的目的不是培养未来的“编程猿”和“攻城狮”,而是为了更好地培养少年儿童孩子的编程程序逻辑思维能力和解决实际问题的逻辑思考能力,使得孩子在发现和解决实际问题时可以更全面、清晰地进行思考,提高他们的发现和解决实际问题的意识。那么,要如何才能培养儿童的编程思维呢?
二、教学中培养学生的编程思维
课堂教学是当前基础教育的主阵地。充分利用这一优势地位培养学生的程序性思维,具有参与面广、持续时间长的优点,有利于学生的长远发展。在小学课堂中,大多数教师都是以课本为基础进行讲授。教科书的质量将直接影响学生的学习效果以及他们的思维方式。因此,在培养学生的程序思维能力的教学过程中,教师需要适当优化课堂内容。
同时,我们也可以在学科教学中渗透编程理念。在学科教学中,特别是在数学教学中,编程的概念也能得到很好的渗透。数学与编程一样,这也是一种典型的应用逻辑思维和理性思维的课程。这两门学科都可以在遇到问题时分析出一些问题因素之间的内在联系,然后寻找解决这些问题的途径和方法。良好的逻辑性思维能够减少心理因素对思考的影响,避免当遇到问题的时候因心理因素而无法克服的困境。同时,计算机与数学学科的相容不仅仅表现在思维层面,在内容方面也存在着诸多的相同,例如,在渗透变量概念时,教师可以用数学知识用字母来表示数字和方程;在理解坐标数组时,教师可以用数字对来确定位置和比较;在培养辨别能力时,教师可以从找规律中进行关联。关于问题解决和可能性(排列和组合)的知识是未来编程基础实践训练的逻辑基础,在语文教学中,连接词教学与叙事之间的因果关系是逻辑的,这与计算机语言的逻辑操作也是一致的。
三、游戏活动中培养学生的编程思维
游戏教学是指运用游戏进行教学的具体学习方法,也是教育游戏的理论支撑。快乐学习是游戏学习的基本概念,类似于古代的“寓教于乐”。
教学过程可以借助游戏开发来进行,教师从学生感兴趣的游戏开始着手,借助图元模块,让学生利用图形编程软件分别或集体设计小游戏,激发学生对学习信息技术的兴趣。通过设计不同的级别,让学生在课程中对程序有更直观的理解。丰富有趣的游戏教学方式能牢牢抓住课堂教室中每一位学生的注意力,使得学生在课堂实践中能够获得更多的成就感。同时,运用游戏学习的理论指导课程教学实践,以游戏为主要媒介鼓励学生进行交流、发现和反复的尝试,可以充分激发学生对代码编程的兴趣,帮助学习者在课堂上实现快乐的学习,进而充分享受到自己学习的乐趣,使枯燥的代码编程学习丰富有趣。将游戏学习理论应用于教学活动的实质是充分发挥游戏的教育作用,避免以往学生对教学活动不感兴趣的局面。学生在游戏中必须要积极地探索和正确理解游戏的规则,在这一过程中,培养了学生归纳和分析的能力;在转变为游戏中不令人满意的部分过程中,提高了学生的处理和解决实际问题的能力,创造性的思维能力和逻辑思考的能力;有的游戏有时候需要一定的知识和技巧,为了更好地保证这个游戏的正常顺利进行和开展,学生在研究游戏的过程中会花费自己的时间和精力来共同发现和解决这些问题,培养自己的小组合作意识和能力;有的游戏需要一定的技巧,为了保证游戏的顺利开展,学生在开发和学习游戏的过程中会花费自己的精力共同解决问题,培养自己的团队合作能力。
四、利用思维导图培养学生的编程思维
在我国大部分传统中小学的信息技术课堂教学中,教师往往比较注重学生的操作技巧。这就使得教师和学生更加重视其结果,却完全忽略了“为什么要达到这个效果“以及“是什么原理"这些重要的问题,这常使知识与具体的逻辑思维相互脱节,成为“死知识”。在这种情况下,教师讲些什么,学生就会做怎样,学生则缺少自己的开拓创新精神。因此,在进行编程教学的过程中,教师甚至可以通过运用思维导图清晰明确显示“隐性”的思维流程和方法。随着探索性思维的深入,学生能够逐步地形成在思维过程中直观有序的地图。
通过直观的图形和连接线的形式,学生不仅了解了编程问题的思维过程和子程序之间的具体关系,简化了程序的算法和过程,而且更容易理解和接受。在实际的编程教学中,教师可以利用可视化学习工具帮助学生阐明编程思想,优化解题思路和方法,对编程过程、数据和结果进行对比分析,从而简化编程过程。在编程教育的课堂教学中,针对具体问题,编程可能需要使用跨学科,跨章和跨年的知识。通过使用适当的思维导图,可以将这些分散且相对独立的知识点进行清楚地关联,从而帮助学生有效地提取各种信息,并使凌乱而丰富的知识内容生动易记。
五、日常生活中培养学生的编程思维
学习的最终目的绝不只是单单的掌握知识,而是为了运用到生活当中,学习与生活是相辅相成的,离开了生活的学习就只是无源之水,无本之木,无法运用到生活中的知识也就只是一堆“死”的文字。因此,真正的知识应该是来源于生活而回归生活的,同理,学生编程思维的培养与日常生活也有在不可分割的关系。例如,学生可以在家里学习组织一些常见的事情,在整理物品和材料的过程中,让学生逐渐学会思考物品的分类、组合、包装和储存。在这个过程中,学生要思考事物的特点,比较不同的事物,它们是相关的还是相互排斥的,这对思维训练也有很大的帮助。
六、结语
随着编程教学越来越被重视,编程工具种类繁多,知识更新速度非常快。教师不仅必须在有限的时间里传授给学生一些知识,而且还需要传授給学生一些掌握知识点的技巧,并且需要培养他们的思考能力和处理问题的意识。图形化编程可以有效地协调和帮助我们的学生分析思考问题,说出解决这个问题的方法和思路,并在整体的逻辑规划中训练和培养他们的思考能力。