时间:2024-05-07
荆倩倩
摘 要:随着信息化时代的到來和人工智能技术的发展,小学阶段编程教学越来越受到重视。图形化编程和python编程是小学开展编程教学的主阵地。基于这两种平台的编程课程的异同点,结合课例给出课程实施建议。
关键词:小学信息技术;编程教学;图形化编程;python教学
中图分类号:G623.58 文献标识码:A 文章编号:1009-010X(2021)25-0055-04
20世纪中叶以来,随着计算机科学、脑科学、认知科学的发展,人工智能技术也进入了飞速发展阶段,世界多个大国陆续将人工智能技术的发展上升为国家战略层面。这就对教育提出了新的要求。在2017年国务院发布的《新一代人工智能发展白皮书》中指出“在中小学阶段设置人工智能相关课程,逐步推广编程教育”,编程课堂成为小学开展人工智能教育的主阵地。目前小学的编程课程主要分为两类,基于图形化平台的课程以及基于代码编程的课程,其中,代码编程多以python(简洁、易读、扩展性高)为主。本文将比较图形化编程和python编程课程的异同,并基于其共性和特殊性总结课程实施的建议。
一、 小学编程课程的基本特点
(一)以发展核心素养为总目标
在小学阶段,代码编程课程主要是基于python语言进行的,其主要原因是python语言是解释型、弱数据类型的语言,对入门学习者相对其他代码编程友好。图形化编程软件目前平台较多,教学资源也比较丰富,但其架构类似,本文使用的软件是Mind+。但无论选择基于哪一类平台的,图形化编程和代码编程的总目标是相同的:通过课程帮助学生提高信息技术学科的核心素养,编程主要指向的核心素养是计算思维,因此在课程设计中应该重点思索如何助力学生发展计算思维。
(二)编程核心概念引领教学
图形化编程和代码编程看似差距很大,但其核心的编程概念是相同的。这也是图形化编程软件开发者的初心:摒除代码编程语义、语法抽象度高的问题,基于面向对象的编程理念和基础的编程概念设计了积木化的模块编程。下图总结了在小学阶段两种编程软件学习的核心概念。
(三)基于问题设计课堂
与成人相比,小学生在学习知识的过程中的“功利性”更加明显,此处的“功利性”是指学生对明确为什么学、学了可以干什么的知识学习效果更优。编程之所以被发明也是为了帮助人们使用计算机解决实际问题。因此小学阶段的编程课程应该坚持从问题入手,面向解决问题进行知识的学习。同时编程是一种内源性知识,学习难以仅仅通过书本的间接经验真实发生,将编程应用在问题解决中是学习编程最有效的途径。
二、 图形化编程课程与python编程课程的差异
小学图形化编程和代码编程课程在核心概念上是统一的,但教学设计的侧重点不尽相同。这些不同主要是由于编程软件的特点、学生学情不同造成的。
(一)学情差异
从学生学情上看,学生一般先学习图形化编程再学习代码编程。以我校为例,四年级开始学习图形化编程,五年级下学期开始python学习。这就意味着,在学习这两种编程时,学生的知识积累、认知水平、抽象思维发展程度都有差异。
(二)软件环境差异
从软件特点上看,python编程严格的语法格式,要求使用者思维有较高的抽象能力。虽然python本质上是面向对象的编程语言,但是在中小学的课程中几乎都是基于面向过程的设计模式进行的。而图像化编程将程序结构高度模块化,因此避开了抽象的语法学习,且其基于角色的设计也更接近于面向对象的编程模式。
三、课程实施建议
很多区域小学阶段没有统一的编程教材,一线教师需要依据课程标准和教学大纲自主开发课例或者基于已有资源进行二次开发。目前图形化编程和python编程的课例比较丰富,笔者认为,课例的选择需要兼顾几点:从知识层面,要结合编程工具的特点,关注项目背后的编程核心概念;从情感态度层面应选择正面的、学生感兴趣的项目;从学生发展层面,关注学生年龄特点、思维发展特点,确定项目的复杂程度。笔者将以图形化编程和python编程环境下的循环结构的系列课程为例,给出实施建议。
循环结构、顺序结构、选择结构组成程序的三大结构,循环的思想也是在分析问题时拆解问题的利器,同时容易迁移应用到其他学科,因此基于图形化编程和代码编程的课程都会对循环结构展开学习。为此我们设计了循环结构的单元课程。以下两个表格分别给出基于图形化编程和python编程的循环结构课例。
基于以上课例,笔者认为小学阶段编程课程的设计可以参考以下原则。
(一)基于核心概念设计教学
图形化编程和代码编程课例形式虽然多样,但设计者应该把握其内在的编程核心概念。尤其是图形化编程,它所呈现的作品比较丰富多彩,学生在学习过程中有时候会被绚丽的效果吸引,而难以进行有序的深度学习,因此需要设计者把握核心概念,有的放矢的设计课程。如在循环这一章,第一节是海底世界,课程设计是借助学生喜闻乐见的项目为明线,以学习循环的概念为暗线进行。此处用到的是无限循环,由于不需要考虑循环次数和结束循环的条件,因此是最容易被学生接受的循环概念。这种基于核心概念设计图形化编程,使原本看似零散的项目赋予了主线与脉络。
python代码教学相对于图形化教学,知识脉络更为清晰,大多数的教材也是从核心概念出发设计的课程。但在备课中,授课教师清晰的概念把控,有助于帮助学生更好的层层深入、开展学习。
(二)注重思维深度的衔接
基于核心概念出发设计课程,并不是说不同的平台下教授的内容是一样的,这是由学生思维的发展性和不同编程软件的特点决定的。在图形化编程的课程中,学生是第一次接触编程,因此好奇心的保护、兴趣的培养都极为重要。图形化编程除了可以发展学生的计算思维外,也可以给学生新的表达自我的平台。这一阶段,思维层面的难度更易于缓慢升高,给学生足够的尝试时间和表达机会,同时潜移默化地学习基础的编程知识。
而python代码编程是软件工程师会使用的软件,这就意味着它的专业程度较高,技术门槛也较高。分析小学生学习python的过程可以发现,高度抽象的符号化编码、严谨的语法格式是入门的难点。因此这一阶段可以借助图形化编程的例子,使用python实现,这样学生更容易从情感上接受为什么要学,如在for循环的学习中,前两节同样是借助画多边形进行的。基本的语法结构掌握后,再循序渐进地开展小型的综合项目学习。
(三)善用认知冲突,搭建思维脚手架
如前文分析,学生在学习编程时,先出示问题,基于问题学习知识,有利于学生对知识在情感上接纳,这是主动学习的开端。这就要求教师在设计课程时,要基于问题情境,给学生制造认知冲突,学生发现自己已有的知识体系没有办法解决问题时,再提供思维脚手架,学生借助其解决问题的同时学习新知识。由于每节课的时间有限,应该注意在进行课程设计时,尽量帮助学生合理规避教学重难点之外的问题,帮助学生更好的聚焦本节学习重点。
(四)课堂气氛
编程知识梳理起来仿佛不复杂,难点是怎样把其应用在解决问题中,这也是知识内化的过程。而这个过程中,试错是必经之路也是重要的学习过程。因此教师应着力构建让学生在规则内勇于试错的安全的课堂氛围,这种氛围就是错误得到欢迎和关照的环境,因为我们从错误的反馈中受益良多,以至于我们能够从错误方向或尚不得心应手的正确方向中获得积累。
不论在图形化编程或是python编程的课堂上,学生的发展都是我们要考虑的第一因素。在信息化时代,学生学习编程知识能够更好地理解未来社会,迎接挑战。想要实现这一目标,我们应继续探索更有效的教学策略、设计模式,让更多的孩子爱上编程,受益于编程。
参考文献:
[1]约翰·哈蒂.(2015)可见的学习[M].北京:教育科学出版社.
[2]张晓东.基于计算思维培养的小学编程教学模式研究——以Scratch编程教学为例[J].中国信息技术教育,2019,(24):35~37.
【责任编辑 王 悦】
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!