アナログゲームでプログラミングを学ぼう!遊びながらトレーニング
公開日: 2019/10/01
2020年度から小学校で、いよいよプログラミング教育が実施されます。プログラミング教育については、ここ数年の間、注目されてきており気になっていた方は多いのではないでしょうか。ここではプログラミングとは一体何なのか、また、なぜここにきてプログラミング教育が実施されることになったのかについて、一緒に考えてみましょう。
プログラミングとは
それではまず、今いる場所から周囲を見回してみてください。何が見えますか?ボタンを押すと思った通りに動くモノ、近づいただけで動くモノなど、さまざまなデジタル機器が目に飛び込んできませんか?スマートフォンは、画面を指でタップするだけで友だちと繋がり、コミュニケーションがとれます。部屋の中を隅から隅まで掃除してくれるロボット掃除機を使用している人もいるかもしれません。そういうモノたちは、決して勝手に動いているわけではありません。人間がこう動いて欲しいと思う条件と命令を記憶していて、その命令に従って動いています。その命令の集まりをプログラムと言い、その命令の集まりを作ることをプログラミングと言います。
プログラミングに必要な能力、資質
まず、命令の集まりを作るためには言葉が必要です。人間がわかりやすい形で機械に命令できるようにした言葉のことを「プログラミング言語」と言います。プログラミング言語は、何種類も存在しています。例えば、スマートフォンの中でアプリをタップした時に使われる言葉と、ロボット掃除機に命令する時に使われる言葉は違います。ただし、それはあくまでも言葉の種類や使い方、文法が違うというだけのことです。使う言葉は違っても、プログラミングの本質は全く同じです。それでは、次にプログラミングの本質、つまりプログラミングに必要な能力や資質について考えていきましょう。
論理的思考力
「朝起きて、学校に到着した。」これは友だち同士の会話では成り立ちますが、論理的ではないことがわかるでしょうか?なぜかというと、朝起きることと、学校に到着することに直接的な因果関係はないからです。例えば、あなたがロボットだったとして、朝起きてから学校に行くまでのプログラムを考えてみてください。いかに多くの手続きを踏む必要があるのか想像できるでしょう。まず起きて、体を起こし、布団から出て、そして部屋を出ます。顔を洗ったり、着替えたり、朝ご飯を食べたりするでしょう。靴を履いてやっと家を出て、まっすぐ進んだ後、3番目の角を曲がって、その次は…。このように、手順を具体化し、筋道を立てていく必要があります。目的までのあらゆる手順を効率よく整えることも、プログラマーに求められる重要なスキルです。
問題解決力
しかし、プログラムというものは、作ったようにしか動きません。プログラマーという職業は、「思った動き」と「作った動き」のギャップに悩まされ続ける職業であり、そのギャップを埋めるには客観的な視点が必要です。また、システム開発の現場では、当初の想定を大きく外れ、不測の事態に直面するということが多々あります。その場合は、なぜこうなったのか、どうしたらこうなるのかと分析し解決を目指します。複数の解決策が浮かび上がってくる場合もありますが、ベストな解決策がない場合や、正解がない場合もあります。そこでどんな解決方法を選択するのか、それはプログラマーの能力の一番のみせどころとなります。
想像力
プログラミングは、非常にクリエイティブな作業です。同じ目的をもったプログラムであっても、プログラマーによって考え方が異なるため、手順が全く違ったものができあがります。また、ほんの少しのロジックの入れ替えで、全く別の動作をしたり、別の意味合いが発生したりすることもあります。もっとこうしたらどうなるだろう、次はこうしたら面白いなど、プログラマーの想像力によって、プログラムは無限の広がりをみせるのです。
学習意欲
IT技術は未だに進化し続けています。当たり前だったシステム構成やプログラミング言語がいつの間にか時代遅れとなり、新しい開発技法や技術があっという間に主流になるような、そんなことがこれからもあるでしょう。プログラマーには、変化を柔軟に受け止め、新しいモノを生み出していくという気概が求められます。「論理的思考力」「問題解決力」「想像力」「学習意欲」といったプログラミングに必要な能力は、コンピューターの世界の中だけにとどまらず、子どもが自分の力で夢を叶えたり、困難を乗り越えたりと、現実世界を力強く生き抜いていくために必要な能力でもあります。プログラミング教育を通して、子どもたちがそれらの能力を身につけていくことが、プログラミング教育の目的でもあるのです。
プログラミング能力を養えるアナログ玩具「ころがスイッチ ドラえもん」
そこで現在注目されているのが、コンピューターの専門的な知識がなくても、プログラミングの本質が学べるアナログプログラミングという方法です。ボードゲームやパズルゲームといった形でさまざまな商品が発売されています。今回ご紹介するのは、その中でも少し異色の玩具「ころがスイッチ ドラえもん」という商品です。
「ころがスイッチ ドラえもん」は、「ブロック」「レール」「ひみつ道具スイッチ」という3つの要素を組み合わせて、ボールをドラえもんまで届けることをゴールとする、シンプルなのに奥が深いゲームです。まず、「ころがスイッチ ドラえもん」で面白いのは、他のボードゲームやパズルゲームとは異なり、大前提となる物理的な縛りが存在しているところです。「ボールは上から下へ転がる」という大前提の中で、子どもは知らず知らずのうちに、一つひとつの事象の因果関係を、物理的に考えるようになるのです。また、複数用意された「ひみつ道具スイッチ」は、上から下へ転がるだけだったボールのアクションを多彩にしています。本来であればあり得ない、下から上への移動やボールが複数に増える、といった変則的な動作を行うスイッチの導入で想像力は更に膨れ上がります。次に、要素をどう組み合わせるかを考えた後は、実際に組み立てる作業を行います。そもそも思った通りに組み立てられない箇所が出てくることもあるでしょう。その場合は再度、作り方を考え直すことになります。頭の中のイメージを現実世界に具現化できた後は、実際の動きを試します。思った通りに動くまで改善を繰り返します。
これはコンピュータープログラミングを行う際の実際の流れと全く同じです。「ころがスイッチ ドラえもん」をクリアしてくことで、「論理的思考力」「問題解決力」「想像力」「学習意欲」といったプログラミング的な思考と能力が、自然と身についていくのです。
アナログプログラミングで楽しくプログラミング能力を養おう!
プログラミング能力を養うためには、コンピューターの専門的な知識が必要だと思っていた方たちにとって、アナログプログラミングは強い味方となるでしょう。お子さんが将来、自分の夢を叶えようとする時や、困難に立ち向かう時に、プログラミングで養う能力は大きな力となります。将来の可能性を広げるアナログプログラミングをお子さんと一緒に楽しく始めてみませんか?
<参考>ころがスイッチ ドラえもんhttps://www.asovision.com/corogaswitch/文部科学省「小学校プログラミング教育の手引き:文部科学省」http://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1403162.htm