Blockly教学实践探究
2017-12-29胡红云��
胡红云��
摘 要:在Blockly的实践教学中获取经验,从Blockly的特征出发,通过不同的教学手段、合理的课堂实例选择将其展现在学生面前,让学生真正体会到Blockly的程序设计理念。
关键词:Blockly;程序设计;块语言
今年本校信息技术对于2016年入学的新生从第二学期开始开设新的知识点“Blockly程序设计”课程的学习,不知不觉十二个课时过去了,Blockly的学习也接近尾声了。经过一轮的实践,从最初的无从下手到现在的得心应手,感触颇多,与大家分享我这几个月的实践探究心得。
一、 Blockly是什么?
Blockly是2012年6月由Google开发发布的基于Web可视化的编程语言,类似MIT的儿童编程语言Scratch,使用者可以通过类似玩乐高玩具的方式用一块块图形对象构建出应用程序。其特征如下:
(一) 代码转换
Blockly代码可以转换成JavaScript、Dart、XML等代码。
(二) 交互单一
不同于App Inventor、Scratch强大的交互功能(触、点、摇、说)和丰富的素材对象、设计直观,Blockly除去代码块无图形素材对象,交互简单,仅仅只是单纯的键盘输入和输出对话框。
(三) 无法“保存”
Blockly设计的程序无法通过简单的保存命令一下子将代码块保存,必须通过对相应的XML语句的保存来间接保存块语言程序。
二、 Blockly怎么上?
我现在上Blockly的学生先接触的程序语言的是Scratch和App Inventor。在决定学生上Blockly时,我一打开其界面就有点懵了。如果按照Scratch和App Inventor块语言的上课模式,学生一定是不会听的,因为其无图形素材且交互单一,就像是代码封装成了图形块的C语言,想用新奇的例子去抓住学生的注意力是不可能了。该怎么上呢?我的上课安排是这样的:
(一) 思想为主,注重算法
课堂以程序设计的思想为主,每一个程序要做足问题分析、算法设计、程序编写、调试运行的四个步骤,要想进行代码编写,首先要先学会问题的分析和算法的设计。
(二) 优选案例,知识渗透
每一个案例的选择要循序渐进将程序设计的知识渗透,经过一轮的教学我结合学生高中数学算法课本,整理安排了一些不是特别复杂的案例如下:
(三) 学案提供,知识延伸
每一节课在学生没有课本的情况下(本学科的特殊性)我们都要有学案给学生,不能只是简单的计算机任务发布。我设计学案都会围绕本节课的教学目标所选择的案例,做足問题分析、算法设计、程序编写、调试运行、知识拓展,让学生真正将知识做到有本可依、有案可查。
(四) 多种形式,丰富课堂
课堂上我们由于Blockly的特殊性,要摒弃原来的教师演示操作加学生完成练习的教学模式,可以采用以下方法来完善每节课的知识点:
1. 连线搭建桥梁
在学案中我几乎每节课都会设置趣味连线题让学生将流程图与Blockly语句一一对应,这样很多知识无意识的就在他们做题的过程中做到了知识梳理。
2. 填空解读算法
每个案例的流程图算法并不是一定要让学生来设计,可以通过“完形填空”的方法来解读算法,理清思路。
3. 找茬加深理解
有的知识点的案例可以通过给学生有错误代码,让他们运行、纠错,加深对知识的理解,也化解了每个案例都要搭建代码的厌烦情绪。
对于Blockly的课堂,只要我们能够多思考,从它的特征出发,每一节课精心准备,也能够使课堂生动起来。这也给了我一个想法,是不是可以将学生学习这种语言的顺序改变一下,期待下一个实践能够有更多的经验与大家分享。endprint