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. Exchange 2016 CU6 安装后,发生错误 出现意外错误,无法处理您的请求

    公司的Exchange2016环境准备上线了,今天owa打不开了.出现如下图的错误,更多详细信息没有截图,但最关键的一句记下来了. X-OWA-Error Microsoft.Exchange.Dia ...

  2. 沉淀,再出发:百度地图api的使用浅思

    沉淀,再出发:百度地图api的使用浅思 一.前言   百度地图想必大家都使用过,但是看到别人使用百度地图的API时候是不是一头雾水呢,其实真正明白了其中的意义就像是调用豆瓣电影api的接口一样的简单, ...

  3. Windows 下的内存泄漏检测方法

    在 Windows 下,可使用 Visual C++ 的 C Runtime Library(CRT) 检测内存泄漏. 首先,我们在.c或.cpp 文件首行插入这一段代码: #define _CRTD ...

  4. 深入浅出SharePoint2007——定制搜索之无代码篇

    需求: 输入值,如果多行文本列包含此搜索关键字,显示对应的查询结果. 解决方案: 使用Form Web Part和Data form web part. 1 创建list,并创建3列 选中默认的lis ...

  5. ubuntu 13.04添加 flash_plugin

    mv libflashplayer.so  /usr/lib/mozilla/plugins

  6. java 相等测试与继承

    内容中包含 base64string 图片造成字符过多,拒绝显示

  7. CCF认证201803-1 跳一跳

    import java.util.Scanner; public class Jump { public static void main(String[] args) { Scanner sc = ...

  8. MySQL导出表结构方法

    方法一: 以下用的是Navicat Premium,可以换成任意图形化客户端 SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHAR ...

  9. python2.7下使用logging模块记录日志到终端显示乱码问题解决

    刚才翻了翻2年以前用python2.7写的一个爬虫程序,主要功能就是把各地市知识产权局/专利局网站的专利相关项目.课题通知,定期爬取和分析,辅助企业进行项目申请. 这里要谈的不是爬虫功能的实现,而是今 ...

  10. JS の 套路 I ~~

    小扇在到新公司以后,发现.我的js都忘记了!! 下面总结一下在装配数据时候用到的一些小小的公式,希望像我这样的前端小菜B起到帮助叭叭叭叭叭~~~ I.查找想找到的 HTML 元素 * i.查找元素 v ...