1.1 Google Blockly概述

美国计算科学教育一直认为计算机作为当今各个领域的基础技术工具,有必要让学生尽早的了解和学习计算机工作原理,理解基础的编程思维。在2006年周以真教授提出计算思维概念,这很大程度上促进了人们对计算机编程教学的认识。图形化编程摒弃了繁琐的代码语法,以直观的图形化模块进行编程,其思想最早来源于西摩尔·帕伯特的心理学家在从事儿童学习的研究中发明的LOGO语言。近年来随着计算机技术的快速发展,出现了很多优秀的图像化编程工具提供给学生学习计算机程序设计,比如:Alice、Scratch、AppInventor等著名软件。在2012年6月,Google发布了完全可视化的编程语言Google Blockly,这是一款完全开源的,集合多种编程语言的编程工具。很多图形化编程平台都是基于Google Blockly二次开发的,譬如:APPInventor、Wyliodrin、Earsketch等优秀编程平台。Google Blockly作为一种易于掌握的图像化开源编程环境,是编程初学者学习和掌握程序设计方法的有力工具,非常有必要予以了解和掌握。

1.2 什么是Google Blockly

1、一种基于网页的可视化程序

Google Blockly是基于网页的可视化编程工具库。用户可以以离线或者在线的方式在Windows、Linux、MC和Android平台上的浏览器端进行编程操作。可以使用计算机端、手机或平板移动端进行随时随地的完成编程设计,教学编程方式多种多样。

2、多种开发语言环境库

Blockly基于图形化编程设计可以导出Javascript、Python、PHP、Lua、Dart等多种语言。通过图形化编程完成程序设计,在Blockly中有一个类似语言转换器的工具箱,可以将图形化编程语言转化成多种编程语言代码。用图形化编程方式去理解多种程序语言。

3、开源的自定义编程环境

Blockly是开源的编程工具,用户可以根据自己编程的特点要求,对Blockly工具箱进行自定义设计。同时,Blockly开发工具能让用户自定义块导出至工具箱,并在工作区工厂完成对代码的封装。如图所示。

1.3 Google Blockly的编程环境

Blockly是一个可用于Web、Android、iOS的可视化代码编辑器库

1. Blockly在线使用

打开浏览器,在地址栏输入https://developers.google.com/blockly/,前往Blockly官网,即可体验编程。如图所示

2、Blockly的离线环境搭建

在Github网站或者Blockly主页上找到对应系统的文件包,下载后,无需安装,解压,进入demos目录,打开index.html,选择相应的选项,即可体验。
Linux系统,可下载TAR Ball,在终端进行文件解压即可;
Windows系统,可下载ZIP File,并继续解压即可;
Github Blockly地址: https://github.com/google/blockly
TAR Ball地址: https://github.com/google/blockly/tarball/master
ZIP File地址: https://github.com/google/blockly/zipball/master
Blockly离线使用都是免安装的,只需Clone或解压后,进入demos目录,打开index.html,选择相应的选项,即可体验。

1.4 Google Blockly在中学信息技术课程教育应用优势

Blockly 是一个基于 Web 的可视化编程工具,以图形化语言编程,这个新语言的主要目的是为web应用提供宏(或脚本编程)的支持。可以把生成的脚本输出成Javascript, python 等,还可以自定义图形化编程工具。目前可以在中小学利用blockly开始信息技术课程的编程学习,同时结合Arduino开发板,进行创客教育的探索与实践。

1、基于WEB跨平台的图形化编程软件

在中小学信息技术课程中,编程算法的教学工具的选择一直是教师专家探究的主要问题。代码程序的封装使得图形化编程工具的优势越来越明显,在计算机编程方面出现许多优秀的图形化编程工具。Blockly是基于WEB平台的图形化编程工具,可以在任何系统平台进行在线与离线版操作使用编程,也可以在教室主机现场搭建服务器平台,WEB界面实时编程,测试编程结果。

2、定制自己的编程工具—项目式教学探索

目前的Scratch、PencilCode以及APPInventor等流行的图形化编程软件中,由于图形程序模块的局限性,一些特殊功能很难在平台实现。Blockly提供的代码自定义工厂功能,使得用户可以利用集成块编辑器,创建符合自己创作要求的应用程序块。Blockly只是一种生成代码的方法, 你的应用程序的核心在于如何处理该代码。这样一种自定义图形化块的方式可以方便师生在教学任务过程中自定义符合教学功能的模块,实现教学工具的再次开发。

3、结合开源Arduino进行创新体验编程教学

中小学阶段使用Arduino开源硬件版进行创客课程教学非常普及,使用Blockly平台结合Arduino开源硬件,是构建高中信息技术课堂的STEAM教学项目新探索。学生可以基于图形化编程跨平台创造作品,通过程序功能设计的硬件外化过程,建构跨学科知识课堂。

课后练习

  1. 进入Blockly官网,熟悉Blockly,并使用在线Blockly输入“Hello Blockly”。
  2. 在本地配置离线版Blockly,并完成“Plane”游戏的练习。

【blockly教程】第一章 Google Blockly教学应用手册的更多相关文章

  1. 村田噪声抑制基础教程-第一章 需要EMI静噪滤波器的原因

    1-1. 简介 EMI静噪滤波器 (EMIFIL®) 是为电子设备提供电磁噪声抑制的电子元件,配合屏蔽罩和其他保护装置一起使用.这种滤波器仅从通过连线传导的电流中提取并移除引起电磁噪声的元件.第1章说 ...

  2. [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍

    注:为了看上去比较清晰这里只转载了中文 原地址:  [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍 本章将引导您完成安装和设置开发环境,然后你就可 ...

  3. javascript进阶教程第一章案例实战

    javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了“删除”按钮,在用 ...

  4. [ABP教程]第一章 创建服务端

    Web应用程序开发教程 - 第一章: 创建服务端 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发 ...

  5. 《进击吧!Blazor!》系列入门教程 第一章 8.部署

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  6. OpenGL完全教程 第一章 初始化OpenGL

    第一章 初始化OpenGL 无论是什么东西,要使用它,就必须对它进行初始化.如果你之前使用过GDI,你应该也多多少少了解到GDI在绘制图形之前要为之创建渲染环境.OpenGL也一样.本章给出的代码,大 ...

  7. python 教程 第一章、 简介

    第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ...

  8. storm入门教程 第一章 前言[转]

    1.1   实时流计算 互联网从诞生的第一时间起,对世界的最大的改变就是让信息能够实时交互,从而大大加速了各个环节的效率.正因为大家对信息实时响应.实时交互的需求,软件行业除了个人操作系统之外,数据库 ...

  9. storm入门教程 第一章 前言

    转自:http://blog.linezing.com/?p=1847 storm:http://www.cnblogs.com/panfeng412/tag/Storm/ http://blog.l ...

随机推荐

  1. 为什么TCP协议终止链接要四次?

    为什么TCP协议终止链接要四次? 1.当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B. 2.主机B收到A发送的FIN,表示收到了,就会发 ...

  2. 乘风破浪:LeetCode真题_005_Longest Palindromic Substring

    乘风破浪:LeetCode真题_005_Longest Palindromic Substring 一.前言 前面我们已经提到过了一些解题方法,比如递推,逻辑推理,递归等等,其实这些都可以用到动态规划 ...

  3. Linq使用技巧及查询示例(一)

    Linq的使用大体分为两种:语句表达式   和  方法 首先,我们要在控制器中定义好context private ApplicationDbContext db = new ApplicationD ...

  4. Oracle shared server模式连接ORA-12519

    设置了shared server连接,dispatcher进程和shared server进程都没有问题listener.ora文件配置如下:LSNR2=  (DESCRIPTION=    (ADD ...

  5. [T-ARA][Cry Cry]

    歌词来源: Cry Cry:http://music.163.com/#/song?id=22704434 Cry Cry (Ballad Ver.):http://music.163.com/#/s ...

  6. Io性能分析

    一.iostat使用说明 1.命令使用方法 使用ixstat –x 1 可以每隔1秒钟采集所有设备的io信息.其中的1类似于使用“vmstat  1”后面的1. 2.命令格式说明 ―――――――――― ...

  7. redis连接被拒绝

    1,服务未启动: 执行:lsof -i :6379 isof-i命令查看是否开启进程 结果如下,证明开启 COMMAND     PID USER   FD   TYPE DEVICE SIZE/OF ...

  8. SpringMvc+Spring+MyBatis+Maven

    使用Maven构建项目 1) 创建一个Maven的war工程 2) 在webapp/WEB-INF下创建一个web.xml文件 <?xml version="1.0" enc ...

  9. vue2.* 绑定属性 绑定Class 绑定style 03

    <template> <div id="app"> <!-- 绑定属性 --> <div v-bind:title="title ...

  10. 递归根据父ID 找所有子类ID

    function getinfo($pid){ $str = ''; $row = M('user')->where(array('pid'=>$pid))->select(); i ...