エンジニアであり、子供向けプログラミング講師であり、子を持つ親です。
私が子供にプログラミングを教え始めた頃、本気で悩んでいたことを告白します。
あの頃は本当に毎日悩んでたなぁ…
これまでの常識が全く通じなくて、自分を否定されたみたいで、無力さを痛感する日々。
仕事としてプログラミングをしてきたし、子供向けプログラミング講師なんて楽勝だろうと思っていた私はアホだったのである。
授業を成立させるだけでも大変
年長や小学生低学年の子はまぁ落ち着くことができません。
男の子なんて走り回ってたり、ローラーがついた椅子に乗ってトロッコゲームしたり(多分マインクラフトの影響)…
机に座って話を聞いてもらうだけでも一苦労です。小学校の先生って本当に凄いと実感しましたよ。
このプチ動物園状態になってしまうのも子供が悪いというわけじゃなくて原因がありました。
教えているプログラミングの内容が分かりにくくて複雑だからなんです。
何をやったらいいのか分からないから遊んじゃうんですね。
そりゃそーだよ、意味不明な内容を机に座ってじっと聞くなんて小さい子にはムリムリ。
4年生くらいになると内容が理解できてくるので落ち着いてきます。
私は自分の教え方がまだ子供向けになっていないんだと考えて、どうやったら小さい子でも理解できるか必死に探していました。
プログラミングは分かりにくい!
サッカークラブや英会話だと小さい子でもレッスンが荒れません。
それは何をやったらいいのか分かりやすいから!
(先生の怖さやその場の雰囲気も結構ありますけどね)
サッカーや英会話が簡単ということじゃなくて、やることがハッキリしてるってことです。
ちょっと想像してみてください!
サッカークラブや英会話のレッスン風景、イメージしやすいですよね?
じゃあプログラミング教室で何やってるか、イメージできますか?
キーボードの練習をやってる?
いやー、それはタイピングであってプログラミングではないんですよ。
ロボットを動かしている?
ロボットとプログラミングは別ものなので、ロボットを使わない教室も結構多いです。
ざっくりと内容を知りたい方はこちらを見てください。
プログラミングは複雑なので、教室では子供が分かるように工夫して、かみ砕いて、身の回りのもので例えて内容を教えます。
それでもカリキュラムによっては小さい子供が理解できる範囲を超えちゃっているので、「わかんなーい」「つまんなーい」「別のことするー」になっちゃう。
子供に複雑なことを教えるのは超難しい
私は普段から大人にパソコンの使い方であったり、プログラミングを教えたりすることがあります。
もうね、大人は凄い!素晴らしい!最高!なんて聞き分けがいいのかしら!
色々と分かってるし、難しい話でも考える努力をしてくれるし、図や具体例を使えば理解できる。
子供はそうはいかないんだよなぁ…
大人が当たり前だと思っていることでも子供には当たり前じゃないんです。
教えながら英単語が分からないのは「そりゃそうだよなぁ」と思いました。
ただ、「L」って何って聞かれた時は「え!?そこから?」ってビックリすると同時に気づいたんです。
小さい子はアルファベットが分からなくて当然なので、むしろカリキュラムが良くなかったことに。
アルファベットが分かってない年の子にキーボードを使わせるのがそもそもの間違いなんです。
そしてプログラミングには時間、空間、比較、条件、順序など基本概念の理解が必要なんだけど、小さい子はまだ分かっていません。
私たち大人は当たり前に分かりますが、小さい頃は分かってなかったんです、そんな記憶はとっくにないけど。
基本概念は脳の発達と経験によって分かってくるものです。
基本概念が分かるまではどう頑張っても一般的なプログラミングなんて理解できません。
分かる人は、分からない人の気持ちや感覚がなかなか理解できないんですよね。
私は大人に教えているので、プログラミングが分からない人の気持ちはまだ理解できます。
でも基本概念が分からない子供の気持ちを理解するのは本当に難しい。
幼児教育の専門家はこういう技術に長けてるんだなぁと感じました。
子供にプログラミングを教え始めた頃は、なんで分かってくれないんだ!?とすごく悩んでいました。
それが脳の発達段階や基本概念のことを知って、すごく納得。
小さい子に難しいプログラミングを教えるのは、縄文時代の人たちに「今って何時何分?」って聞くようなもの。
向こうにしてみれば朝か夜かくらいしか分からないのに、正確な時刻なんて分かるわけがない。
「11時50分だからもうすぐヒルナンデスだねー」とかありえないですよ。
プログラミング知識よりも大切なこと
子供にプログラミングを教えてみて分かったこと、というより痛感したことがあります。
基本概念の理解ができてない子には一般的なプログラミングなんて分かるわけない!
いやー、やる前からプログラミングは複雑だから子供に教えるのが難しいことは予想してたんですけど、何とかなると思ってました。
うわべだけの予想に過ぎなかったですね…
基本概念の理解ができていない子は、まずそこを理解しないと一般的なプログラミングはできない。
これは実際にプログラミングを子供に教えないと分からなかったと思います。
子供向けのプログラミング教育をする先生に必要なのは、プログラミング知識よりも子供に教える力です。
基本概念を理解できていない子に対し、何が分かっていないかを察して、気づかせること、概念を頭の中に根付かせること。
これはプログラミングとは違う難しさがあります。
とは言えプログラミング知識が全く必要ないというわけではないですよー。
子供プログラミング教育に適した人材
子供向けのプログラミング教育はプログラミングスキルを伸ばすことが目的ではありません。
考える力を伸ばすことが目的なんです。
そのためには子供に教える力のある先生の方が良いと私は感じています。
個人的な意見ですけど、エンジニアで子供に教えるセンスがある人は凄く少数派。
専門知識と経験が増えれば増えるほど、初心者の感覚や気持ちから遠くなってしまう。
エンジニアは専門知識と経験がメイン武器なので、大人に教えるならまだしも子供に教えるのが大変なんです。
子供が分かる説明をするために頭のスイッチをいくつも切り替えないといけない。
これは頭で分かっていても簡単には実践できません。
このくらいなら分かるだろうというラインが子供にとって高すぎることが多い。
ある意味、子供向けプログラミングの内容であれば、仕事でやるような専門知識や経験は邪魔かもしれません。
年齢にあったカリキュラムの重要性
最後にこれですね、子供の年齢、これがもうすごく大事!
プログラミング教室はコースが結構あって、それぞれ推奨年齢が設定されています。
この推奨年齢にはきちんと従ったほうがいいですよー。
子供をプログラミング教室に通わせる親御さんは教育意識が高いです。
そういう方の子供なので地頭が良い子は結構います。
でもねー、10歳以下だと年齢の壁がすごく高いんですよ。
脳の発達段階、基本概念の理解というのは頑張っても超えられないと考えたほうがいいです。
年長、低学年、高学年とそれぞれの年齢にあったカリキュラムがあるので、それをやった方が絶対にいいです、むしろそうしないとダメ。
サイトーのまとめ
- 子供にとって一般的なプログラミングは複雑すぎる
- 小さい子にとって分かりにくいことは退屈で耐えられない
- 複雑なことを理解するには脳の発達、基本概念の理解が必要
- エンジニアは子供向けプログラミング講師に向いていない説
- 年齢にあったカリキュラムが超大事
子供にプログラミングを教え始めた頃はすごく悩みましたけど、今は考えがまとまって落ち着いて教えてます。
頑張っても分からないことはあるので、それはもう仕方がないんや!
先生も生徒も悪くない!カリキュラムがその子に合ってなかっただけなんや!
ちょっと時間が経ってからチャレンジすれば、案外あっさりクリアできるものってありますよね。
プログラミングに限らず、そういうことって結構あると思います。