觀點 教育創新

享受從小學習程式設計(運算思維)的快樂吧!

近來因為 108 新課綱要從中學階段開始加入運算思維(程式設計)的課程,各界仍有很多期待與討論,不論意見如何,應該沒有人會否認,面對 AI、IoT…等等未來科技發展的大時代趨勢,要學會掌握科技的力量,教育必須從娃娃抓起。

但台灣,相較於世界各國,腳步其實已經慢了。這個話題,我覺得評論太多並沒有什麼建設性,或許以我自身的學習經驗來聊一聊,會比較有說服力一些。

對我來說,Steve Jobs 大概可說是我年幼即開始學習電腦程式設計的啟蒙導師。小學四年級升五年級暑假時,父親買了一台 APPLE 2 電腦,從此我就著迷於 BASIC 程式設計到廢寢忘食的地步。我至今仍牢牢記得,當我用稚嫩的雙手敲打 APPLE 2 的鍵盤,用 BASIC 語言撰寫的程式碼,在電腦螢幕上一格一格慢慢地畫出一個帶著鋸齒狀的圓形時,那種欣喜若狂的感覺 ! 我覺得全天下都在為我而歡呼,這是我的第一次,也是影響人生後來數十年職涯發展的最大動力!

當然,所有的過程我都是自學,我的快樂,就來自於不斷地克服各種難解的問題,其實那就像遊戲闖關成功時一樣的快感。後來不論是 BASIC, 組合語言, C……中文教材已經學無可學,中學時為了看懂電腦相關原文書籍,英文突飛猛進,大學時為了向偶像 Steve Jobs 和 Bill Gates 看齊,也陸續創辦了幾家軟體公司,到後來,成為  Microsoft, IBM, PwC, 華為公司…等不少大企業的顧問、進入研究機構和大學授課,我的職涯發展始終都脫離不了資訊和網絡科技相關的領域…..有形無形之間,小時候學會程式設計的那份悸動,對我後來人生的職涯影響,可說是無所不在。

其實現在學習程式語言,已經越來越簡單,許多簡易有趣的設計工具,只要視覺化的拖曳方式就可以快速設計程式,也是訓練小朋友運算思維非常好的工具,例如 Scratch, Blockly….等等,都很容易上手。

對了,另外工商服務一下,我最近發現一個很簡易的遊戲設計工具 hyperPad,可以在 iPad 上快速開發 iOS 遊戲並上傳到 App Store,很適合老師和小朋友學習遊戲開發的技巧。對我來說,是打發休閒時間的玩具(就和一般人玩遊戲是一樣的,只是我更喜歡“設計遊戲”)。有興趣的朋友,可以參考我在 Udemy 上的課程 iPad 免編程快速開發 iOS 遊戲神器 : hyperPad(近來工作比較忙,還沒完成所有章節,但已經可以學會如何快速開發 iOS 遊戲):

另外,如果你對視覺化程式設計工具有興趣的話,下列很多工具都可以免費下載,很適合親子師生一起學習。不用想那麼多了,就下載一個自己喜歡的,開始學習吧!

https://en.scratch-wiki.info/wiki/Alternatives_to_Scratch

Drag and Drop Programming

2D

Program Description Code On Code For
BYOB/Snap! Snap! is an advanced Scratch Modification with lambdas, first class data, procedures, recursion, and many other features. Version 4.0 was renamed Snap! and was rewritten in JavaScript, and is thus no longer considered a Scratch modification. Desktop, Mobile Desktop, Mobile
Blockly A drag and drop language made by Google. It is used on many websites. It converts the Scratch-like language to another text-based language in real time. This could be useful in learning traditional languages such as Javascript or Python. This is being used for the new Scratch 3.0. Desktop, Mobile Desktop, Mobile
Android App Inventor The Android App Inventor by Google allows Android apps to be created with a simple, Scratch-like interface. In fact, it was based on Scratch and coded by a team at MIT. Desktop Android
Stencyl Stencyl has an interface similar to Scratch, but it has slightly more advanced editing features. Desktop, Mobile Desktop, Mobile
Gamefroot An online game creation software for creating side-scrolling games. It has a drag and drop block editor for advanced scripting. Desktop, Mobile Desktop, Mobile
Pocket Code A visual programming language and app for Android, iOS, and Windows Phone smartphones, tablets, and HTML5 enabled mobile browsers. It is inspired by Scratch and developed by the Catrobat team as free open source software. Android Android
Hopscotch An iOS-based application which is similar to Scratch but is simpler and easier to use. It’s somewhat based in the middle of Scratch and ScratchJr. Hopscotch is primarily for iPad, with the player being the only thing accessible on other devices. iOS iOS
GameSalad A drag-and-drop programming software, aimed at inexperienced coders, which allows anyone to create games easily. Desktop Desktop, Mobile
GameMaker Studio A drag-and-drop game-making software that can be used by inexperienced coders to create video games of many genres. Also uses “Game Maker Language”, a CUI programming language used to add more advanced features to a game. Microsoft Windows Desktop, mobile, Xbox One, PlayStation 4
Tynker A drag-and-drop programming software, aimed at kids, which allows anyone to create games easily. It has programming challenges, and functionality to program external devices as well as mod Minecraft. Desktop, Mobile Desktop, Mobile

3D

  • BeetleBlocks: A GUI-based programming language, based off Scratch, which can be used for 3D modelling, unlike Alice.
  • Alice: Features 3D projects. Created by Carnegie Mellon.
  • Starlogo-TNG: Supports 3D models and terrain. Block-based, and meant for simulations and education purposes. Created by the MIT STEP group.

0 comments on “享受從小學習程式設計(運算思維)的快樂吧!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

%d 位部落客按了讚: