2020年から小学生のプログラミング教育が必修化されることになりました。
ウチの子にプログラムなんて分かるかしら?
授業についていけるか心配だわ。。
このように感じているお父さん、お母さんも多いと思います。
本記事では小学校入学前からできるプログラミング教育の準備として、どんなことができるかご紹介したいと思います。
プログラミング教育の目的について
そもそも、なぜ小学校にプログラミング教育が導入されるのでしょうか?
文部科学省は以下のように発表しています。
文部科学省「小学校プログラミング教育の概要 1」より抜粋
子供たちがこれからの社会を生きていくためには、コンピュータをより適切に、効果的に活用していくことが求められます。「コンピュータはプログラミングで動いている」ことを理解する、つまりコンピュータの仕組みの一端を知ることによって、コンピュータはブラックボックスでなくなり、より主体的に活用することにつながります。
さらには、次のようにも述べています。
文部科学省「小学校プログラミング教育の概要 1」より抜粋
コンピュータを理解し上手に活用していく力を身に付けることは、あらゆる活動においてコンピュータ等を活用することが求められるこれからの社会を生きていく子供たちにとって、将来どのような職業に就くとしても、極めて重要。
つまり「コンピューターを使いこなすために、その仕組みを知るためにプログラミングを学ぼう」ということのようです。
ここから分かることは、システムやプログラムを作れるようになる必要はないということです。
「英語は読めるけど話せない」とか「車が動く仕組みは分かるけど直せない」といったレベルの習熟が目的と考えて良さそうです。
プログラミング教育をしないとどうなるか?
江戸時代。寺子屋が普及し、庶民の識字率が大幅に向上した時期があります。
字を読めるのが当たり前の時代になり、字を学んでこなかった人達が就ける職業が激減した(しかも低所得・低待遇)のは容易に想像できるかと思います。
まさに今、コンピューターを通じて同じことが起こると文部科学省は警告しているわけですね。
例えば昨今はリモートワークが注目されていますが、これも「自宅のネットワークにPCを接続できる程度の知識」があることが前提とされた働き方です。
このような特定のIT知識前提の仕事は増えていくでしょうし、職業選択の幅を広げる意味でも、小学生の頃からITの基礎知識を身に付けるのはあながち間違ってはないのかなと思います。
プログラミングは論理的思考から
「論理的思考(ロジカルシンキング)」という言葉を聞いたことはないでしょうか?
論理的思考とは、ものごとを筋道だてて考える能力のことです。
例えば……
- 部屋が散らかっているのはなぜか?
- おもちゃを片付けてないからだ
- なぜおもちゃが片付けられてないのか?
- 遊んだ後、出しっぱなしにしているからだ
こんな感じでものごとの流れを考える力のことを指します。
論理的思考ができれば、プログラミングは自然と理解できる
プログラムは論理的思考の固まりです。
そのため、論理的思考ができればプログラミングは容易に覚えることができます。
裏を返せば、論理的思考力が十分にないといつまで経ってもプログラミングは理解できません。
論理的思考はプログラミング以外でも役に立つ
本記事ではプログラミングの基礎能力としての論理的思考を紹介していますが、論理的思考はそれ以外の場面でも役に立ちます。
例えば「営業成績が上がらないのはなぜか?」「サッカーがうまくなるためにはどうすれば良いか?」といった、日常的な目標や課題に対して分析や掘り下げを行う力は、論理的思考力が関係してきます。
さまざまな場面で役立つ力ですので、プログラミングに興味がなくとも覚えておいて損はないと思います。
論理的思考力の育て方
とはいえ、子どもに「論理的思考」と難しいことを言っても絶対に理解してもらえないので、遊びを通して少しずつ覚えさせることになります。
エンジニア視点から見て、論理的思考が身に付きやすいと思う遊びをいくつかご紹介したいと思います。
パズル(対象年齢:0歳~)
知育玩具としても人気のパズルは、論理的思考を鍛える上で非常に優秀です。
最初はピースの少ない簡単なものから始め、成長に合わせてピース数を増やすことで自然と力が身についていきます。
パズル商品にはだいたい対象年齢が記載されていますので、こちらを目安にしてピース数を増やしていくのが良いと思います。
おおよその目安は以下の通りです。
1歳以下 | 10ピース未満 |
2~3歳 | 10~20ピース |
4~5歳 | 20~30ピース |
5歳以上 | 65ピース以上 |
最初は簡単な形合わせを楽しむだけですが、ピース数が増えるにつれ頭を使った遊びに発展していきます。
みなさんもパズルをする時、例えば以下のようなことを考えていると思います。
- 四辺のうち一辺が直線だから、これは枠のピース
- 二辺が直線だから角のピース
- この絵とこの絵のピースはつながるはず…
このような思考過程が実は「論理的思考」なんです。
パズルを楽しむこと自体が論理的思考力を鍛えることに繋がります。
数独(ナンプレ)、イラストロジック(対象年齢:5歳~)
スーパーの書籍コーナーでよく見かける数独(ナンプレ)やイラストロジックですが、論理的思考を鍛える遊びとして非常に優れています。
さすがに3歳児向けの遊びではありませんが、5歳児(保育園年長)くらいからなら、難易度の低い問題に取り組めると思います。
数字をヒントにマスを埋めていく思考は、パズルよりも高度な論理的思考を必要とします。
パズルに飽きたお子さんに対して、ちょっと挑戦的なゲームとして提案してみてはいかがでしょうか。
数字が好きなお子さんなら数独(ナンプレ)、絵を描くのが好きなお子さんならイラストロジックがとっつきやすいと思います。
ヒットアンドブローゲーム(対象年齢:6歳~)
「ヒットアンドブロー」または「Numer0n(ヌメロン)」という数字当てゲームをご存知でしょうか?
メモ
「Numer0n(ヌメロン)」は2012年~2013年にフジテレビで放送された、ヒットアンドブローゲームの番組です。
詳細なルールや遊び方については、こちらのサイトをご覧ください。
本来はお互いの隠し持った数字をあてるという対戦ゲームですが、お子さんとやる場合は親が問題を出し(数字を決め)、子どもが回答するという形でも良いと思います。
紙とペンだけあればできる簡単な遊びで、非常に高度な論理的思考を必要とします。
ゲームでは「123が1ブローで、415が1ヒットだから1が確定で……」のような感じで数字を絞り込んでいくのですが、この数字絞り込みのロジックとプログラミングのトライ&エラーのロジックは非常によく似ています。
このゲームを楽しむことができれば、小学校のプログラミング教育でつまずくようなことはほぼないでしょう。
スマホアプリもあります!
Hit&Blowオンライン(ヒットアンドブロー)
Amateral Inc.無料posted withアプリーチ
プログラミングに役立つテレビゲーム(ニンテンドースイッチ)
保育園年長さんくらいになると、テレビゲームをねだられる親御さんも多いのではないでしょうか。
ゲームに夢中になりすぎて、肝心の勉強がおろそかになってしまわないか、親としてはとても心配ですよね。
ただ、もともとプログラミングがコンピューターを動かすためのツールなので、プログラミング学習とテレビゲームはとても相性が良いのです。
ニンテンドースイッチには特にプログラミングの理解に役立つゲームがいくつかありますので、ご紹介したいと思います。
Minecraft(マインクラフト)(対象年齢:6歳~)
子どもに大人気の「マイクラ」は「現代版レゴ」と言われており知育要素があるゲームです。
ブロックを積み上げて好きなものを作る要素はレゴと同じですが、マイクラはゲームらしくそれに動きつけることができます。
例えば「敵が近づいたら自動で矢を撃つ装置」とか「ボタンを押したら床が動く(エレベーターのように移動できる)」といったギミックが実現できます。
そのためには「レッドストーン回路」と呼ばれる仕組みを作らなくてはいけないのですが、この回路がプログラミングやコンピューターの仕組みそのものだったりします。
「NOT回路」「AND回路」「クロック」などの「マイクラ用語」を子どもがつぶやき始めたらしめたもの。
残念ながら、それはマイクラ用語ではなくコンピューター用語です(笑。
ナビつき! つくってわかる はじめてゲームプログラミング(対象年齢:9歳~)
タイトル通り、プログラミングによってゲームを作るためのゲームです。
実際のプログラミングでは「関数」や「イベント」といったコンピューターの命令(仕組み)を複数組み合わせて、目的の動作を実現します。
ゲームではそれらの命令を「ノードン」というキャラクターに見立てて、子どもにも分かりやすくプログラミングが進められるように作られています。
「ナビつき!」と言うだけあって、順序だててプログラミングを学べる構成になっており、課題を全てクリアする際にはプログラミングについて理解がかなり深まっていることと思います。
公式には「小学校1年生から対象」となっていますが、個人的には3年生くらいが適当かなと思います。
かけ算や割り算、小数点といった1年生では習わない知識が必要になるためです。低学年生が遊ぶ場合は大人が少し補佐してあげましょう。
お子さんだけでなく、これからプログラミングを学びたい大人の方にもオススメです。
ファイナルファンタジーXII(対象年齢:12歳~)
日本を代表するRPG「ファイナルファンタジー」の12作目の作品です。
「FFが教育ゲーム!?」と驚かれた方もいるかもしれません。
もちろんFFらしく映像やストーリーが壮大で素晴らしいものですが、このゲームの戦闘システムがプログラミングにかなり近い仕組みになっています。
プレイヤーは「ガンビット」と呼ばれるアイテムを組み合わせ、キャラクターの行動を事前に設定しておき、戦闘はその行動ルールに従った自動戦闘となります。
例えば「HPが30%を切ったら→回復魔法を使う」、「目の前に敵がいたら→攻撃する」といった具合です。
さらにこれらの行動に優先順位を付けるのですが、当然設定がうまくいかないとキャラクターは意図通りに動いてくれないわけです。(味方が死にそうなのに回復アイテムを使ってくれない……などの事態が発生します)
プログラムは「逐次処理」「条件分岐」「ループ」の3要素の組み合わせでできているのですが、ガンビットシステムはそのうち「逐次処理」と「条件分岐」の仕組みを忠実に再現したシステムと言えます。
クリアする頃には、プログラミングの基礎的な考え方が自然と身に付いているでしょう。
注意!
レーティングがCERO:B(12歳以上)のゲームですので、気になる方はご注意ください。
論理的思考 → プログラミングの学習手順がおすすめ
プログラミング教育は、プログラミングの基礎となる論理的思考を最初に身に着け、その後プログラミング学習へと移行するのがおすすめです。
何事もそうですが、まずは基礎。それから応用というトレーニングをすると思います。
論理的思考が基礎、プログラミングは応用と分けて考えることでプログラミングは効率よく学べます。
個人的には、小学校に上がるまではひたすら論理的思考力を磨いているだけで十分じゃないかなと思います。
プログラミングは楽しい!
これまでプログラミングに縁がなかった方は「プログラミング教育」と言うと、非常に敷居が高く難しいものに感じてしまうかもしれません。
しかし実際には上述したようにゲームを通して気軽に学べるものだったり、大人であれば日常生活で実践している考え方が元になっていたりします。
「プログラミング!」と身構えずに、子どもと一緒に楽しみながら学んでいただけると一エンジニアとしてとても嬉しく思います(^ ^