スポンサーリンク

小学校でもプログラミング教育がはじまるというので、子供を連れて体験教室に行ってきた~プログラミング教育では何を教えるの?

コトを語る

2020年から小学校でもプログラミング教育がはじまるということで、うちの子供がドンピシャにあてはまります。

具体的な教育内容は学校に任せられているらしいのと、小学校の場合は、何らかのプログラミング言語を学んでプログラミングをバリバリやるというよりは、プログラミングを組み立てるための論理的思考を習得することにフォーカスが当てられるようです。

私は京都市内に在住していますが、プログラミング教室をよくみかけるようになりました。

先日、子供が興味を持つかを確認する意味も込めて、市内のプログラミング教室の無料の体験学習に連れて行きました。

プログラミング教室のタイプは2タイプある

おおむね子供向けに使う教材は以下の2タイプに分かれるようです。

  • ロボットプログラミング
  • パソコンメインのプログラミング

ちなみに私の行った教室は、両方を扱っていました。

ロボットプログラミング

調べてみたらロボットプログラミングといっても、様々な教材があるのですね。最も有名なところでは、レゴのマインドストームでしょうか。私の行った教室では、小学校低学年向けにレゴの WeDo 2.0、高学年以上には マインドストームEV3 を使っていました。

レゴ WeDo 2.0 の製品紹介はこちら(レゴ社 HPに飛びます)

レゴ マインドストーム EV3の製品紹介はこちら(レゴ社 HPに飛びます)

こうしたロボットキットには、最初からレゴブロックを組み立てて作れるものが10種類以上用意されています。ブロックには、モーターやセンサーが内蔵されたユニットがあり、これを中心に他のレゴを組み合わせて、造形していく感じです。

そして、組み立てたモノに対し、パソコンやスマホ上で、ユニットのモータやセンサーを動かすためのプログラムを書いて、Bluetooth で無線接続して、動作させていきます。

モーターにタイヤをつけて、モーターを回すプログラムをかけば、自動車ができるという感じです。

また、プログラムといっても、C言語とかいったバリバリのプログラミング言語ではなく、命令が図示されたブロックをつなげていくだけなので、子供にとっても直感的にわかりやすいと思います。

iPhone版のWeDo2.0アプリ(試しにアプリをダウンロードしてキャプチャしました)

上の画面だと、「モータをスタートする/モータを右回転させる/センサーが検知するまでその状態を維持する/モータを止める/音を鳴らす」というプログラムになりますかね。。。

パソコンメインのプログラミング

文字通りパソコン上でプログラムを書いて、動作結果をパソコン上で確認していくタイプです。

何を使ってプログラミングをするかというのは、教室や生徒の対象年齢によって変わってくるようです。

ざっと調べてみた感じ、下記のものを使うのが多いようです。下にいくほどより高度になり、対象年齢も上がってくると思います。Unityなんかはプロ向けのツールですけど、私の行った教室ではそのコースもありました。

これらのツールを使ってゲームを作るという教室が多いようです。体験させてもらった教室では、小学校低学年向きということで、スクラッチを使っていました。

スクラッチは小学校低学年からできる世界的にもメジャーなツール

スクラッチは、アメリカ・マサチューセッツ工科大学のメディアラボが無償で公開しているビジュアルプログラミングツールです。Webアプリとして公開されているので、インターネットの接続環境とブラウザがあれば無料で使用できます。(オフライン版もあります。こちらも無料)

スクラッチのHPはこちら

キャラクターとかのオブジェクトに対し、あらかじめ命令が書かれた画面上のブロックをつなぎ合わせてプログラムを作る形式です。日本語に完全対応しているのと、主にマウスを使用するため、キーボード操作に不慣れな小学生でも利用しやすいです。(ちなみに、まったくキーボードを使用しないというわけではありません。キャラクターに名前をつけるとか、コードブロック(関数)に名前を入力することがあるので)

スクラッチのオンラインエディタ画面
日本語で書かれた命令ブロックをつなげていくことでプログラミングができる。
条件分岐とかループといったプログラミングっぽい制御もちゃんとできる。

また、アカウントを作成すると、自分のコードを公開もでき他のユーザーからフィードバックをもらったり、他の人の作品をコード付きで見ることができます。こういうユーザーコミュニティがあると、興味を失わずにモチベーションを維持することもできそうです。

アカウントを作ってサインインすると、世界中のユーザーが作った作品を見て、遊んで、参考にすることができます。

小学生のプログラミングで大事なこと

プログラミング言語の文法を気にせずに直感的にプログラムが書けること

体験教室を見学して感じたことは、子供に対しては、プログラミング言語の書き方や文法よりも、自分で考えてロジックを組み立てることに、いかに集中させるかが重要なのだなあと。

そのため、世にあるツールの多くは、プログラムを動かすための余計な労力を極力省き、あらかじめ命令が書かれているブロックを自由自在に組み合わせていくタイプです。

また、容易にトライ&エラーができることも大事だと思いました。学校の他の科目と違って、間違ってなんぼのところはありますし、同じことをやるにしてもいろいろな方法がとれるのもプログラミングの特徴です。試行錯誤をして自分なりの答えをみつける訓練をするということが何よりも重要だと思いました。

そういう意味では、周りの大人の忍耐力も試されるかもしれませんw じっくり考えて失敗を繰り返すことに意義があるので、せっかちに答えを求めたり、すぐに助け舟を出したりしてはいけません。

スタートはとにかく簡単な処理を書いて実際に動くことを実感させること

最初に何から始めればいいかというのは難しいですよね。

もし、自分の職業がプログラマーだったとしても、何も知らない小学生の子供に教えられるかというと相当に難しいと思います。自分がわかっている分、いろいろと理屈とか仕組みを説明しまくると思いますが、子供がいきなりそれを理解できることはないです。

大人がプログラミング言語を学ぶときと同じですが、簡単な処理を書いて、実際に動かしてみて、それを徐々に応用させていくことになります。理論より実践ていうやつですね。

ただし、よくある「Hello World」をパソコンの画面に表示するというのは、子供にとってはまったくつまらないですw 何かのキャラクターをボタンを押したら画面上を動くようにするとか、線を描くとか、ビジュアルで実感できないと興味を持ちません。

あと、プログラム教室の体験教室に行ってみるのもおすすめです。子供に教えるというノウハウがありますからね。親も勉強になります。

子供が興味をもったら親も一緒に勉強しよう

子供が興味をもったら、プログラミング教室に通わせてもいいでしょうし、家でやらせるのもいいでしょう。もし、自分自身がパソコン操作やプログラミングが苦手なら、一緒に勉強するつもりで接してあげましょう。

最低限、一通りのパソコン操作はできた方がよいです。子供が熱中してパソコンを操作しているうちに、操作を誤って、ツールウィンドウを非表示にしたりとか、文字入力ができなくなったりとかちょっとしたトラブルに間違いなく遭遇しますので、それをさっと直してあげることができれば、親の株も上昇すること間違いなしですw

文部科学省の外郭団体が作った小学校のためのプログラミングポータル

ネットをみていたら、こんなサイトを見つけました。

小学校のための中心としてプログラミングポータル

小学校を中心とした教育現場におけるプログラミング教育の取り組み内容や事例を紹介するサイトです。

その中にあった実施事例で使われている教材一覧ページ(こちら)を見てみると、有料・無料を含めて様々なプログラミングツールがあって素直に面白いなと思いました。自分の行っている小学校では何を使うのでしょうね。。。

教材一覧ページの一部です。私が見た時点で30種類程度のツールが紹介されていました。
これだけ多いと先生も何を使うか選ぶのが大変そう。。。

結局、プログラミング教室に通わなかったけど…

プログラミング教室の体験教室を受けてみて、もし子供が興味を持ったら、通わせることも考えましたが、結局それには至りませんでした。

うちの子はまだ小学生低学年なので、教室への送り迎えが必要なのですが、教室のスケジュールとどうしても都合が合わなかったからです。

ロボットプログラミングは初期費用がかかる一方で、パソコンメインのツールは無料のものが多い

ロボットは見た目がキャッチーですよね。実際のモノを作って、それを実際に動かすプログラミングを書くことになるので、特に小さい子供にはとっつきやすそうです。

ですが、ロボットの場合、ロボットを購入することが必要になります。プログラミング教室に通う場合も、最初に購入することが求められるところが多いようです(教室によってはレンタルも可能)

しかも、初期投資にけっこうなお金がかかるのですよね。WeDo 2.0 だとアマゾンで2万5000円以上、EV3 で5万円程度します(2019年11月時点)

一方で、パソコンメインのプログラミングツールについては無料で使えるツールが多いです。紹介したスクラッチや Make.Code は無料、マインクラフトは数千円程度、Unityは個人利用で使う分には無料(公開するとかなると規模によってライセンス料が必要になる)ですので、初期投資はほとんどかかりません。

将来への発展の可能性を考えると、スクラッチからプログラミングを始めるのがよさそう

ロボットプログラミングの場合、プログラミングでできることはロボットができることに限られてしまいます。極論すると、モーターを動かすのと各種センサーの値を読み込むことの組み合わせなので、プログラミングの幅という意味では限界がある気がしています。

スクラッチ場合は、見た目は簡単そうですが、本格的にプログラミングをやるなら避けて通れない条件分岐、繰り返し(ループ)処理や、処理を関数としてまとめるといった本格的なプログラミング言語でも必要となるルーチンを書くことになるので、次にステップアップしやすいと思いました。

それこそ、スクラッチからはじめて、本気になったら、C#言語を勉強してUnityに移るといったことができそうです。


我が家の場合、教室には結局通いませんでしたが、うちの子は、結構興味をもってくれて、私のお古のパソコンを使って、スクラッチで作れるゲームプログラム本を見ながら、家で日々格闘しています。

最初は、本に書いてあるとおりに作っていましたが、ゲームのステージを増やしたり、音楽を鳴らす条件を変えてみたり、表示するキャラクターの絵を自分で書いてみたり、敵キャラを増やしたりして、自分なりに工夫して遊んでいます。いい傾向ですねw

小学校でどういう教育をしていくのか、それぞれの学校の方針や先生の力量にかかってくる部分が多く、まだまだ未知数ですが、そこで学んでほしい論理的な問題解決というのはとても大事なことですので、うまくいってほしいものです。