どうも!プログラミング教室講師のえいとです!
小学校1年生~中学3年生までの生徒にプログラミングを教えていますが、生徒によって学習効果の差があります。
特に小学校低学年~中学年ではプログラミングのスキルや考え方をグングン身につけていく子と、なかなか思うように伸びていかない子の差は大きいです。
せっかく子どもにプログラミング学習をさせるなら効率良く伸びていってほしいですよね!
僕のプログラミング教室では小学2年生の生徒が10人ほどいますが、伸びていく子の共通点はある3つの力が高いことです!
- 子どもがプログラミング学習をしている
- プログラミング学習効率を上げたい
- プログラミング学習が遊びになってしまわないか不安
学習効果が高い子どもの共通点
学習効果が高く、グングン成長していく子どもの共通点は次の3つの力が高いことです。
- 素直に真似する力
- 何をしているのか考える力
- 間違えた原因を探る力
この3つが備わっている子はプログラミングの知識もプログラミング的思考力もどんどん吸収していきます。
小学校低学年でこの3つの力を全て身につけるのは正直難しいです。
どれか1つだけでも身につくだけで十分学習効果は得られます。
一番の基礎となる力は『素直に真似する力』です。
成長スピードが早い子どもは必ずと言っていいほど共通してこの能力が高いです。

基礎あっての自分流やもんな!
素直に真似する力
プログラミング学習では多くの場合、お手本や指示があります。
まずはそれを真似するところからはじまります。
プログラミング教材はパソコンにはじめて触る子どものために、最初は簡単な内容であることが多いです。
そしてプログラミングの組み立て方や新しいコマンドはすこーしずつ増えていきます。
新しいコマンドは1回の授業で1つと考えてください。
なぜこんなにゆっくりかと言うと、新しい知識を定着させるために何度も繰り返し練習するためです。
小学校の算数でも足し算を学んだら足し算をひたすら練習しますよね。
1ケタ+1ケタ、繰り上がり、1ケタ+2ケタ、と言った具合に少しずつできることを増やしていきます。
プログラミングも同じで少しずつ進むのですが、プログラミングは答えがひとつじゃない場合があり、それが原因で新しい知識を吸収できていない子が出てきてしまいます。
次の画像を見てください。
犬がゴールまで行くためのプログラミングをします。
上下どちらのプログラミングでもゴールまでたどり着くことができます。
どちらでも全く問題ありませんが、向きを常に前に向けている方が頭の中でシミュレーションしやすくなり、より素早くプログラミングすることができる場面があります。
また間違えた時にどの辺のプログラムをどう修正すれば良いかという判断も、常に前を向けてプログラムを組んだほうがやりやすくなります。
向きを変えるコマンドを覚えずに進んでしまうと、技が一つない状態で戦うことになってしまいます。
足し算引き算もひっ算を覚えなかったら答えは出せてもかなり効率悪いですよね。
それと同じでプログラミングもあると便利なコマンドがたくさんあるので、全て理解していくと学習効果が高まります。
知っているコマンドだけでなんとか進めるのではなく、新しいコマンドをたくさん覚えていくことが後々の学習効果の差に繋がるので、まずは素直に先生や教材の指示に従う素直さが重要になってきます。

プログラミングに限ったことではないな!

何事もまず真似することだよね!
何をしているのか考える力
自分が今何をしているのかを考えることができれば、どんな時も最大の学習効果を得ることができます。
プログラミングでも、「あぁ今回はループをやっているんだな」と思って取り組めばループを使ったプログラムの組み方をしっかりインプットできます。
ループを使わずにプログラムを書くとプログラムが長くなりますが、長いプログラムを毎回作って進もうとする子も中にはいます。
先生や教材の言うことを聞かず、ループを覚えようとせずに今までのやり方で長いプログラムを書いているのです。
それも正解なんですけど、やはり効率が悪いので周りの子より遅れていってしまいます。
繰り返しの回数がもし10回や100回だったら、、、
何をしているのかをきちんと考えている子はループを覚えて、次から繰り返しを使える場所を探して新しい発見を次々と見つけていきます。
また何をしているのかを考えている子は自分から進んでノートにまとめていたりします。
使えるようになればいいというわけではなく、ループ処理の意味が大事なのだということを理解しているからです。
何事においても「今なんのために何をしているのか」を考える力は大事ですね!
間違えた原因を探る力
プログラミングは間違えないということがあり得ない世界です。
間違えることが当たり前なので、会社の中にも修正のみを行うチームがあるくらいです。
プログラミングの修正は『デバッグ』と呼ばれています。
デバッグ作業で少しずつ理想のプログラミングに近づけていき、最終的にプログラムが完成します。
プログラミング学習でも同じで、1度で上手くいかなかった場合、デバッグを行ってもう一度試してみることが求められます。
次の画像を見てください。
プログラミングが未完成のため、一度実行したら途中で止まってしまいました。
しかし同じプログラムをあと2回実行するとゴールまでたどり着けてしまいます。
私たち講師もなるべくスタート地点に戻ってプログラムを見直すように言うのですが、これで進めるからと次に行ってしまう子も中にはいます。
途中で止まった時に、スタート地点からやり直す癖ができている子は、何が間違っていたのかを探り、問題を解決するデバッグ作業がどんどん得意になっていきます。
これらの力はいわゆる「課題抽出力」と「課題解決能力」に直結します。
プログラミング学習でより効果を上げるためには問題点を自分で考えることが非常に重要になってきます。
子どもにプログラミング学習をさせるときは間違った時こそ成長のチャンスだと考えてデバッグをしましょう!
まとめ
この記事では『プログラミング学習の効果が早く出る子供の共通点』をご紹介しました。
共通点は次の3つの力でした。
- 素直に真似する力
- 何をしているのか考える力
- 間違えた原因を探る力
この3つの力は日ごろの生活やプログラミング以外の学習の際にも育てることができます。
ぜひ子どもの成長のために意識して伸ばしていきましょう!