中1生のアンケート回答に思う~どこまでできたら「私はプログラミングができる」と言えるか?
東進ハイスクール・東進衛星予備校を運営する株式会社ナガセが実施したアンケートによれば、「どの程度プログラミングができるか」という質問に対し、中学1年生の半数以上が「プログラミングができる」という主旨の回答をしたとのことです(情報:EdTech Media)。
質問と回答をより細かく見ていきましょう。
質問:「どの程度プログラミングができるか」
回答:
できない:44.7%
マウス操作のプログラミング(助けを借りて):15.5%
マウス操作のプログラミング(自分一人で):15.3%
テキスト入力のプログラミング(助けを借りて):10.3%
テキスト入力のプログラミング(自分一人で):12.5%
競技プログラミングやKaggleに取り組む:1.7%
--------
(アンケート:株式会社ナガセ/2021年10月・11月に実施)
ふむふむ、つまり「できない」と回答した44.7%以外はすべて「できる」と見なしたワケですな。
うーん…そこはどうなんやろ…。
もちょっと情報元サイトより背景を見ていきましょう。
今回の調査結果の背景には、学校教育におけるプログラミング教育の拡充があるという。
まず、2020年度から小学校でプログラミングが必修となり、2021年度には中学校でのプログラミング教育が拡充された。
現中学1年生は小学校でプログラミングが必修となった学年のため、一つ上の中2と比較しても「プログラミングができる」と回答した割合が高くなっている。
(EdTech Media記事ページより)
なるほどねー。
正直あの文科省の方針には「(?_?)」だった私ですが、こういうアンケート結果が出る程度の成果は上がったワケか。うーん…。
私がなんであんまし釈然としない気持ちでいるかっていうと、
「プログラミングができる」ってどこまでできることを指すわけよ?
って気持ちをどうしても拭いきれないからです。
まぁこれ中学生が言ってるんだし、自分をプラス評価で捉えることができてるのはすごく良いことだと分かってはいるんですけれども…。
ごめんね(誰に言ってる?)、水を差すようで。
例えば私、過去にこんなの作ったりしてるわけですが…
あとIchigoJamではこんなのも…
…そんなふうにヘタの横好きでいろいろやってる私ですが、それでも
人前で「私はプログラミングできます」なんて大きな声で言えない
と思っていますし、そんなこと口にしようものなら「はぁ?お前何言ってんの?」と誰もが言うに違いありません。
なんで私が「プログラミングができる」って言えないかについて、自分なりに思うことは以下の通りです。
1.ほぼBASICしかできないに等しいため
世間的にいまプログラミングやってる方はPythonやJavaScript、C++などの言語が主流だと思います(という認識も古いのかな?)。BASICは初心者がプログラミングを学ぶ登竜門的な位置付けの言語であり、これを多少できるからと言って自分はプログラミングができると公言するのは私的にはちょっと無理筋では?と思っています。
2.そのBASICですらまともに分かるとは言い難い
私自身は本当に必要最低限の命令しか分かっておらず、あとはやりたいことに応じて参考書と首っ引きになって調べまくるとか、人の作ったプログラムを一部パクってきて改造するとか、そんなのばっかしです。私がどんだけもの知らないかは下記リンクを読めばわかります。
note記事「何を知っていて何を知らないのか」
3.やりたいことしかやってない
そもそも私がプログラミングする理由って、自分が解決したい問題を自分でどうにかできたらそれでいいみたいな感じなので、いわゆる世間的な案件に対応できるわけではありません。たとえば「この防犯カメラに映った〇〇に反応してアラートを出すプログラム書いて」とか言われても、そんなん知らんわとしか言えないです。これでプログラミングできるとか言っても説得力なさすぎるでしょう。
4.最新情報についていけてない
プログラミングの世界は日進月歩。いまイケてると思われている言語が数年後にはカビが生えてる世界です(その割にはPythonずいぶん長生きだな)。やっぱりそういう旬な言語についても語れないと「あんたホントにプログラミングやってるの?」ってなっちゃいますよねやっぱし。
そのような次第なので、私のnoteの自己紹介には「プログラミング」と一応書いてありますが、世間的なレベルで言ったら私はプログラミングできない人にカテゴライズされるんだろうなと思っています。
本当にプログラミングできるって言ったらこの子たちみたいなのですよ。
とは言えです。
あまり私が「私なんてプログラミングできるうちに入らない」って言うと、先のアンケートに答えた中学1年生の答えを全否定することになっちゃうよなぁ…とちょっと考えてしまうのです。
この結果を見ると「助けを借りて」という条件付きで回答した方が全体の25%強いることが分かります。私も参考書を読みながらでないとプログラミングできないし、成果物が完成するまでに他の方のアドバイスを必要とすることもあることから、ここに該当するのでしょう。
またアンケート内にある「マウス操作のプログラミング」っていうのはScratch(スクラッチ)やその類のものを指すのだと思います。教育現場ではメジャーな言語ですが、これを仕事で活用している現場ってほぼないと思われることから、そういう意味では私のBASICに近い位置付けです。
まぁ参考書や人の助けを借りようとも、世間的にメジャーな言語でなかろうとも、最終的に成果物を完成させることができるのであればプログラミングできるってのはウソじゃないから、そういう意味では先のアンケートの回答は正しいとも言えます。
でもそう考えると、私、プログラミングできるって言っちゃっていいの?
いやいやいやいや、それはそれは!
この話はなかなか結論が出しづらいんですが、たぶんこれ
答えのない境目問題
なんじゃないかと思うのですよ。
例えば、地球の南半球と北半球の境目は何処か、みたいなのなら答えは簡単です。地図に記された「赤道」という具体的な境目があるからです。
だけど、世の中には境目を簡単に定義できない問題がたくさんあります。
・いまは寒いか寒くないか
・私は幸せかそうじゃないか
・あの人はハゲかハゲてないか
・この文章無駄に長過ぎなのでは
これらの境目が曖昧なのは、人によって、諸条件によって、比較する対象によってその分岐点が変わるためです。
プログラミングのできるできないも、そうなんじゃないのかなぁと。
私にしても、たとえば
3d6(サイコロを3つ振る)で出た値をそれぞれ出力する
みたいなプログラムだったら寝てても書けます。
これだって、作成するにあたってFOR~NEXT(一定回数繰り返し)やRND関数(疑似乱数の発生)とかの知識が要るので、知らないとできないことではありますが、どうしてそうなるのかさえ分かればどうとでもなる話です。言語によって書き方は変わるので、そのあたりは参考書を読んだりググったりしながら微調整が必要(私にとってはIchigoJamがLETを省略できないことがビックリでした!)。
で、これがプログラミングできるって言っちゃっていいかどうかですよ。
さっきの要件定義(笑)を解決するのに必要なコードはたった4行なので、これを丸覚えすればしちゃえばいまこれを読んでるアナタもプログラミングできちゃいます。なんならRNDのカッコ内数値を変えることで何面ダイスにも対応できますし、TOのあとの数値を変えればサイコロの数を増やせます。
字が読める人であれば、誰でもプログラミングできると思いません?
いやそれは…。ともし思うのであれば、じゃあどこがプログラミングできるの到達点なのかって話ですよ。
サブルーチンを含んだプログラムが書けること?
複数のファイルにまたがったプログラムが書けること?
コードの中にマシン語をしれっとブッ込めること?
16進数とかマジで意味分かんないんですが、あれが分かること?
オブジェクト指向に対応したプログラムが書けること?
(それに対応した言語を習得していること?)
キリがないですけれども、でもどっかの段階で人は間違いなく「プログラミングできる」って自信をもって宣言できるようになってるんでしょうね。
私はとてもそんな自信ありません。
世間的に「プログラミングできる」って言われている人は、こういうことをいろんなシチュエーション、いろんな言語体系、いろんな要件定義で積み重ねてきた結果として、クライアントから「こういうの作りたいんだけどできる?」って言われてほどなく工数見積もりが出てくるような人のことを指すと私はこれまで思ってました。
ただそこのハードル上げちゃうと、いまプログラミングを学んでいる学生のモチベーションを挫くことになっちゃうから、私くらいでもプログラミングできるって言っちゃっていいのかなぁ…ってちょっと思い始めています。
この境目問題には終わりがない気がするのでこの辺で。
まぁプログラミングはできてもできなくてもいいと思うんですが、それでも多少なりともできたら幸せなんじゃないかなぁって思います。
自分のやりたいことを自分で作れるって楽しいですよ?
この記事が気に入ったらサポートをしてみませんか?