面向计算思维培养的小学编程教育课程体系初探
摘 要:世界各国将编程能力的培养落实到国家政策,根据青少年不同学习阶段制定相应的学习内容,并将编程教育充分融入校内课程。我国部分省市的中小学虽然已开设编程必修课,但是都处在探索阶段,课程体系并不完善。本文针对当前适合小学生的编程语言进行分析,并根据小学各学段学生的学习特点,总结出一套相对完善的编程教育课程体系,尝试运用于课堂教学实践。
关键词:计算思维;编程教育;课程体系
1计算思维的概念与编程教育的内涵
1.1计算思维的概念
计算思维最早由周以真教授在 2006 年提出,计算思维是指应用与计算基本原理相关的理念来解决问题、设计系统、理解人类行为的一种思维方式。计算思维是人类的思维方式,建立在计算过程的能力和限制之上,是每一个人的基本技能,而不仅仅属于计算机科学家[1]。
2016 年《普通高中信息技术课程标准<征求意见稿>》明确提出计算思维是指“个体在运用计算机科学领域的思想方法形成问题解决方案的过程中产生的一系列思维活动”。
1.2编程教育的内涵
2011 年研制的《K-12 计算机科学标准》将编程教育的内涵界定为培养计算思维,计算实践和编程两个层次。其目的是通过编程语言的学习,培养学习者的计算思维,从而提高批判思维和解决问题的能力,最终目标是培养学习者的创新创造能力[2]。其概念模型如图 1 所示。
目标 | ||
图 1
2构建面向计算思维培养的小学编程课程体系
根据小学生的认知规律、身心状况及能力水平,针对编程教育的特点与小学生编程思维能力培养的过程,对照不同学段划分为五个阶段。二到五年级主要利用学校开设的每周一次的选学课程进行教学, 六年级由于学校缺乏机器人及物联网相关设备,所以摒弃信息技术教材,以 Python 为主要教学内容,利用信息课进行教学。如表 1 所示。
阶段 | 内容 | 年级 | 开设时间 | 学段 |
Level1 | Scratch Jr 启蒙 | 二年级 | 选学课 | 低年级 |
Level2 | Scratch 基础 | 三年级 | 中年级 | |
Level3 | Scratch 进阶 | 四年级 | ||
Level4 | Python 基础 | 五年级 | 高年级 | |
Level5 | Python 进阶 | 六年级 | 信息课 | |
表 1
2.1低年级开设以 Scratch Jr 为主的编程课程
Scratch Jr 是一款基于平板电脑的编程语言,可以用于编程教学的启蒙。学生只需要通过拖拽图形化的编程模块,就可以创造出互动故事和游戏。
Scratch Jr 上都是指令模块全是图标的形式表示,这让低年级的孩子们更加容易理解。它还是保留了最基本的编程概念,比如事件、序列、以及迭代等等。
第一阶段通过 Scratch Jr 的学习,了解简单编程概念,熟悉Scratch Jr 界面基本操作;培养逻辑思维能力,理解程序设计机制, 培养创造力。
2.2中年级开设以 Scratch 为主的编程课程
Scratch 是美国麻省理工学院面向青少年开发的一款图形化编程软件,与Scratch Jr 相比,它将指令模块扩充为动作、声音、外观、控制、画笔、侦测、数字与逻辑运算、变量 8 大
类。每个大类下面又包含若干小的指令块,并辅以适当的文字说明,学生只要根据指令块的文字就可以明白该指令块的作用。
第二阶段学会使用Scratch 进行顺序、判断、循环等程序编写, 了解常见的数据类型,了解不同模块使用,完成简单项目,初步锻炼学生编程、逻辑及空间思维能力。
第三阶段熟练掌握Scratch,了解复杂设计,了解简单算法原理和实现方法,能够将实际问题抽象成数学模型,能发挥自己独特的想象力和别具一格的创造力,独立设计充满个性的小游戏或情节丰富的小故事,从而大幅提升逻辑思维能力、独立设计程序的能力及表达和沟通等各方面的综合素质。
2.3高年级开设以 Python 为主的编程课程
Python 编程语言相对于 C++,Java 等其他编程有着“优雅、明
确、简单”的特点,与自然语言很接近,小学生能够容易理解和编写Python 语言相关程序。
同时,Python 提供了极为丰富的第三方模块, 使得学生在学习Python 的基础语法后,可以立刻利用它来解决实际的生活问题。
第四阶段熟悉 Python 语言基础语法知识,适应从图形化编程到代码编程的转变;可以让学生利用Python 语言来实现以前 Scratch 做过的例子,完成自然过渡,同时培养学生思维转化能力。
第五阶段掌握 Python 基本数据类型,语句结构和函数的使用; 对实际问题可以抽象出数学模型并解决,逐渐形成利用编程解决实际问题的意识。
3面向计算思维培养的小学编程课程教学策略
3.1基于学科融合的教学策略
我们可以将编程教学与音乐学科融合,利用 Scratch 的“播放声音”模块,来给我们的做的游戏或者故事加上适当的音效,使其更加生动;利用“声音”模块的“弹奏音符”控件修改音高和节拍时长, 进行乐曲的脚本编写,弹奏出学生耳熟能详的歌曲如两只老虎、小星星等;对音乐水平较高的学生,甚至可以再结合“设定乐器”模块, 改变音,进行多人合奏或者实
现个人编曲。
我们也可以将编程教学与美术学科融合,利用Scratch“画笔” 模块或者Python 语言中的 turtle 海龟库,让学生画一些简单图形或者设计个性化的图案。比如我们可以改变画笔的颜和半圆的半径,绘制出彩虹;利用随机数,图章等绘制出满天烟花;利用定义变
量结合递归的方法绘制出雪花等等。
我们还可以将编程教学与数学学科融合,利用 Scratch 的“变量” 和“数字与逻辑运算”,结合四年级数学《认识多位数》,利用编程实现从个位开始依次输出一个多位数的每一位数字;结合五年级的
《倍数与因数》,利用编程寻一个数的全部因数;结合六年级的《解决问题的策略——假设》中的鸡兔同笼问题,利用编程来求解鸡和兔的数量等等。
3.2基于游戏化理念的教学策略
基于游戏化理念的教学策略游戏化是使用游戏机制和游戏化体验设计,数字化地鼓励和激励人们实现自己的目标[3]。游戏化教学策略主要有两种形式,第一种是将计算思维的内容理念等融入游戏中, 利用他们天生爱玩游戏的特质,把所要讲授的知识点融入到游戏关卡当中,掌握了相关知识即可过关。通过大量有趣的关卡,让学生对语言的应用有一个比较直观的认识;第二种是从学生常玩的经典小游戏入手,例如打地鼠、飞机大战、贪吃蛇、植物大战僵尸等等,把知识点融入到游戏设计当中,将学生从游戏玩家转变为游戏设计者,让学生在游戏设计过程中提升计算思维。
3.3基于项目学习理念的教学策略
以项目(问题)为导向的教学方法(problem based learning, PBL)中包含提出问题、规划方案、解决问题、评价和反思五个关键环节。课堂上,老师引导学生思考如何根据实际问题,完成程序的编写,鼓励学生用不同的方法表达自己,与其他同学进行交流合作,同
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论