[程式創客] 中學生程式自學手冊--什麼是圖形化(或視覺化)程式語言,及近期進展:


[程式創客] 中學生程式自學手冊--什麼是圖形化(或視覺化)程式語言,及近期進展:

我們還是先列參考連結:

1. Visual programming language(跟中文 Wiki,這篇英文WiKi比較新且完整)

2. 視覺化程式設計語言 (中文 Wiki)

3. 視覺化程式語言的未來 ,https://www.ithome.com.tw/voice/93114

4. 堆積木寫程式:Google Blocky

5. MIT 為孩子量身打造的程式語言 — Scratch 貓爪

6. Google 玩遊戲學程式中文化線上課程 Blockly Games

7. Scratch (programming language) 英文介紹, Scratch 中文介紹,英文的還是比較新而且完整!

因為這幾篇算很完整的介紹,我用節錄的方式將我要表達的重點整理給大家

“視覺化程式設計語言(Visual programming language,以下簡稱VPL),又稱『圖形化程式語言』、『視覺化程式編成語言』。係使用者利用圖形化元素進行程式設計;相異於文字式程式設計。VPL以視覺表達為基礎,利用『文法』或是某種『輔助標記』進行圖形與文字的排列。許多VPL建基於『方塊與箭頭』的概念之上,以方塊或螢幕上的物件為本體,以箭頭相連接,以直線段與弧線段代表相互之間的關係。

更進一步的分類VPL,依據類別與視覺表達延伸的使用,分為:圖示式程式語言、表格式程式語言以及圖表式程式語言。視覺化程式設計環境(Visual programming environments)提供圖形與圖示的元素讓使用者操弄,以便符合特定空間文法以進行程式建構。

一種經視覺化轉換的程式語言是利用視覺表達疊套在非視覺程式語言作成。視覺化程式的視覺表達天性是沒有文字式程式語言的例子可供比擬的。

視覺化程式設計在目前的發展是嘗試整合視覺化程式設計的研究,一是對於狀態式程式設計進行線上除錯,二是程式產生自動化與文件產生自動化。另外還有資料流程式語言所帶來的平行自動化,那將會是未來一項重大的程式設計挑戰。[1 “ (From 視覺化程式設計語言)

“Mitch Resnick於2012年11月在TED進行了〈Let’s teach kids to code〉演說,許多人對其中的Scratch感到無比興趣,在這之前,Google亦發布過Blockly。坦白說,視覺化程式語言不是新鮮貨,然而或許會是程式語言未來發展的一個主力方向,也帶來了一些反思程式設計本質的機會。” (from https://www.ithome.com.tw/voice/93114)

“這兩年來,在科技大廠各巨頭與新聞媒體的推波助瀾下,興起了人人學程式設計的風潮,基於「XX應從小開始」的不敗口號,自然也不能放過讓孩子們從小學程式設計的可能性,相關產品中,最小年齡層甚至有五歲左右就可以開始使用,無論操控的實際硬體是什麼,為了讓孩子們編寫程式方便,大多搭配平板電腦或手機,然後使用積木圖像來代表各個程式設計語法,可使用拖拉方式來組合、建構程式。


在這類以積木圖像代表程式語法的視覺化語言中,最為人所知的就是Scratch,它甚至推出了更簡化的ScratchJr,五歲孩子就能使用的產品中,它就是其中之一,近兩年來,也迅速成了各教育單位推動從小學程式設計的利器。

Google亦發表過視覺化程式語言Blockly,同樣也是積木式建構語法,並主打著針對更高年齡層的學習者而設計,可轉換為JavaScript、Python、XML等語法。

此外,LEGO積木機器人從第一代RCX到現在的EV3,都可以搭配視覺化程式語言來編寫程式,因為直覺簡單,幾乎已成了各機器人營隊的首選配備。

在《Code Complete 2》中,提到:「生動的隱喻說明更廣泛的現象,而你可以運用它們提升自己對軟體開發過程的了解」,視覺化程式語言,實際上是一種圖像式的隱喻,突顯出軟體設計中組合與建構的過程,積木是孩子們自小就熟悉不過的玩具,積木式的圖像搭配觸控式螢幕,創造出目前最貼近孩子們生活中的經驗連結,不可否認地,這確實是有助於降低接觸程式設計的門檻與排斥,孩子們確實可在不知道的情況下,從事程式設計的動作。

實際上,視覺化程式語言並不是新東西,在〈Visual Programming Languages — Snapshots〉這篇文章中,Eric Hosick收集了幾十種視覺化程式語言的擷圖與相關鏈結,我實際在進行EV3設計的過程中,有個遙遠的記憶竟然慢慢清晰了起來,「這感覺活像以前在學校使用電子電路圖設計軟體,那些資料線(Data Wires)不就像是電路?這玩意兒不只是設計給孩子們使用的!」” (From https://www.ithome.com.tw/voice/93114)

線上課程:

[程式創客] 中學生程式自學手冊

[Coding Maker] micro:bit Python 與 Python 3 的距離

[AI 創客] Scratch AIoT (人工智慧物聯網)

[AI 創客] Scratch AI

更多課程:

www.steamcourses.org

Complete and Continue