子供にMITスクラッチ言語でコーディングするように教える方法
子供 違うやり方で学ぶ 大人よりも、それゆえ私たちが彼らにコードを教えるようにしたいのなら、私たちはアプローチを使う必要があります。 彼らのニーズに合った. 成人のコーディングコースは通常、データ型、変数、関数などの構成要素を説明することから始まりますが、この教授法 ほとんどの子供には合いません.
ビジュアルブロック言語 の助けを借りてコーディングに学習者を紹介することによって、この問題に対する解決策を提供する 視覚的ビルディングブロック. ブロック言語(バブル言語とも呼ばれます) 構文ではなくロジックに焦点を当てる, コーディングを教える クリエイティブプロジェクト経由.
Scratch、Code.org、Tynkerなどのブロック言語を教える優れたアプリは、ネットで入手できます(ScratchとCode.orgは無料で、Tynkerは手頃な価格で提供されています)。.
それらについての最もよいことの1つはあなたがあなたの子供が彼らと始めるのを助けるために必ずしもプログラマーである必要はないということです。この記事では、によって開発された視覚的ブロック言語であるスクラッチについて調べます。 グーグル そしてその MIT メディアラボ.
はじめに
スクラッチ あなたがする必要がある教育目的のために作成されたプログラミング言語です。 ブロックを一緒にスナップ アニメーション、ゲーム、インタラクティブストーリーなどのさまざまなプロジェクトを作成するため.
スクラッチは主に子供や10代の若者のために作成されています 8歳から16歳まで, しかし、場合によっては、年少の子供や大人の学習者にも有効です。.
スクラッチは40以上の言語で利用可能です、その最新バージョンは スクラッチ2 これは、Windows、Mac、およびLinuxマシンの最近のWebブラウザで動作します。システム要件に問題がある場合は、以前のバージョンのScratch 1.4も使用できます。.
あなたはスクラッチを使用することができます 3つの方法で:
- オンラインアカウントを作成する, そして オンラインエディタを使用する. これを選択した場合は、プロジェクトをオンラインで保存してScratchコミュニティと共有できます。.
- オンラインエディタを使用する 匿名で. これを選択した場合は、プロジェクトを自分のコンピュータにのみ保存できます。.
- スクラッチオフラインエディタをダウンロードし、 地元で働く.
はじめに, [作成]メニューをクリックします 一番上のメニューバーに、Scratchエディタが画面に表示されます。.
デザインを作成する
まず始めに デザイン要素を追加する 私たちのプログラムへ。実際のプログラミングのワークフローは基本的に同じです。 デザイン要素を作成する, 背景、ボタン、ナビゲーションなど(この部分は通常デザイナーによって行われます) それらに機能を追加する コード付き(この部分はプログラマーによって行われます).
スプライトと背景
スクラッチには、2種類のデザイン要素があります。 しぶき そして スプライト.
用語 “背景” 背景と用語を表します “スプライト” 文字を表します(デフォルトの文字は上のスクリーンショットで見ることができる猫です)。それらの関連設定は、ステージの下、左下隅にあります。.
4つの方法があります 新しい背景やスプライトを追加する ステージには、あらかじめ定義されたライブラリから1つを選択し、1つをペイントし、1つをコンピュータからアップロードし、またはWebカメラで写真を撮ることができます。.
それでは、最速のソリューションを使用して、その中から背景を選択しましょう。 背景ライブラリー.
また、から1つ以上のスプライトを選択しましょう。 スプライトライブラリ の隣にある小さなスプライトアイコンをクリックして “新しいスプライト” 画面の左下隅にラベルを付けます.
必要に応じて、便利なツールを使って背景とスプライトの両方を編集できます。 画像エディタ 新しいデザイン要素をステージに追加すると自動的に表示されます。.
下に、追加した直後の画面が表示されます。 “夜の街” 私のステージへの背景 - 私が欲しいなら、私はイメージエディタの描画ツールで背景の外見を変えることができました.
この記事では、私は作成します 簡単なアニメーション 夜の街で幽霊に怖がっている少女について(私は知っている…)。私はすでに夜の街の背景を持っています、そして今私は2つのスプライトが必要です:女の子と幽霊.
デフォルトの猫は必要ないので、右クリックして削除します。 Spriteライブラリーから女の子と幽霊を追加します。ゴーストは女の子よりも大きく、隣同士ではぎこちなく見えるので、画像エディタを使用してゴーストのサイズを変更します。.
これで、必要なデザイン要素がすべて揃いました。以下にあなたは私の舞台が今どのように見えるかを見ることができます。次のセクションでは、 機能を追加する によって2つのスプライト(少女と幽霊)に スクラッチブロックの使用.
機能を追加する
の スクラッチブロック それはの下で見つけることができます “スクリプト” タブ。各ブロックの後ろには 基礎となるコードスニペット.
ブロックは10のカテゴリ(モーション、ルックス、サウンド、ペン、データ、イベント、コントロール、センシング、オペレータ、その他のブロック)に分類され、それぞれが 異なる色, このように、ブロックグループは 簡単に区別できます.
各スプライトに機能を追加します(具体的にはアニメートします)。つまり、各スプライトを意味します。 独自のスクリプトがあります (Scratchブロックの並び).
たとえば、昼から夜まで色を変更するなど、別のスクリプトを背景に追加することもできますが、この例では簡単のために背景を変更しません。.
人間が読めるアルゴリズムを作成する
それは有用である場合もあります 紙に計画する あなたのスプライトは何をするでしょう。これが私たちのガールゴーストサンプルプログラムのアルゴリズムです。.
少女のアルゴリズム:
- ユーザー 始まる スクリプト.
- 女の子 と思う 彼女がどれほど怖いのかについて.
- 女の子は まで待つ 幽霊は彼女を攻撃します.
- 女の子 叫ぶ.
- 女の子 逃げる.
ゴーストのアルゴリズム:
- ユーザー 始まる スクリプト.
- 幽霊は 待っている間 少女は考えています.
- 幽霊 アプローチ 女の子.
女の子のアルゴリズムは女の子の視点から書かれており、ゴーストのアルゴリズムはゴーストの視点から書かれていることがわかります。一方のキャラクターが行動する一方で、もう一方のキャラクターは行動する 待つ必要がある, 必要に応じて 2人のキャラクターの行動を同期させる.
幽霊のスクリプト
それはたった3つのステップなので、ゴーストのスクリプトから始めましょう。左下隅にあるゴーストをクリックすると開始できます ブロックをドラッグする スクリプトエリアへ。まず、ユーザーにプログラムを起動させる必要があります。これを簡単に追加できます。 “緑色の旗がクリックされたとき” からブロック “イベント” カテゴリー.
次に、女の子が考えている間、幽霊は2秒間待ちます。私たちはこの行動を “2秒待つ” で見つけることができるブロック “コントロール” カテゴリー.
最後に、幽霊は女の子に近づく必要があります。 “アビーに行く” からブロック “モーション” カテゴリー. “アビー” 少女の名前です。Scratchは自動的に他のスプライトの名前をこのブロックのドロップダウンメニューに追加します。.
これがゴーストのスクリプトがどのように見えるかです。ここまでで、Scratchが機能することを確実に理解できました LEGOと同じ, 必要がある ブロックに参加する 一緒に.
少女の台本
少女の脚本はもう少し複雑です。左下隅の女の子のスプライトをクリックすると、女の子の行動に関連するブロックを追加することができます.
少女の脚本もまた、 “緑色の旗がクリックされたとき” ブロック。私は今、あなたがより簡単に説明に従うことができるように、少女の台本が最終的にどのように見えるかについてあなたに示す。.
緑色の旗がクリックされた後、少女は2秒間考えています(プログラムはこの期間のために思考バブルを表示します)、これは幽霊が隅で待っている間同じ2秒です - 幽霊の待機ブロックでプログラムされてスクリプト.
その後、少女は幽霊が彼女に触れるまで待つ必要があります。これは 合成待機ブロック. 上記のスクリーンショットで、このブロックには 内側の菱形ブロック あなたは別々に参加する必要があります。あなたはこの待機ブロックに菱形のブロックだけを追加できます.
覚えておいて、スクラッチはLEGOに似ています、あなたがする必要があります 形に注意を払う 同様にブロックの。この機能は、間違ったコーディングロジックを回避するためにそこにあるべきではないブロックを追加するのを防ぎます。.
今までに、幽霊は少女に触れ、そして幽霊の台本は終わった。今、私たちは彼女と一緒に彼女の悲鳴を上げる必要があります。 “音を出す” サウンドブロック (私は内蔵のサウンドライブラリから女性の悲鳴の音を追加しました)、そして最後に彼女を使用して幽霊から離れて彼女を移動させる “200ステップ移動” モーションブロック.
あなたはそのスクラッチページで最終的なプロジェクトを見ることができます。ビルディングブロックを調べたい場合は、右上隅にある[内側を見る]ボタンをクリックします。.
次のステップ
私たちの “街の幽霊” 例は非常に単純なプロジェクトです。お子様が安全にリニアストーリーやアニメーションを作成できるようになったら、 より複雑なコーディング構造, といった if-then ブロック(条件文) 繰り返す ブロック(ループ)は、両方とも “コントロール” カテゴリー.
あなたがしたい場合 線形アニメーションのより複雑な例 (まだ条件文とループはありません)あなたは私の他のデモをチェックアウトすることができます、そしてそれは各々がそれ自身のスクリプトを持っている3つのスプライト(2人の友人と誕生日ケーキ)を使います.
あなたはまた、印刷することによってあなたの子供を刺激することができます スクラッチカード 彼らに、彼らができること 手を握って プログラミング中スクラッチカードもあります 素晴らしいプロジェクトのアイデア それらの上に。それは他の人から学ぶことによっても価値があります 既存のプロジェクトを探索する, または ディスカッションフォーラムに参加する.
Scratchをもっとよく理解したいのなら、 無料コースラコース エディンバラ大学による、スクラッチプログラミングを初心者にもとてもわかりやすくて楽しい方法で紹介しています。.
また、の活用もできます スクラッチWiki, ハーバード大学のCreative Computing部門にも いくつかの素晴らしいリソース スクラッチ学習者向け.