Blockly 團隊擁有多年設計教育應用程式的經驗。以下是他們學到的一些內容,或許有助於您設計自己的教育應用程式。
自由作答練習優於填空題
旨在教導特定概念的練習通常會提供部分解決方案,學生需要修改這些方案才能達到預期效果。Blockly 中建立了一類無法編輯、移動或刪除的方塊,以支援這項功能。不過,學生很討厭這類填空練習。 他們對解決方案沒有歸屬感。
設計可教導相同概念的自由形式練習較為困難。 實證顯示,一項有效技巧是使用學生在某項練習中的解答,做為下一項練習的起點。
建議:請勿為使用者編寫程式碼。
使用持續性指令
Blockly 遊戲專為自學設計,不需要老師或課程計畫。為達成這個目標,Blockly Games 的第一個版本在每個關卡都提供指示。大多數學生都不會閱讀這些內容。我們將這些訊息縮減為一句話,並放大字型,以黃色泡泡醒目顯示。大多數學生不會閱讀這些內容。我們建立了內含操作說明的模式彈出式視窗。大多數學生會下意識關閉彈出式視窗,而不會閱讀內容,然後就不知道該怎麼做。
最後,我們建立了無法關閉的彈出式視窗。這些視窗會監控學生的動作,並在學生完成必要動作後自行關閉。這類彈出式視窗會根據情境顯示,程式設計難度較高,但效果相當顯著。此外,他們也希望攝影機位於視野範圍內,但不會干擾工作空間。
建議:指示應簡短且持續顯示,但不要太擾人。
在說明中使用即時區塊圖片
區塊的說明文件應包含所指區塊的圖片。 螢幕截圖非常簡單,但如果這類圖片有 50 張,且應用程式翻譯成 50 種語言,突然間,維護的靜態圖片就會有 2,500 張。然後色彩配置變更,2,500 張圖片需要再次更新。
為擺脫這場維護惡夢,Blockly Games 將所有螢幕截圖,替換成以唯讀模式執行的 Blockly 執行個體。結果看起來與圖片一模一樣,但保證是最新資訊。唯讀模式可支援國際化。
建議:如果支援多種語言,請使用唯讀模式。
為學生制定退場策略
以積木為基礎的程式設計通常是程式設計的起點。就電腦程式設計教學而言,這是一種入門藥物,可讓學生上癮,再進一步學習更困難的內容。學生應學習多久的積木式程式設計,各界意見不一,但如果您的目標是教導程式設計,這段期間應是暫時性的。
因此,用於程式設計教學的積木式程式設計環境,必須為學生提供適當的過渡方式。Blockly Games 共有四種策略:
積木上的所有文字 (例如「if」、「while」) 都是小寫,與以文字為基礎的程式設計語言一致。
每次升級後,系統都會顯示 JavaScript 版本的學生程式碼,加深熟悉度。
在倒數第二個遊戲中,方塊文字會替換為實際的 JavaScript (如右側所示)。此時學生正在使用 JavaScript 編寫程式。
在最終遊戲中,積木編輯器會替換為文字編輯器。
用於程式設計教學的積木式程式設計環境,必須有具體的學生畢業計畫。此外,完善的退場策略也能有效安撫那些認為以積木為基礎的程式設計「不是真正的程式設計」的人。
建議:請考量使用者的最終目標,並據此設計。