ホンモノのエンジニアになりたい

ITやビジネス、テクノロジーの話を中心とした雑記ブログです。

大学新入試-プログラミング試験検討

興味深いニュースがあったので、概要と考察です。 長いです。

 

 

 

www.nikkei.com

www.nikkei.com

記事中にある未来投資会議はここ

https://www.kantei.go.jp/jp/singi/keizaisaisei/miraitoshikaigi/

 

ニュースの概要

政府は大学入試センター試験に変わって導入される「大学入学共通テスト」の科目にプログラミングや統計などの情報科目の導入を検討する。ビッグデータ人工知能活用の必要性が高まる中、文系・理系を問わず素養を身に着けさせIT人材育成につなげる。

17日の未来投資会議で議論に着手する。

プログラミングについては、高校では22年度から共通必履修科目に「情報Ⅰ」を新設し、すべての学生が学ぶことが決まっている。そして情報Ⅰを学んだ学生が受験する24年度の新テストから情報科目を導入する計画。試験はCBT形式による実施を視野に入れる。

背景にはデータサイエンティストなどのIT人材不足がある。IT人材は15年時点で17万人が不足しており、30年には需要がさらに拡大し、最大で79万人不足する見込み。日本では統計学専攻などの大卒者は年間4,000人、米国の25,000人と比べ少ない。

 

考察

プログラミング

何をやるか?

プログラミングの教育、そして大学入試・大学教育へつなげるということを考えた場合、一番重要なのはどの言語をやるかだと思います。ビジネスの現場ではどの言語を使うかは最も大事な要素ではないと思います。何を使うかというよりどう実現するか。そしてその先に現実的に実現できる言語は何か?という話になる。本質的には学校教育の場でも同じです。プログラミングの基本的な考え方を身に着けて、状況によって必要な言語を選択することが最も効率がよく、本質を突いていると思います。

しかし授業や入試で取り扱っていくことを考えると、以下の要件を満たす必要があり、どの言語で学ばせるかは非常に重要な要素となると思う。

①プログラミングやコンピュータの本質を学べる
②言語仕様に変更がかかりづらい
③権利的な問題が発生しない 

 

私はインフラ屋、セキュリティ屋なのでアプリは専門外ですが、C言語になるんでしょうかw

少なくとも①を突き詰めるとCだと思います。

②はある程度歴史を重ねてきたものならOKだけど、Pythonを例に見ると、1.0系が94年にリリース、2.0系が2000年リリース、3.0系が2008年にリリースされています。1.0のリリースから14年が経過した後にリリースされた3.0系ではそれまでの2.0系と仕様に大きな違いがある。

③はアカデミック教育とはいえ、一企業が権利を握っている言語は使えない。「来年から教育目的での使用を有料化することにした」という話になると大きな混乱が発生するから。Java

 

やっぱりCなんじゃないの。

共通試験でCやらせるなんて草、と思ったんですがよく考えると私は数学のベクトル問題や物理の電磁誘導とか大学行っても全然使わなかった内容が普通に入試では問われていました。旧来の大学入学試験におけるポリシーを維持するなら、学問的に基礎を為す知識としてC言語で出題されても違和感はないような気がします。

ただ今回の共通試験導入の目的は時代に合わせて変えるということなので、それを考えると色んなライブラリが公開されていて簡単に高度なことが出来る軽量言語である方が目的に適っているとも思えます。

情報工学の基礎を身に着けた人間を育成したいならC、コンピュータって楽しいんだよならHTML、簡単に高度な計算もできるよと理解した人間を育成したいなら軽量言語の選択になると思います。小学生はHTML、中学生で軽量言語、高校と大学入試でCってのが妥当な感じでしょうか。

 

しかしどうなんだろう、CにしろHTMLにしろ軽量言語にしろ、座学で学ぶより実機で書いて動かす方が遥かに効率的に学習できると思うんですよ。じゃあ自由に使えるPC持ってない学生は非効率な勉強を強いられるのかという話もこれから出てくるんじゃないでしょうか。義務教育なんだから国がPC支給しろよという主張も出てくると思う。貧困の連鎖という問題を考えると確かにそう。貧困世帯は机上デバッグしなさいってのは乱暴ですし。結局は、税金でPC配るか、PCルームを作って開放するか、はたまたPCの保持に関係ない授業内容になるか。特に大学入試にあたっては家でも勉強できるというのは非常に有利に映るはずです。また自治体によっては学校へPCを十分に準備できないところもあるはずで、そのあたりの格差が発生しないような環境を準備しなければならないのは結構大変だと思います。 

 

どう変わる?何が変わる? 

ここまでダラダラと考えを書いてきましたが、CでもRubyでもJavaでも何でもいいですが、プログラミングが新試験に導入されたとして、世の中どう変わるか、妄想してみました。

  • プログラミング塾が人気になる
  • Web屋さんが塾運営を始める
  • エンジニアを引退してプログラム講師や家庭教師に転身する人が出てくる
  • 廉価で軽いPCや、Webサイトフィルタソフト界隈が少し盛り上がる

 

新試験でどのような問題が出題されるかわかりませんが、教育に力を入れる親は早くからプログラミングを学ばせる場に子供を入れたくなるんじゃないですかね。特に新試験が始まって数回は出題予想も難しいですから、画一的な対策を講じにくいわけです。そうなるともう基礎力を高めるしか対策はありません。基礎力を高めるのに必要なのは根気と時間です。これを短期間でやろうとすると負担が大きいですから小さいころからコンピュータって楽しいんだよってことを刷り込んで、自発的にPCを触るような教育環境を作らなくてはいけない。

2022年に高校で授業が開始するなら、4年後なので今の小学生世代が対象ですかね。小学生向けの楽しいプログラミング塾が本格的にビジネス化していきそうです。

多分最初は塾運営のノウハウを持つ学習塾業界やITに特化した新興IT塾が盛り上がりをみせて、その後フリーランスエンジニアがその周りで低価格とか家庭教師みたいな形でやり始める。出遅れた大手Web屋が最後にブランド力を前面に出して動き出す。塾業界や大手と戦うのが嫌になったフリーランスエンジニアが動画サイトで講義動画を公開して広告費目当てでお金を払わない層を囲む。

 

オフラインで対面授業をウリにする学習塾業界、完全特化型の新興IT塾、ブランド力で高品質なWeb講義やスカイプ講義をウリにするWeb屋、Youtubeで講義動画をブロードキャストするフリーエンジニアの4軸による戦いが始まる。(はず!)

 

中学の技術・家庭科のモノづくりは楽しかった

ここで話を戻して学校教育現場での話です。

元記事によると、中学校の「技術・家庭科」の授業を拡充するという記載がある。拡充する分が純粋な授業時間の増加に繋がるならいいと思うんですが、これによって他の授業が割を食う形になるのはあまり良くないと思います。

私が中学校の頃も技術・家庭科という授業がありましたが、その授業では木工の作業やセンサーをハンダでくっつけてという簡単な電子回路の工作をやっていました。純粋にこの授業は楽しかったし、色んな工具の使い方を学べる義務教育にあるべき授業だったと今振り返ると思います。

時代の流れで将来ハンダを使う人と、コンピュータを使う人どちらが多いかと言えば後者であることは間違いないですが、あのような授業が無くなってしまうのは宜しくないと思います。(私の好みであることは認める)

 

他の授業を削るほど重要か

現行実施されている他科目の授業時間を削るほど重要かと考えるとこれが結構難しい。

将来役立つかという観点で考えると、国語算数英語並みかそれ以上に役立つスキルになると思います。国としてどういう人材を増やしたいかと言うと、もっと理系人材を増やしたいだろうから理科系科目も重要。音楽や図工などの芸術系や道徳系の授業はと言うと、それこそ義務教育でやるべき科目。

私は総学習時間が増えても他科目を削らずに情報系科目の授業をやるのがいいと思います。教育現場では色々とあるんでしょうけど、私は(安易に)そう思います。

どうやって情報系科目の授業時間を作り出すかは興味深いところです。

 

高校の授業で採用されるのが2022年度からで、24年度から新試験が始まって、大学に4年通った学生が社会に出てくるのが、2029年です。その先は段階的に中学から情報教育を学んだ世代、小学校から学んだ世代が順に社会人となるわけです。まだ10年20年先ですが、私はそのころまだまだ現役世代なので、その新人類と一緒に仕事をすることもあるでしょう。

きっとジェネレーションギャップを感じるんだろうなぁ、最近の若者はとか言うんだろうなぁ、裏で老害扱いされるんだろうなぁ。

 

統計

元記事には統計も情報科目の一部となることが記載されている。これについても思う所を書いていく。

目的、目標

最終的な目標はデータサイエンティストの育成にあるんでしょうが、高校生まででやれる内容はせいぜい平均値・中央値や分散、標準偏差といった基礎的な統計量と、行っても検定、回帰分析くらいが限界のはずです。

一般的なビジネスパーソンとして上記の知識があれば、大体こと足りるはずです。それ以上の知識が必要であれば、それはもう専門家に投げればよろしい。平均値や中央値の計算、グラフ化、それらの解釈が出来なくてビジネス案件を取り逃すレベルではグローバルな世界では戦えないので、そのレベルは最低限わかってくれということだと思います。

結局のところ基礎は数学

上述の統計量や検定、回帰分析、そして更に複雑な統計分析はその基礎に数学があります。回帰分析までは高校数学でやれると思いますが、その先は大分苦しくなる。ぶっちゃけ大学数学を学んだはずの私でも統計分析や経済学のモデル分析はきつかった。(ちなみに私は学生時代に統計学を履修していました。マクロ・ミクロ経済も。)

データサイエンティストは不足するのか

元記事ではデータサイエンティストなどのIT人材不足が危惧されています。IT人材の不足は確かにそうかもしれませんが、データサイエンティストが不足するとは正直思えません。現状は世の中でうまく噛み合っていない感じは確かにあります。

 

統計学周りにいる非情報系人材はRやSPSSなどをツール・ソフトウェアとして使っていて、IT自体に強い関心がある人は少ないです。(私調べ)

情報系人材はデータサイエンスがカネになることは大方わかっていますが、統計学をちゃんと学ぶのはやりたくない。

 

ここに壁があるように感じます。この統計屋と情報屋の壁を乗り越える根性がある人や、適正のある人が現在データサイエンティストを名乗っているというのが現状だと思います。乗り越えがたい壁があって、イマイチ人材が増えない。

 

ただいつまでもこの壁に阻まれて進めないってことは無いでしょう。世界中の専門家や技術者が知恵を絞ってこの壁を低くする努力や壊す努力をしていくことになるでしょう。純粋なデータサイエンティスト育成による純増に加え、両分野の一部の人たちが互いの分野に入り込むことで一気に対応人材が増えていく時期が来ると思います。

 

たぶん将来的には「統計学の習得が大変?大丈夫、データサイエンスシステムがあればね。」となると思います。その時データサイエンティストはどうなるか。他の職人的な分野と同等で極めて優秀な人や同じ組織でずっとやってきた人だけが残る世界になるものと私は考えています。

情報屋の観点で言うと、大規模でミッションクリティカルなシステムのアーキテクトが出来る人みたいな立ち位置になるのではないでしょうか。一応みんなそれなりに頑張ってレベルを上げようとするが、良い経験を積める案件は結局昔からやってる一流の人がやってしまって一流と二流の間の溝が深いといったそんな状態。

 

今後10年くらいは足りない足りない言われると思いますが、その後は一流しか残れない世界になると思うので、データサイエンティスト一本でやっていこうと思うと、汎用性をある程度切り捨てた特化型の人材を目指していく必要があると思います。そして特化型人材はハマらないと他へのツブシが効かないので人生苦労すると。(まぁ世の中の特化型人材はみんなそういう状況で頑張っているので、そういう人と同じですが)

 

おわりに

学生時代に統計学を使って研究していて、社会人になってからはITエンジニアとして、ビジネスパーソンとして働く私にはドンピシャテーマだったので、書きたいだけ書きました。冗長になった部分や妄言もありますが、大きく外した内容は書いていないはずです。

私は30代半ばにして未だに子供心を忘れていない、というかまぁ子供みたいな考え方で50代60代の守りに入った世代を嫌悪している部分があります。しかし、20年後には全然違う教育を受けた世代と一緒に仕事をして、自分も嫌悪される存在になったり、老害扱いされるんだろうなぁと考えると、やっぱり今を頑張って生きるしかないなと決意を新たにしました。きれいに結べました。

 

おわり