不登校の子にはゲーム作りでプログラミングを学ばせてみよう

フリーランスシステムエンジニアとして働いていますが、 非常勤講師みたいな感じでWeb系講師の仕事としても活動しています。

ひょんなことから不登校のお子さんの好きなことを伸ばしてあげたいという お母様からのご依頼があって、内容は具体的にはお話できませんが 私の持っているスキルが偶然マッチしたことによって担当させていただくことになりました。

小さい子にプログラミングを教えるという行為は人生で初めての経験なので 正直ちゃんと教えられるか不安なところはあるのですが、私としてもいい経験になるのではないかなと思いました。

ただ目的のことを教えるだけではなくて、なぜこうなっているのかとか いろんな方面から教えていこうかなと思っています。

ただ、多感な時期の子供って急に興味が変化したりするので そこをどううまくコントロールできるかが勝負ですね。

正論で押さえつけて無理矢理覚えさせようとするのではなくて 昔の自分を教えるという気持ちで立ち向かってみようと思います。

と、今回はその件について思ったことがあったので書き連ねています。

学校の勉強が嫌ならプログラミングをやってみよう

学校に行くと色々なことを学べて最高なのですが、 その感覚って頭のいい子とか大人になってみないとわからないんですよね。

不登校になっちゃうと、言わずもがなで同年代の皆が学んでいることが学べなくなってしまうわけです。

空白の時間、何をするのかというと大体の人は自然と精神を癒やすために娯楽に走ってしまうでしょう。

いわゆる人間の防衛本能が働いている状態です。

私は中学卒業後の15~16歳のときに1年間オンラインゲームをして過ごしました。

それが完全に無駄な時間を過ごしたというわけでもなく、得たものも色々ありました。

一番得られて得したのは、ネットゲームは成長するための時間の無駄だと身を持って知ることができたからですね(笑)

今になって思えるのですが、このときプログラミングをしっかりと学んでいれば 今はもっとスゴイものを組めるエンジニアになれたのではと思います。

恐らく過去に行けたとして、現状を伝えても当時の私では学ぼうとしないので 結局今の未来に行き着くのかもしれませんね。

もしかすると辛いときに学ぼうとしたプログラミングが嫌いになってた可能性もあります。

そう考えるとこのままで良かったのかもしれません。

プログラミングは勉強の楽しさを知ることができる科目

あまり教育に携わってないので偉そうなことはいえませんが、 日本教育って1つの正解にたどり着くという行為をやらされることが多いんですよね。

なぜそうなるのかというと、学校というルーツを辿ればその理由がわかると思います。

そこは今回のテーマではないので別の人におまかせします。

プログラミングの正解は1つではないことが多いです。

ゆえにに学校の先生側もマニュアルがあるわけですから、 プログラミングを学校教育で教えるのってめちゃくちゃ難しいと思います。

9割ぐらいは学校の先生がプログラミング出来ないことだとは思いますが(苦笑)

そりゃプログラミングを教えるために先生になったわけじゃないので当たり前です。

勉強で覚えるべきは目の前に出された問題の解き方ではなく、 その問題を解くための思考力だと思います。

正解は無数。間違いはタダ1つという世界

学校の勉強では解法を先生が教えてそのとおりに解くという行為をやりがちです。

たとえば40人生徒が居た場合、極端に言うと先生含めて最低41通りの解き方があるわけです。

しかしそれに対して全部先生一人で対応していては授業が一向に前に進まないので 解法を1つに絞って教えて時間内に終わらせるというのが先生の仕事だと思います(違ってたらすみません)

柔軟な先生だと教えた解き方と違っても正解にしてくれたりしますが、 恐らく大抵の先生は欠点として認識するんじゃないでしょうか。

一方プログラミングの場合は0からスタートして「1」という結果にたどり着ければなんでもいいんです。

0.1刻みで増やそうが一気に1に行こうが、はたまた0から逆走して-1にしてマイナスを消すとか。

無限!とはいいませんが限りなく沢山の正解への道が存在しています。

「で、その正解がたくさんあるその中で、どれが一番正しい解なの?」って疑問に出た人はまだまだ学校教育に汚染されています。

全部正解です。

もう一ついうと、間違いは唯一で「1にたどり着けない」ことだけですね。

我が子にプログラミングを教えたいと思う親御さんへ

ちょっと前置きが長くなってしまいましたが、 プログラミングに精通していない人ほど読んでほしいことを書いてきました。

親御さんがプログラミングできるなら直接教えてほしいのですが、 恐らく9割の家庭は子供にプログラミングを教えられないと思います。

プログラミングを覚えさせる前に以下のことを子供にやらせてあげてください

  • いろんな種類のゲームを遊ばせてあげる
  • マインクラフトをやったことがない場合はやらせてあげる
  • 親も一緒に同じものを楽しむ
  • ただ遊ぶだけじゃなくてなぜそうなるのかを一緒に考える
  • スマホよりもパソコンを与える
  • インターネットで答えを探させる
  • キーボードを操作できるようにする

この中でとても大事なのが

「ただ遊ぶだけじゃなくてなぜそうなるのかを一緒に考える」

具体的に言うと、なぜAボタンを押したらマリオはジャンプするのか。

なぜYボタンを押したらリンクは武器を振るのか。

なぜコントローラーを傾けるとインクリングは標準をあわせられるのか。

このようにプログラミングというのは、人間が自然と操作できるように作るということでもあります。

この考え方があるのと無いのとではプログラミングを習得するスピードがかなり変化します。

プログラミングに限らず、そこに対して思考を働かせることが スキルアップの近道となります。

マインクラフトでプログラミングの基礎の基礎を学べる

マインクラフトにはレッドストーン回路という要素があります。

一般的な用途としてはレッドストーンで線を引いて、 ボタンを押すと線がつながっている遠くのものを動作させたりできます。

これ、プレイしていると当たり前の用に使ってたりしますが もはやそれこそがプログラミングでもあります。

マインクラフトはレゴブロックのようにブロックを積み上げて遊ぶのも楽しいですし、 剣や食料を持って洞窟探検をして資源を持ち帰り、自分の基地を作ったり 無限の遊び方ができるゲームとなっています。

大人が子供に対してやっちゃいけないこと

それは、ゲームをすることを禁止することです。

昔はゲームばっかりしていたら怒られていた時代でした。

ゲーム=何も生み出さない娯楽と捉えられていたからですね。

私はゲームを通して成長してきました。

ワガママ言って何度か隠されたことはありますが、 ゲームを一切禁止されなかったのは親にとても感謝しています。

一番悪なのは、何も理解しないでメディアがそう言ってるからといって ゲームを禁止するという行為ですね。

そもそもなんでゲームがダメなのかを理解してない大人の方が悪いです。

だからこそ、大人も一緒になってゲームして ゲームの中で何を学んだのかを子供と一緒に話してあげるべきだなと思います。

ゲームを辞めさせるのは成長を止める原因の一つです。

我が子を成長させたいのにそれを自らの手で止めるのは愚の骨頂です。

子供の興味がわかない場合の対処法

親としてはどうしてもやらせたいっていう気持ちがあるかもしれませんが、 子供側は矯正してやらされたことは大体は嫌います。

特にうまくいかないことが多かったりすると嫌いにすらなります。

成功する子はそこで親や先生が先導者として導いてあげなければいけません。

親がわからなくて先生に丸投げする人も多いですが、 先生も結局は金で雇われているだけなので、伸びなくても責任は負いません。

結果子供は辛いことから逃げるという選択をしてしまいます。

昔はこれを根性が無いなどと罵って攻めて無理矢理やらせようとする人が多かったと思います。

伸びる能力はその人が自然とハマったことだけです。

その可能性を広げてやるのが親の役目なんじゃないでしょうか。

だからこそいろんなことをやらしてあげるべきだと思います。

今回私はプログラミングに焦点を当てていたので、 楽しんで学べるゲーム制作をスタート地点としていろんなゲームをして欲しいといいました。

RPGが好きな子であればプログラマだけではなくシナリオライターへの道やイラストレーター、 音楽クリエイター等の道もいろんな可能性が見えます。

アクションゲームが好きな子は直感的な操作が楽しいので そこからスマートフォンアプリの開発やインタラクティブな創造の道へ進みやすいです。

なのでお子さんにはいろんなことを体験させてほしいなと思います。

今はパソコンがあればいろんなことが調べられますので、 わからない・やれないはただの親の怠慢になります。

親はなくとも子は育つということわざがあるように 意外と子供は勝手に育ちます。

私には子供はいませんのでこれ以上偉そうには語れないのですが、 子供目線になって考えることはできます。

今回はプログラミングに焦点を当てましたが、いろんな可能性を伸ばしてあげてください。

それでは。