この記事はN・S高等学校 (1) Advent Calendar 2021 の18日目の記事です。
はじめまして。
学校法人角川ドワンゴ学園のプログラミングスクールN Code Laboのnaoki_sakanoといいます。
この記事を書いているときはN Code Labo横浜教室の教室長を担当しています。
N Code Labo(以下、Nラボ)が学校法人角川ドワンゴ学園が運営する小〜高校生向けのプログラミングスクールで、新宿・秋葉原・横浜・梅田(New!!)に教室があります。
また、Zoomを用いたネットコースもあり、Unityをはじめとした実践的なプログラミングのコンテンツを提供しています。
今回は、プログラミングスクールの教室長から見た子供にプログラミングを学ぶ意義について悶々と語りたいと思います。
一番最初に大切なことですが、
※あくまで個人の見解です。(一番大事)
保護者はなぜ子供にプログラミングを学ばせるのか
近年は、IT化、DX化など働く上でもプログラムやAIにアウトソーシングできることが増えてきたために、誰もがプログラミングができると「少なくとも損をしない」ことが一般的になりつつあるな、と感じる場面が増えてきました。
そのため、プログラミングをちゃんと身につけておけばよかった、と後悔している保護者の声も結構聞きます。
だからこそ、子供には同じ思いをして欲しくない、という気持ちから保護者がプログラミングを始めさせたがる場面も多くなってきているように感じます。
受験でも使える
大学入学共有テストに情報Ⅰが令和7年から追加されることを受け、2021年12月時点で中学3年生以下は5教科以外に情報Ⅰの受験対策も必要になりました。
サンプル問題を読む限りはif文for文が分かればなんとでもなりそうな問題ではありますが、これを受けて大学受験産業でも新しい動きが出始めています。
中学生以下のご家庭でも「受験でプログラミングが必要になったらしい」という声は聞きますので、徐々に社会認知度も高まってきているいるように感じます。
ちなみに受験目的でプログラミングスクールに通いゲーム製作を学んだとしても、受験にはあまり役には立たないです。戦国武将好きの子=日本史に強い、というわけではないのと同じです。あくまで一分野において確実に点が取れるようになるだけです。
何か夢中になって欲しい
私も子供が二人いますので、大変わかる話ですが、何かに夢中になって取り組んで欲しいと思っています。(余談ですが、今はゼンカイジャーに夢中です)
何か好きなものを見つけ、熱中してくれれば、そこから学べることは多くあります。
入会相談に来る保護者の声でも「子供は家でゲームをしてばかり。ゲームをやる側から作る側になってくれたら良いな、と思い」というきっかけでご相談いただくことも少なくありません。
子供がプログラミングをするときの意義と懸念
意義1:困難への耐性がつく
プログラミングは基本的に創作活動です。
陶芸家が出来の悪い陶器を見て投棄するイメージがあると思いますが、創作活動は自分の納得するものを作る必要があるため苦しみながら創作することになります。苦しみながら作ることも楽しさの一つです。
N Code Laboの授業でもFizzBuzzをやる生徒は基本的にどうしたら正しくFizzBuzzが出るようになるかと悩んでいます。
ありがちですが、先に15で割り切れるか判定していないためにFizzとBuzzは出るのにFizzBuzzが出てこなくて悩むことが多いです。
そのときに、順番入れ替えればよい、という気づきが生まれ、できたときの満足げな表情は見ていて嬉しい者があります。
ちゃんと成果が返ってくる、というところも嬉しいですが、このような困難に直面することが多いので、困難に対する耐性がついていきます。
意義2:創作意欲が高まる
N Code LaboのUnityの教材は非常に多くの種類のゲームを作ります。
STG、ターン制バトル、パズル、オンライン対戦、FPSなどなど、単純に教材通りに進めるだけでも少なく見積もって三年分はあります。(全部内製です)
そのため、自分の作りたいものを見つけることができ、見つけたら今度は教材を参照して、自分の作品を作っていくことが出来ます。自分の作品の製作が一番大変ですが、一番楽しいです。
楽しいことをしているときが創作性が高まるときでもあります。
意義3:パソコンを買ってもらうきっかけになる
子供にとってのメリットですが、プログラミングスクールに通えば通うほど自分のパソコンを持っていた方が得です。
N Code Laboでもパソコンがないご家庭向けに授業時のレンタルも行っておりますが、3−6ヶ月くらいで、「あ、子供のプログラミングへの興味は本物だな」と思っていただいた段階で買ってしまうことが多いです。
そのため、N Code Labo横浜においてはパソコンの自持ち率は80%ほどです。
パソコンを買ってもらって始めてもってきたときの生徒の表情はとっても嬉しそうですよ。目がキラキラしています。
保護者の皆さんにお願いですが、子供には必ず管理者権限を与えてください。各種環境構築で管理者のパスワードを求められることが多いため、管理者権限がないとほぼ確実にどこかで学習が止まります。例えば、Pythonでなんらかの環境構築をするときにsudoコマンドを使うときにはパスワード求められます。学習が止まります。生徒の表情が(・ω・´)キリツから(´·ω·
)ショボーンに変わり明らかにモチベーションが下がります。
懸念1:コーディングは正直難しい
コーディングは正直難しいです。大人にも言える話ではありますね。
例えば、家を建築するときを想像してください。鉄筋なり木造なりどちらでも良いのですが、物には耐荷重がありますので、その家にかかるすべての重量を想定し、十分な柱を用意する必要があります。
単純に柱を挿せば良いという話ではなく、耐荷重を考慮し、何十年先まで建つことを考慮しなくてはならないため、柱一つとっても多くのことを考える必要があります。
もちろん、プロとなれば、そういう考慮も短時間でできるとは思いますが、これはコーディングでも同じです。
単純なプログラムの書き方もそうですが、可読性の高い書き方・保守性の高い書き方など考え出すとキリがありません。
また、小中学生目線だとプログラミングは英語と数学の表現方法の集合体です。
大人から見れば「ifなんて簡単でしょ?」と思っても、まだ学校の英語でifを学習していない中1以下の生徒にとっては初めて見るものです。そういう初めてがほぼほぼ10割の世界がコーディングです。わからないことだらけです。
懸念2:学ぶことが多すぎる問題
ゲームを作ろうとすると何か新しいことをやろうとするたびに新しい概念に直面します。
例えば、ガチャの結果をツイートする機能を実装するならTwitter連携周りを学習する必要があります。
また、ウマ娘のようなゲームを作るなら、DBを作る必要が発生し、場合によってはバックエンドを学ぶ必要が発生します。学ぶ必要があるものが多すぎる問題が出てきます。
そのため、多くの生徒はこのような学習量の物量がわからずに「スプラトゥーンを作りたい」「原神を作りたい」などというのですが、少しずつ学習し、徐々にプログラミング・ゲーム製作に対する解像度があがると、自分がどれだけ無謀な要望を出していたのか理解します。
子供にプログラミングを始めるには
まずは簡単なところから
いきなりコーディングは無謀です。
何もわからない状態でVSCodeを立ち上げても何をすればよいのかわかりません。
まずはScratchあたりから順次構造を学習するとこから始めるのが良いです。
大雑把には、
・ 0-4歳:アンパンマンのブロックあたりで顔と胴体を合わせる練習をする
・ 3-6歳:LEGOブロックを使って自由に創作する楽しみを体験する
・ 6-12歳:Scratch・マイクラで創造する楽しさを体験し、Scratchで順次構造・条件分岐・反復構造を学習する
・ 12-18歳:Unity、Python等自分の作りたい物に応じて技術を選び、学習する
・ 6-18歳:N Code Laboに通う(ダイレクトマーケティング)
あたりから始めるとよいでしょう。
突き詰めると子供の興味次第
上記はあくまで一例です。正解ではありません。
突き詰めてしまうと子供が興味をもったときが始めどきです。
そして子供が興味をもつためにもまずは大人が楽しむ姿を見せることが大切です。
そういう意味で、プログラミング経験のある講師から教わるということは技術よりも楽しさを教わる、という意味でとても意義があります。
興味があればプログラミングじゃなくても良い
少し整理しきれていませんが、各家庭の状況によって適切な言葉がけは変わってきます。野球に夢中になっている子に対して野球を辞めさせてまでプログラミングを学ぶ意義はないと思っています。
やりたいこと、なりたい姿、将来に向けた検討の末にプログラミングが適切だと思うのであれば、プログラミングを始めるべきです。
プログラミングは難しいので分かる人が近くにいるべき
プログラミングは様々な理由で一人で学習するには困難を極めます。
そのため、教えてくれる人が隣にいるだけで学習の難易度はグッと下がり、高いモチベーションを維持し続けることができます。
N Code Laboが少人数指導にしている理由はそこです。
プログラミングを学習すること自体は東大をはじめとし、様々な大学や企業が無料でコンテンツ提供をしており、書籍や有料コンテンツも豊富にあります。
しかし、中には古くなり今では使えなくなっているコンテンツ、自身のやりたいことに合致していないコンテンツなどもあり、それを見抜くのは知識が必要になります。
そのため、一人一人に適切な情報提供をするためにもわかる人が隣で教えてくれることが重要となってきます。
だからこそ、教えてくれる人がいるプログラミングスクールに通う必要があります。
最後に宣伝
N Code Laboは小〜高校生向けのプログラミングスクールで、多分子供向けプログラミングスクールでは珍しいオブジェクト指向も"しっかり"学ぶことができるプログラミングスクールです。
通学する教室では無料体験授業を、ネットコースでは水曜と土曜に説明会を実施していますので、よかったら一度覗いてみてください。