教育應用程式

Blockly 團隊擁有多年的教育應用程式設計經驗。以下是他們學到的部分內容,或許能協助您設計自己的教育應用程式。

以自由作答取代填空題

設計用來教導特定概念的練習活動,通常會提供部分解決方案,學生需要修改才能達到預期效果。為支援這項功能,Blockly 建立了一個無法編輯、移動或刪除的區塊類別。不過,學生不喜歡這些填空練習。他們對解決方案沒有歸屬感。

例如空格填空練習,重複區塊要求學生從下拉式選單中選擇重複次數。

設計能教導相同概念的自由形式練習,難度會更高。一種已證明有效的技巧,是使用學生在某個練習中使用的解決方案,做為下一個練習的起點。

建議:請勿為使用者編寫程式碼。

使用持續性指示

Blockly Games 是專為自學而設計,無須老師或課程計畫。為達成這項目標,第一版 Blockly 遊戲在每個關卡中都提供操作說明。大多數學生都不會閱讀。我們將這些資訊縮減為單一句子,並放大字型大小,並以黃色氣泡標示。大多數學生都不會閱讀。我們已建立內含操作說明的模態彈出式視窗。大多數學生都會本能地關閉彈出式視窗,不看內容就關閉,然後就迷路了。

無法關閉的彈出式指示,箭頭指向需要變更的區塊。

最後,我們建立了無法關閉的彈出式視窗。這些指令碼會監控學生的動作,並只在學生執行必要動作時關閉。這些內容感知式彈出式視窗雖然難以編寫程式碼,但相當有效。這些裝置也必須位於視野範圍內,且不會干擾工作區。

建議:說明應簡短扼要,且持續顯示,但不要過於惱人。

在說明中使用即時區塊圖片

以希伯來文顯示文字的三元式區塊。

區塊的文件應包含所參照區塊的圖片。取得螢幕截圖很簡單。但如果有 50 張這類圖片,且應用程式已翻譯成 50 種語言,那麼就必須維護 2,500 張靜態圖片。接著色彩配置變更,因此需要再次更新 2,500 張圖片。

為了避免維護作業帶來的困擾,Blockly Games 將所有螢幕截圖替換為以唯讀模式執行的 Blockly 例項。結果看起來與相片相同,但保證為最新資訊。唯讀模式可讓國際化功能生效。

建議:如果您支援多種語言,請使用唯讀模式。

提供學生退出策略

以區塊為基礎的程式設計通常是程式設計的起點。在電腦程式設計教學的脈絡中,這項技能是一種「入門毒品」,會讓學生上癮,然後再轉向更難的課程。這個以區塊為基礎的程式設計課程應持續多久,目前仍有爭議,但如果您的目標是教導程式設計,那麼這個課程應為短期課程。

因此,用於教導程式設計的區塊式程式設計環境,必須提供適合學生的離場路徑。Blockly Games 有四種策略:

包含括號和大括號的 while 區塊,用於顯示 JavaScript 語法。

  1. 區塊中的所有文字 (例如「if」、「while」) 都會以小寫顯示,以符合以文字為基礎的程式設計語言。
  2. 為了讓學生更熟悉程式碼,系統會在每個等級結束後,一律顯示 JavaScript 版本的程式碼。
  3. 在倒數第二個遊戲中,區塊文字會替換為實際的 JavaScript (如右圖所示)。此時學生正在使用 JavaScript 編寫程式。
  4. 在最終遊戲中,積木編輯器會改為文字編輯器。

用於教導程式設計的區塊式程式設計環境,必須有明確的課程計畫。堅實的退場策略也能讓那些認為以區塊為基礎的程式設計並非「真正的程式設計」的人士安心。

建議:考量使用者的最終目標,並採取適當的設計。