どうも!プログラミング教室講師のえいとです!
小学校1年生~中学3年生の子どもたちにプログラミングを教えています。
見ていると、子どもたちによって学習効果の差があります。
特に小学校低学年~中学年では、プログラミングのスキルや考え方をグングン身につけていく子と、なかなか思うように伸びていかない子の差は大きいです。
せっかく子どもにプログラミング学習をさせるなら、どんどん伸びていってほしいですよね!
僕のプログラミング教室では小学2年生の生徒が10人ほどいますが、伸びていく子の共通点はある3つの力が高いことです!
- 子どもがプログラミング学習をしている
- プログラミング学習効率を上げたい
- プログラミング学習が遊びになってしまわないか不安
学習効果が高い子どもの共通点
学習効果が高く、グングン成長していく子どもの共通点は、次の3つの力が高いことでしょう。
- 素直に真似する力
- 何をしているのか考える力
- 間違えた原因を探る力
この3つが備わっている子は、プログラミングの知識もプログラミング的思考力もどんどん吸収していきます。
小学校低学年のうちに、この3つの力を全て身につけるのは正直難しいでしょう。
ですから、どれか1つ身につくだけで、十分学習効果が得られます。
一番の基礎となる力は『素直に真似する力』です。
成長スピードが早いお子さんは、必ずと言っていいほど共通してこの能力が高いです。
基礎あっての自分流やもんな!
素直に真似する力
プログラミング学習では多くの場合、お手本や指示があります。
まずはそれを真似するところから始まります。
プログラミング教材は、初めてパソコンをさわる子どものために、最初は簡単な内容であることが多いです。
そしてプログラミングの組み立て方や新しいコマンドは、すこーしずつ増えていきます。
新しいコマンドは「1回の授業で1つ」と考えてください。
なぜこんなにゆっくりかというと、新しい知識を定着させるため何度も繰り返し練習するためです。
小学校の算数でも、たし算を学んだらたし算をひたすら練習しますよね。
「1ケタ+1ケタ」「繰り上がり」「1ケタ+2ケタ」……といった具合に、少しずつできることを増やしていきます。
プログラミングも同じように少しずつ進むのですが、プログラミングは答えがひとつじゃない場合があり、それが原因で新しい知識を吸収できない子が出てきてしまいます。
次の画像を見てください。
犬がゴールまで行くためのプログラミングをします。
上と下、どちらのプログラミングでもゴールまでたどり着くことができます。
どちらでも全く問題ありませんが、向きを常に前に向けている方が頭の中でシミュレーションしやすくなり、より素早くプログラミングすることができる場面があります。
また、間違えたときにどの辺のプログラムをどう修正すれば良いかという判断も、常に前を向けてプログラムを組んだほうがやりやすくなります。
向きを変えるコマンドを覚えずに進んでしまうと、技が一つない状態で戦うことになってしまいます。
たし算ひき算も、ひっ算を覚えなかったとしたら、答えは出せてもかなり効率が悪いですよね。
プログラミングも、あると便利なコマンドがたくさんあります。
全て理解すると、学習効果が高まります。
知っているコマンドだけでなんとか進めるよりも、新しいコマンドをたくさん覚えることが後々の学習効果の差につながります。
まずは素直に先生や教材の指示に従う素直さが重要になるでしょう。
プログラミングに限ったことではないな!
何事もまず真似することだよね!
何をしているのか考える力
「自分が今、何をしているのか」を考えることができれば、どんなときも最大の学習効果を得ることができます。
プログラミングでも「今回はループをやっているんだな」と思って取り組めば、ループを使ったプログラムの組み方をしっかりインプットできます。
ループを使わずにプログラムを書くと、プログラムが長くなります。
中には、長いプログラムを毎回作って進もうとする子もいます。
先生や教材の言うことを聞かず、ループを覚えようとせず、今までのやり方で長いプログラムを書いているのです。
もちろん、それもやり方としては「正解」です。
しかし、効率が悪いので、周りの子からどんどん遅れていってしまいます。
繰り返しの回数が、もし10回や100回だったら。
何をしているのかをきちんと考えている子は、ループを覚えて次から繰り返しを使える場所を探し、新しい発見をしていくでしょう。
また、「何をしているのか」を考えている子は、自分から進んでノートにまとめていることも多いです。
「使えるようになればいい」というわけではなく、ループ処理の「意味」が大事だということを理解しているからです。
何事においても「今、なんのために、何をしているのか」を考える力は大事ですね!
間違えた原因を探る力
プログラミングは「間違えない」があり得ない世界です。
「間違えることが当たり前」なので、会社の中に修正のみを行うチームがあるほどです。
プログラミングの修正は『デバッグ』と呼ばれています。
デバッグ作業で少しずつ理想のプログラミングに近づけていき、最終的にプログラムが完成します。
プログラミング学習でも同じです。
1度で上手くいかなかった場合、デバッグを行ってもう一度試してみることが求められます。
次の画像を見てください。
プログラミングが未完成のため、一度実行したら途中で止まってしまいました。
しかし、同じプログラムをあと2回実行するとゴールまでたどり着けてしまいます。
私たち講師も、なるべくスタート地点に戻ってプログラムを見直すように伝えています。
しかし「これでも進めるから」と次に行ってしまう子もいます。
途中で止まったときに、スタート地点からやり直す癖ができている子は、何が間違っていたのかを探り、問題を解決するデバッグ作業がどんどん得意になっていきます。
これらの力は、いわゆる「課題抽出力」と「課題解決能力」に直結します。
プログラミング学習でより効果を上げるためには、問題点を自分で考えることが非常に重要です。
子どもにプログラミング学習をさせるときは「間違ったときこそ成長のチャンス」と考え、デバッグをしましょう!
まとめ
この記事では『プログラミング学習の効果が早く出る子供の共通点』をご紹介しました。
共通点は次の3つの力です。
- 素直に真似する力
- 何をしているのか考える力
- 間違えた原因を探る力
この3つの力は、日ごろの生活やプログラミング以外の学習の際も育てることができます。
子どもの成長のために、意識して伸ばしていきましょう!