学習指導要領の改定にともない、小学校でプログラミングの学習が必修化されたり、プログラミングを小さいときから習っておけばよかったという話を聞いたりして、お子さまに「プログラミングの学習をさせたほうが良いのかな?」と感じていらっしゃる保護者の方が増えていると感じます。
一方で、保護者の皆様とお話していると、ご自身がプログラミングを学習した経験があるという方は少なく、「プログラミング教室ではどんなことを学ぶのだろう?」と思われている方が多いようです。
そうした方のために、「プログラミング教室ではどんなことを学ぶのか?」、また小学生年代のお子さまがプログラミングを学習する際に気をつけるべきことについて考えていきたいと思います。
目次
ポイント1:プログラムの結果がすぐ目に見える教材やカリキュラムを選択する
大人がプログラミングを学ぶときと異なるのは、小学生年代のお子さまの場合、抽象的なものをあつかうことが難しいことがあります。また、大人と比べて集中力が続かないこともあります。
例えば、Webサービスやアプリを作る場合、ユーザーが入力したデータやファイルを保存するデータベースなどの仕組みを構築しなければいけませんし、ユーザーが使う画面やアプリを作る必要があります。
こうしたことができるようになるためには、たくさんのことを学習しなければいけませんし、動くものができるまでに時間がかかったりします。
目的意識がはっきりしている大人の場合、こうした努力を続けることができますが、小学生年代のお子さま場合、こうした努力を継続することが難しいことがあります。
そのため、作ったプログラムの結果が、すぐ目に見えるものを選択することが望ましいです。
例えば、子どもがプログラミングを学習するためのツールとして大変有名な「Scratch」では、画面の中のキャラクターをプログラムで動かしてゲームやアニメーションを作ることができます。
作ったプログラムの結果が、キャラクターの動きとしてすぐに目に見えることで、達成感を感じることができます。
また、ロボット・プログラミングでは、ロボットのモーターなどをプログラムで動かしますが、Scratchと同様に、ロボットの動きとして見ることができます。
Scratchやロボットが小学生年代のプログラミング学習に利用されている理由の一つは、こうしたプログラミングの結果が可視化されることにあります。
逆にいうと、小学生がプログラミングを学ぶ場合、結果が目に見えづらいものや、動くものができるまでに時間がかかるようなものは、特に初学者の場合は避けたほうが良い場合が多いです。
ポイント2:年齢や学年によって理解することが難しい内容は避ける
小学生は、これから認知能力が発達していく年代です。また、学年によって、学校でまだ習っていない概念もあります。そのため、ある時期どうしても理解が難しい内容がありますが、年齢が上がっていけば自然とできるようになることが多いものです。
例えば、ロボット・プログラミングでは、モーターを動かして、車型のロボットを動かすことがあります。モーターを1秒動かしたときに、1メールの距離動いたとします。このとき、ロボットを2メートル動かすには、モーターを何秒動かしたらよいでしょうか?
大人であれば、2秒であることはすぐわかります。しかし、学年によっては、モーターを動かす時間と動く距離の間に比例関係があることを理解するのが難しく、試行錯誤してもなかなか答えにたどりつくことができないことがあります。
また、ロボット・プログラミングでは、モーターの出力と動かす時間によって動作を制御することができますが、モーターの出力を変えてしまうと、適切な距離動かすためにモーターを動かす時間も変わってしまうため、さらに混乱することがあります。
こうした場合、答えにたどり着くことができない時間が長くなっていくと、子どもたちは嫌になってしまうことがあるので、ある程度のところで適切なサポートをしたり、課題を変えたりといった工夫が必要になります。
ポイント3:結果よりも意欲やプロセスを大事にする学び方を
算数や数学を学ぶ場合、要素概念を一つずつスモールステップで学びながら積み上げていく、という指導が一般的によく行われます。こうした指導法は、理解もはやく進むので、丁寧でよいとされることが多いと思います。
しかし、プログラミングでは、こうした指導法の場合、プログラミングの要素概念を学ぶことが目的になってしまうことがあります。
変数や関数といったプログラミングの要素概念は理解しても、「それをどんな文脈で、なぜ使うのか?」「それを使ってどんな作品を作りたいのか?」ということが抜けてしまうと、プログラミングの本当の楽しさを実感できなくなってしまうことがありえます。
算数や数学とは異なり、プログラミングではテストがあるわけではないので、学んだことが身についたのかを試すことよりも、子どもたちが「学んだことを使って何を作ったのか?」「どんなものを作りたいと思ったのか?」、また、「作るプロセスでどんな工夫をすることができたいのか?」といったことに意識を向けてあげると、楽しくプログラミングを学ぶことできることが多いと思います。
ポイント4:自信や創作意欲がわきやすい学び方を
ポイント3と似た話ですが、算数や数学と同じように、唯一の正解があるプログラミングの課題に取り組むことがあります。イメージとしては、複数の子どもがいても、レッスンの最後には全員が同じ作品ができるようなレッスンです。
プログラミングは、受験勉強で学ぶ数学における「数式」や「解法」よりも、作文を書くときの「言葉」や、絵画を描くときの「絵の具」や「筆」に近いかもしれません。
言葉を学ぶのは、よりよく理解したり、よりよく表現したりするためです。また、作文の時間の最後に、すべての生徒が同じ作品を書き上げるということはありえません。
同様に、同じ絵の具や筆を使っても、仕上がる作品はみんな異なるのが普通だと思います。
しかし、プログラミングでは、すべての生徒の回答が同じになるような課題にチャレンジすることがあり、そこにたどり着いたら正解、そうでなければ不正解と、数学のような学び方です。
そうした学び方もあると思いますが、小学生年代の場合は、プログラミングを手段として利用して自分が創りたい作品をつくったり、自分らしい表現をしたりといった学び方の方が、子どもたちはITを使って自分が作品を作ることができたという自信がわいたり、次の作品の創作意欲がわいたり、自分はITが得意だ、好きだといった感情を持ちやすいと考えています。
私たちMYLABの教室では、お子さまたちの自主性と創造性を育むために、「創ることを楽しむ」ことと、「自分なりの正解を探す」ことを大事にしています。
同じテーマのレッスンでも、お子さまによってまったく異なる作品が仕上がります。そうした学びの中で、お子様たちの創造性が育まれると考えています。
ご興味をもっていただけた方は、ぜひ一度体験レッスンを受講いただければと思います。