教育用アプリケーション

Blockly チームには、教育用アプリケーションの設計における長年の経験があります。以下に、教育用アプリの設計に役立つ可能性のある、彼らが学んだことをいくつか紹介します。

穴埋め問題よりも自由回答形式の問題を好む

特定のコンセプトを教えるように設計された演習では、部分的なソリューションが提供されることがよくあります。生徒は、目的の効果を得るために、このソリューションを変更する必要があります。この機能をサポートするため、Blockly に編集、移動、削除ができないブロックのクラスが作成されました。しかし、生徒たちはこの穴埋め問題を嫌っていました。ソリューションに対する所有意識がありません。

穴埋め問題の例として、生徒がプルダウンから繰り返しの回数を選択する必要がある繰り返しブロックがあります。

同じコンセプトを教える自由形式の演習を設計するのは、より困難です。効果的な手法の一つとして、ある演習に対する生徒自身の解答を次の演習の出発点として使用する方法があります。

推奨事項: ユーザーのコードを記述しないでください。

永続的な指示を使用する

Blockly Games は、教師や指導案を必要としない自習型になるように特別に設計されています。これを実現するため、Blockly Games の最初のバージョンでは、各レベルに手順が記載されていました。ほとんどの生徒は読まないでしょう。1 文にまとめ、フォントサイズを大きくし、黄色い吹き出しで強調しました。ほとんどの生徒は読まないでしょう。手順を記載したモーダル ポップアップを作成しました。ほとんどの生徒は、ポップアップを読まずに本能的に閉じてしまい、迷子になっていました。

変更が必要なブロックを指す矢印が表示された、閉じることができないポップアップの説明。

最後に、閉じることができないポップアップを作成しました。生徒の操作をモニタリングし、生徒が必要な操作を行った場合にのみ自動的に閉じるようにプログラムされています。コンテキストを認識するポップアップはプログラミングが難しいですが、非常に効果的です。また、ワークスペースの邪魔にならないように、視野内に収まることも重要でした。

推奨事項: 指示は短く、持続性があり、不快感を与えないようにする必要があります。

ヘルプでライブブロック画像を使用する

ヘブライ語のテキストを含む三項ブロック。

ブロックのドキュメントには、参照しているブロックの画像を含める必要があります。スクリーンショットの撮影は簡単です。しかし、そのような画像が 50 個あり、アプリケーションが 50 言語に翻訳されている場合、突然 2,500 個の静的画像を管理することになります。その後、配色が変更され、2,500 枚の画像を再び更新する必要があります。

このメンテナンスの悪夢から抜け出すため、Blockly Games はすべてのスクリーンショットを読み取り専用モードで実行されている Blockly のインスタンスに置き換えました。結果は写真とまったく同じように見えますが、最新の状態であることが保証されています。読み取り専用モードにより、国際化が可能になりました。

推奨事項: 複数の言語をサポートする場合は、読み取り専用モードを使用します。

生徒の退出戦略を立てる

ブロックベースのプログラミングは、プログラミングの出発点となることがよくあります。コンピュータ プログラミングの教育という観点から見ると、より難しいことに進む前に生徒を夢中にさせる入門的なものです。ブロックベースのプログラミング期間をどのくらいにするべきかについては議論が盛んですが、プログラミングを教えることが目標であれば、一時的なものにすべきです。

このため、プログラミングの教育に使用されるブロックベースのプログラミング環境には、生徒に適した出口が必要です。Blockly Games には 4 つの戦略があります。

  1. テキストベースのプログラミング言語に合わせて、ブロック上のすべてのテキスト(「if」、「while」など)が小文字になっています。

    JavaScript の構文を示す、丸括弧と中括弧を含む while ブロック。

  2. 生徒のコードの JavaScript バージョンは、各レベルの後に必ず表示され、親しみやすさを高めます。

  3. 最後から 2 番目のゲームでは、ブロック テキストが実際の JavaScript に置き換えられます(右図を参照)。この時点で、生徒は JavaScript でプログラミングを行っています。

  4. 究極のゲームでは、ブロック エディタがテキスト エディタに置き換えられます。

プログラミングの指導に使用されるブロックベースのプログラミング環境には、生徒を卒業させるための具体的な計画が必要です。しっかりとした出口戦略は、ブロックベースのプログラミングは「真のプログラミング」ではないと主張する人々をなだめるうえでも大いに役立ちます。

推奨事項: ユーザーの最終目標を考慮して、適切に設計します。