こんにちは!
子供向けプログラミング教室kobakoスタッフです。
プログラミングで多くの初心者がつまずいてしまうポイント、それが配列です。
僕も多くの子供に配列を教えるチャレンジをしてみましたが、どうやら1つの結論に達しそうです。
その結論とは・・・?
ところで・・・
この記事を書いている人はだれ?
子供向けプログラミング教室です!
JavaScriptを使ったゲームプログラミング、ゲーム企画が得意な教室です。
プログラミング教室で実際に使用している、学習成果のある教材をYouTube無料配信しています。
初心者に配列は教えてはいけない
結論、配列を教えるのはあきらめる、ということです。
配列はプログラミングの基本ではあるのですが、この配列という道を通らせることによって挫折するくらいなら、通らせない方がいい、という結論です。
一番大切なのはプログラミングって面白い!もっとやりたい!という気持ちです。
その気持ちを踏み滲むのが一番おろかな授業なのでは?と思い始めました。
僕の経験では、ほぼ100%の初心者が配列の理解に苦しみ、30%程度がなんとなく理解し、読解するだけでなく実際に配列を使えるようになるのが10%という所感です。
それくらい配列は初心者にとって大きな落とし穴になるんです。
そもそも配列はわかりづらい
そもそもですが、配列ってわかりづらいと思いませんか?
例えば以下のようなプログラムを参考にわかりづらいポイントを考えてみます。
int[] nums = new int[10];
nums[0] = 1;
...
nums[9] = 8;
int[]がもうわかりづらい
初心者はまずこれが難解に見えてしまいます。
実際、プロのプログラマでも「int nums[]」としてしまうケアレスミスがあったりします。
プロでもあやうく間違えてしまう、これっていわば直感的じゃないことの証明じゃないかなって思います。
newという突然現れる新しい概念
配列になると突然現れるnewキーワード。
int[] numsだけでもうわかりづらいのに、続けてわかりづらいキーワードが続きます。
わかりづらさのコンボですね。
int[10]
まるで10というintの変数を作ったようなこの表記。10個の要素が入っているという予感は、直感的にはしません。
0からはじまる添え字
配列は添え字という番号が振られるわけですが、その番号は「0ゼロ」からスタートします。
これもまた、誰もが感じた違和感。なぜゼロから?です。
ある程度プログミング慣れしてくると、ゼロであるありがたみがわかったりするのですが、初心者からしたら気持ち悪くて仕方ないことでしょう。
10個の要素なのに最後の添え字は9
考えてみれば当たり前ではあるのですが、0からスタートする分、最後の添え字は「個数 – 1」ということになります。
これもまた、頭が混乱する要素ですね。
添え字も数字だが、中身も数字
そして極め付けはこちら。
配列0番に1という数字が入っている、という数字の概念が2つ混在しているわかりづらさ。
もちろん、理解していればなぜこのような構造になっているかはわかるのですが、
初心者からすると頭が混乱しまくる要素です。
配列は罠のフルコンボ
つまり僕が言いたいことは、配列は罠が張り巡らされていて、人によって理解できない、誤解している部分が枝分かれしていき、
配列がわかりづらい部分が一概にはいえず、よって我々教育側も、うまく配列を伝えることができない状態なんだと思います。
配列は使わない
以上のことから、僕は配列を教えることをやめました。
配列を教えないということは、変数の羅列になり、変数の管理が複雑になり、余計に可読性が悪くなるのですが、
子供というのは、わかりづらくても前に進めることにメリットを感じるものです。
なんとか前に進んで、壁にぶち当たった時、そのときはじめて、配列への手解きをしてあげれば、
実は最速で配列をマスターさせることができる、10%の理解者を50%くらいまで持っていけるのではないか?と僕は考えています。
無料体験へのお申し込みはこちらから!
kobakoのゲームプログラミング教材もYouTubeで無料配信中です!
初回の授業料(体験)は無料です。
※現在はオンライン授業でのみ対応しています。通学型ではありません。