第一章 Google Blockly教學應用手冊
來自專欄 blockly
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/blocklyTAR Ball地址: https://github.com/google/blockly/tarball/master
ZIP File地址: https://github.com/google/blockly/zipball/masterBlockly離線使用都是免安裝的,只需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教學項目新探索。學生可以基於圖形化編程跨平台創造作品,通過程序功能設計的硬體外化過程,建構跨學科知識課堂。
課後練習
- 進入Blockly官網,熟悉Blockly,並使用在線Blockly輸入「Hello Blockly」。
- 在本地配置離線版Blockly,並完成「Plane」遊戲的練習。
BLOCKLY系列教程:
第一章 Google Blockly教學應用手冊
第二章 Blockly編程基礎
第三章Blockly順序程序設計
第四章 Blockly之選擇結構
第五章 循環結構
第六章 Blockly的進階
Blockly編程案例
推薦閱讀:
※一個計科小白的每日編程打卡2018.7.20
※你有對象沒?沒有的話new一個。
※初識 mocha + nightmare 前端單元測試
※Scratch有缺點嗎?
※你應該知道的HTTP基礎知識