私は長女の幼稚園グループに招待され、私の職業について子供たちの質問に答えました。グループには4〜6歳の子供26人と、プログラミングとIT自体に関連するものをかなり怖がっていますが、新しいトリックを学ぶのに十分な大胆な3人の教師がいます。プロジェクタなどを使わずに20〜30分かかります。彼らは古いコンピューターを持っていますが、見た目は486かもしれませんが、機能しているかどうかさえわかりません(更新:そうではありません)。
私の研究では、優れた初期のスレッドが見つかりました。多くの良いヒントがあります。
私の状況は上記のそれぞれとは異なります。後者は年長の子供に関係し、最初の人は一人の子供(または年長者)と話すことです— 20のグループは全体です別の課題。
どうやって子供とその先生にプログラミングについて楽しい方法で教えることができますか?
すべての驚くべき答えをありがとう、みんな:-)単一の答えを受け入れるのは理にかなわないと思いますが、SOersの大半が明らかにするように、私はジムが最も好きです。ただし、他の多くの回答には、有用なヒントやアイデアが含まれています(そのうちのいくつかは、将来の学校でのキャリアの日に必ず使用します...)。
大まかな計画をまとめました。
n
サンドイッチをコンピューターに準備させることができますこれは私の計画です-それは非常に異なる結果になると確信しているので、状況に応じて即興演奏します。プレゼンテーションは約2週間後に予定されています。後で投稿を更新し、実際にどのように進行したかを説明します...
最後に、プレゼンテーションの日が今日到着しました...簡単に言えば、すべてがうまくいき、大成功でした:-)
今回のグループは非常に落ち着きがなく、エネルギッシュであることが判明したため、会話は時々混bitとしました。私はそれを短くして、Big Sandwich Maker Showに行かなければなりませんでした。ジムが説明したように、子供たちはそれを愛した。
予期せぬ副作用が1つありました。パンの最初のスライスがようやく準備ができた後、全員が食べたいと思っていました。しばらくの間-私は会話を続けてプログラミングについて詳しく説明しようとしました-私たちは幼稚園の先生と一緒に緊急サービスラインを設置して、膨大な量のマーマレードパンを作り、空腹の群衆を養う必要がありました(これは半分でした朝食後1時間、記録のため:-)。それから私たちはパンを使い果たしました。それは明らかにプレゼンテーションの終わりを意味していました。混乱を一掃した後、子供たちは、貧しいコンピューターが靴下を台無しにするマーマレードのパッチを踏んだことに気付いたとき、最大の笑いが爆発しました:-)
教師自身も非常に前向きな印象を受けました-フィードバックから判断すると、これはこのグループでこれまでで最高で面白いキャリアデーでした。素晴らしいアイデアをありがとうございました!
改善できるもの(次回):
しかし、全体として、私は結果に非常に満足しています。そして、私は子供たちが核となるメッセージを受け取ったと確信しています:プログラマとして、混乱を避ければ、パンを作ることができます(マーマレードでも:-)
以前にこれをやったことがあります。
私はテーブルの上にたくさんのペーパータオルを置き、(安い)パン、バターの小さなof、ゼリーの小さな瓶、プラスチック製のバターナイフを取り出しました。
私は子供たちに、「コンピューターは賢いと思いますか?」と言いました。彼らのほとんどは手を挙げた。私は言った、「コンピュータは本当に馬鹿だ。人々は頭がいい。あなたはコンピュータに伝える必要があるすべて。それはどうすればいいのかわからない何でも。私が言いたいことをお見せしましょう。私はコンピューターのように愚かなふりをするつもりです、そして皆さんはサンドイッチの作り方を教えてくれます。」
そして、最初の子供が「パンの袋を開けて!」と言ったとき。袋を引き裂き、パンをテーブル全体にランダムに落としました。多くの笑いがありました。私は子供たちが短い特定のコマンドを与えることを学ぶまで文字通り彼らの言葉を取り続け、最終的にはバターとゼリーのサンドイッチになりました。たくさんの笑い声がありましたが、プログラマーが生計のために何をしているのか、少なくとも少し理解していました。
(注意してください、私は「プログラミング入門」クラスで大人とこのデモンストレーションを行いました、そしてそれは彼らと同様にうまくいきます。)
ロゴの運動感覚バージョンを実行するのはどうですか?
2人の子供が並んでいるとします。彼らは、コマンド「前進」、「後退」、「左に90度回転」、「右に90度回転」のコマンドのみを使用して場所を切り替える方法を理解できますか?迷路を通るようなゲームは他にもあるはずです。
あなたが彼らを動かし続けることができるならば、私はあなたが彼らの注意を保つと思います。これはspark関心。彼らは仕事が座りがちであることが後でわかるでしょう。;)
コンピューター上で何も見せようとしないでください。他の誰かがタイプするのを見るのは大人にとって退屈です。 5歳の場合、それは無秩序のレシピです。
代わりに、インタラクティブにします。 「Simon Says」の形式ですが、それらがありますプログラマーになる。
私はこれを試したことはありませんが、楽しいかもしれません。
各子供の属性を使用して、アルゴリズムを物理的にデモンストレーションします入力データとして。
たとえば、それらを並べて(最初に行った順序に関係なく)行を形成します。これは、半円でうまく機能する可能性があるため、お互いがエクササイズをしているのを見ることができますが、どこかに行の区切りが必要です。次に、行の一方の端から順番に、「左のクラスメートがあなたより背が高い場合は、場所を切り替えます。そうでなければ、そのままにしておきます。」ラインを通過するとゲームは終了し、誰も場所を切り替えません。それらを取得して結果を観察します。 (ヒント:バブルソート!)
子供たちをプログラミングに変えるには、ロールスロイスの幼稚園まで車で行き、豪華な大切な人と一緒に歩きましょう。
ビル・ゲイツではない場合は、退屈な会議に1日4時間座って、TPSレポートのカバーシートを2時間印刷し、前の無知なプログラマーによって書かれた愚かなものを見つめる必要があるだけです。他の6時間。 (それから、あなたがあなたの最後のプログラムを維持していて、あなたが前の無知な人であると思う人々から電話をかけることに言及する必要はありません)。
いいえ、私は苦くないです、なぜあなたは尋ねますか?
真剣に、(私はこれらの3つのスレッドの1つから無意識に盗用していると確信しています)、彼らに「Yのやり方に関する指示を与えてください」、あなたが物事をGenieのやり方でやっている-指示が非常に正確で、クリア。子供たちがアラジンを見たと仮定して、実際に魔神を良い例として挙げてください。
; ^)
簡単なこと(部屋に入って席に着くなど)を行うための短いプログラムを作成し、文字通り実行して「バグ」を実証します。あなたが物事を間違って行うこと。その過程で自分を傷つけないようにしてください。それは面白いはずであり、アルゴリズムが何であるかについてかなり良いアイデアを得るでしょう。
次のデモは20分でできると思います。たぶんそれは年長の子供により適しています。私は幼稚園児が何ができるのか本当に知りません。私は個人的にプログラミングを説明しようとするのを避け、代わりにプログラマーが解決する問題を説明します。たとえば、十分な数の子供がいる場合は、インターネットをインタラクティブにデモンストレーションできます。
パートI:仕組み
まず、できれば小道具を使って、インターネットの仕組みを説明します。ケーブル(視覚効果のため)で接続されたラップトップをホームルーターに持ち込みます。ラップトップのプログラム、ルーターのプログラム、インターネットに接続された携帯電話などの他のデバイスのアプリケーションなど、コンピュータープログラマーがあらゆる種類のデバイスを作成する方法を教えてください。
世界中のすべてのコンピューターからすべてのコンピューターにケーブルを接続することは不可能であるため、コンピューターが互いに直接接続されていないことを説明します。あなたの家には10億本のケーブルが必要です。その代わり、コンピューターはルーターに接続します。そして、ルーターは、最終的に他のコンピューターに到達するまで、他のルーターにデータのパケット(電子メール、写真、ビデオなど)を渡します。
コンピューターが別のコンピューターと通信するためのルールを説明します。
コンピューターはルーターにのみパケットを与えることができます。
ルーターは、接続されているコンピューターまたは最も近いルーターにパケットを送信できます。
この説明は非常に短くする必要がありますが、ルールを強調します。おそらく、パケットを電子メールまたは写真と同一視する必要があります。
パートII:インタラクティブタイム
その後、3人の子供がルーターに志願します。他のすべての人はコンピューターであり、それらを均等に分割します。彼らが保持できる色のカードを持っていると助かります。濃い青のカードを持っている人のように、明るい青のカードを持っているすべての人と話すことができるルーターです。青、赤、黄色のカードを配ったとしましょう。
「ルーター」を青、赤、赤の順に一列に並べます。その後、青色のルーターは、黄色のルーターにパケットを渡すために、赤色のルーターにパケットを提供する必要があります。他の子供たちをルーターの周りにグループ化します。
各子供に「パケット」を持参してください。写真、文字、三目並べのプリントアウト、ゲームを象徴するものなどと混ぜてください。単一の赤いコンピューターを黄色のコンピューターに送信することから始めます。
「アシュリー、写真を送りたい黄色いコンピューターを選んでください。OK、ブライアンに写真を送るには、ルーターのケリーにそれを渡さなければなりません。写真を撮るべきだとケリーに伝えてください。写真をブライアンに渡すことはできません。ティミーに写真を渡す必要があります。写真を手に入れるべきだとティミーに伝えてください。ティミーは赤いので、ブライアンに渡すことはできません。 、ブライアンは黄色のコンピューターであり、あなたは黄色のルーターなので、写真をブライアンに渡すことができます。」
その後、誰もが「パケット」を送信する1人の人を考えて、あなたの即興ネットワークが実際に動いているのを見ます。
パートIII:コンピュータプログラミングに関連する
最後に、一度に写真を提供しようとする人が多かったため、ルーターになりやすいか、難しいかをルーターに尋ねます。物事がどこでうまくいかなかったかを指摘し、それを私たちが解決する実際の問題に結び付けます。
「誰もがパケットを送信しなければならなかったので、ティミーはパケットで過負荷になっていることがわかりました。コンピュータープログラマーとして、私たちは毎日このような問題を解決しなければなりません。別のルーターを使用すると、Timmyのパケットが多すぎて配信できない場合、代わりに別のルーターに渡すことができます。」または「写真をより速く配信したいので、他のパケットを配信する前に最初に画像を配信するようにルーターに要求できます。」
既に投稿されている他のアイデアから借りるには、Simon Saysのゲームが最適です。ただし、コンピューターが指示どおりに正確に行う方法を強調できます。だから、子供たちがサイモンであり、彼らが言うなら、「サイモンは座っていると言う」。床に座るだけです(近くの椅子などに座ってはいけません)。精神ではなく手紙の指示に従ってください。 (もちろん、これは子供たちにあいまいな指示を出すのを難しくするかもしれませんが、私はあなたが何かを思いつくことができると確信しています。)
それ以外に、子供たちが使ったかもしれないビデオゲームや他のコンピューターの「もの」について話すこともでき、あなた自身のようなプログラマーがそれらを作成したと言うことができます。そして、Simon Saysに飛び込んで、それがどのように機能するかを示してください。もちろん、これはあなたがコンピューターでサイモン・セイズをプレイして一日中仕事に費やしていると考えている子供たちの束に成長する可能性があります...
プログラミングに慣れていない人に短時間でプログラミングを説明しようとするとき、レゴを使用して説明します。レゴを使用すると、簡単なものがたくさんあります。これはプログラミング言語のようなものです。その後、好きなようにそれらをつなぎ合わせ、正しい部分があれば想像できるものを作ることができます。
大人と子供にとって、これは非常に興味深い類推である可能性が高く、プログラミングの概念を示しています。
また、レゴ車を貧弱に構築し、非常に素敵なデザインのレゴ車を表示し、プログラミングがこのようなものであることを見せることもできます。車やロボットなど、想像できるものなら何でもプログラムできますが、それを行う方法は1つだけではなく、多くの方法があります。いくつかは他よりも優れています。
私は非常に多くの人々にプログラミングを始めさせ、このアナロジーで専攻を切り替えさせました。 :)
私は時々自分の仕事をレゴのレンガで遊ぶと考えています。さまざまなサイズ、形状、色のレンガのセットから始め、そこから大きなものを構築します。同じレンガのセットを使用して、城やスターウォーズのロボットを構築できます。
そして、それはほぼ同じ量の楽しみです!
プログラミングの主な利点の1つは、物を作成するの機能です。夢をかなえるために。とにかく、想像力を自由に動かせる問題のない小さな子供たちには、これがあまり魅力的ではないと思います。コンピュータはテーブルに何をもたらしますか?
代わりに、問題解決のパズルに興味を持たせることができます。プログラミングに必要な種類の思考。おそらくコンピューターをまったく使用しないでしょう。代わりに、魅力的な数学的パズルを解かせてください。難しくする必要はありませんが、それはべき創造的な思考を伴います。
コンピュータプログラミングの普及について話します。航空会社、電話、車、オンラインでチケットを購入する方法などをガイドします。
次に、シンボリックに簡単なプログラムを書くように彼らに教えます-1.黒板にグリッドを描きます。
2。一方の端にチーズを描き、もう一方の端にマウスを描きます。 3.チーズを手に入れるために、それらを「プログラム」してください!
クラスとして失敗した試みを彼らに歩かせて、たぶんマウスをtrapに落としたり、グリッドに何かを入れてください。彼らはそれからスリルを得るでしょう。
私は、コンピューターについて2〜3分間話をすることから始めて、何をすべきかについての指示に従うと思います。
次に、事前に構築されたLEGO Mindstormロボットでデモを行い、プログラムを数回実行して実行します。プログラムに従っていることを示すためです。マインドストームプログラミングは非常に視覚的で、簡単に把握できます。
最後に、信号機、電子レンジ、お気に入りのおもちゃなど、ほぼすべての場所でプログラムを実行しているコンピューターがあることを説明します。
プログラミングとは何かを子供たちに教えるには?
まあ、最初のステップはいくつかの牛を巻き込む可能性が高いです!
シンプルなプログラミングゲーム( IQ Marathon など)をラップトップにダウンロードし、プロジェクターに接続します。これを行っている間、プログラマーであることが、最近のテクノロジーを使用して作業することを意味することについて話すことができます(それにより、それを行うデモを行うことができます)。
設定したら(5分以内に機能するように練習してください)、ゲームを使用して非常に視覚的に(そして牛を使って)表示することができます。そして、あなた(プログラマー)があなたが望むことをするためにどの命令が必要であるかを理解しなければなりません。あなたがそれを正しくするとき、誰もがあなたの成功に非常に満足しており、踊る牛がいます!
そこから質問に答えたり、子供たちに牛を自分でプログラムする方法を試してもらうことができます。本当に行きたいところです。
牛!
各子供にカットアウト形状を与えます。円、正方形、三角形、さまざまな色など。プログラミングがどのように特定の順序で指示を与えているかを説明します。スマイリーの顔の写真を持ち、子供たちにそれを組み立てる方法を説明します。黄色の円、黒い点、黒い点、円弧。次に、より複雑な写真を見せ、指示に基づいて順番に子供たちを出してもらいます。間違いを犯して(黒い点の上に黄色い円を置くなど)、「バグ」がプログラムに忍び寄る様子を示すこともできます。
シンプルなレゴマインドストームロボットとそれに対応するフローチャートのデモを行います。その後、コードを表示する必要はなく、レゴがプログラムを実行するのを見て、ロジックの最終結果を見ることができます。
子供たちは、「何かをする」ことや光を点滅させることが好きです。
息子の誕生日には、PCに接続された金庫(電気錠とたくさんのLED付きの箱)を作りました。
回答する質問がいくつかあり、それぞれの回答でLEDが点滅しました(良い回答は緑色、間違った回答は赤色)。彼らが十分な質問に正しく答えた場合、LEDは単純なアニメーションを開始し、大声で「閉ざされた」で終わりました。金庫は現在開いていて、彼らは報酬を集めることができました。
構築するのは楽しかったし、子供たちはそれを愛していました。
無人の自動化の価値でそれらを販売します。子供に部屋の前まで歩いてもらい、毎晩歯磨きをしているときにクラスの様子を見せます。次に、同じ子供に、歯を磨く必要がなかった場合にその間に何をしていたかを見せてもらいます。
それから、その子供に、自分がやろうとしている他のことをしている間に、そのブラシを歯の上で動かす方法を知っていることを伝え、それを決して感じないことを伝えます。母親が次に検査に行くとき、彼の歯は魔法のようにきれいになります。
次に、チョークボード上に、Favoriteアクティビティの背後にあるバックグラウンドスレッドでToothリソースにアクセスするBrush APIを示す擬似コードを作成します。