福井県の絶望しかない情報教育について語るから見てくれ、な記事
この記事、何?
タイトルまんまの内容を語らせて頂きます。
性質上筆者である私の自伝になります。自分語りが嫌いな人はブラウザバック推奨。
なお、高専は今回の議論の対象から外します。なぜなら著者には高専の実体がわかりません。一つ知っていることといえば、高専に在籍してる弟を持つ友人から聴いたのですが、C言語の授業があるなんて羨ましいですね。
なぜこんな文章を書こうと思ったのか
正直、福井県の情報教育は狂ってます。本当に腐ってます。ありえないほどに。
こんな人間が世に出ていいのか、教師は何を教えて学生は何を教わっているのか。
都会ではICT技術が進化していく中で田舎の中である田舎はこれほどの惨事であるということをどこかに書き起こしておかなければ済まないと考えました。
自己紹介
福井のそこらへんに住んでる人です。
福井県は滋賀県の北にあります。大体そんな感じです。
経歴としては福井のどっかにある商業高校に入り、卒業し、今は福井のどっかにある専門学校にいます。学歴としちゃ最悪です。
ここまで言うと特定班が動きそうですがこの際もういいです。高校三年生で応用情報技術者に受かりました。そのくらいの視点から見た福井県の情報教育についての所感となります。ツイッタランドには私以上にぶっ壊れた人間がたくさんいるので問題ないと思います。
高校
どっかの商業高校にある情報処理科に入りました。
その情報処理科は三年間、だいたい週5枠ペースで情報の勉強をします。つまり週に250分です。まぁマトモな方じゃないんでしょうか、時間だけ見れば。問題はその時間の使われ方ですが、
一年次:全部VBAと「全商プログラミング1級」(ITパスポート未満の検定)
二年次:全部「全商ビジネス情報1級」(同じくITパスポート未満の検定)
三年次:全部ExcelのマクロとHTML(+CSS+JS)
嘘だろ。おい。嘘だろ。やってられませんでした。本当にやってられませんでした。といっても私も1年生の間は真面目に従ってましたが。
惨事に気付いたのは高校二年生の時でした。まぁ正直、これより早かったところで何にも変わってなかったと思います。
そのころ、コンピュータ部にいた友人X君がIPAのITパスポートに合格しました。
その時の私は恥ずかしいことにITパスポートって何?というレベルでした。私は色々あって吹奏楽部からコンピュータ部に転部し、そのX君にIPA情報処理技術者試験を勧められて、そこから本格的に情報の勉強を始めた身です。
元から情報についてはそれなりの成績は出る身だったのもあってか、何の知識もなかった私ですが秋にはITパスポートの過去問を周回して回るようになっていました。それもひとえにX君とコンピュータ部の環境あってのものですし、それには感謝しています。しかし、それと同時に先ほど述べたようなカリキュラムのレベルの低さ、教える側の質の悪さに気付き、後悔の念に駆られました。
具体的な数値、実体験などを述べていきましょう。
①まず、教師が応用情報はおろか基本情報合格のレベルにすら至っていません。最悪です。
X君は三年生の春には基本情報合格、私はその時に応用情報合格となったので、軽く立場が反転しかけていました。
②それに伴って三年生の一年間、情報の授業にて私とX君の時間がクラスメイトのプログラム修正にほぼ全て溶けました。卒業制作の期間はもはや阿鼻叫喚、自宅で制作するしかありませんでした。
クラスメイトの半数くらいがネットからExcel上で動くオセロをパクって提出し、それで卒業しました。
もう半分の方々はといえば、あまり込み入ったプログラムは書いてないようでしたが、自分で制作しただけまだマシでしょう。
③私とX君の時間が溶けた原因の4割くらいはクラスメイトの無気力にあるでしょう。逆に言うと残り6割は学習環境の悪さと言い切りたいと思います。
まず、最初に扱う言語がVBAなのがとてつもなくひどいです。データ型という言葉が現れる機会すら、三年間授業を受けていて一度もありませんでした。
生徒のソースコードはただの地獄。全角スペース、変数名重複、無限ループ、未使用宣言など大小さまざまな罪がそこら中にバラまかれていました。誰か、それらを自分の時間を割いてまで修正する作業に当たっていた自分とX君を褒めてくれないか。
今流行りのJavaScript。触ったのは三年生の中間くらいからでした。あぁ、何でここでその言語を選ぶのだろうか。またもやスクリプト言語です。
jsは人気があるからまだいいものの、面白いくらいデータ型やオブジェクト指向といった実務に繋がる考え方や概念について一瞬たりとも触れません。私もX君もクラスメイトと授業のせいで慢性的に精神がくたばってきて、頻繁に腹痛を訴えるようになったりしました。
高校総括
……これを野に放つのですか。高卒を雇うIT企業は無いですが、ではこれを高等教育の場に放つのですか。その考え方は狂っていると私は考えています。私が間違っているのでしょうか?あるいは私の在籍していたクラスがたまたまハズレだったのでしょうか?
私にも非があるのは確かでしょう。ITの道に進みたければ普通科高校に行って理数系の四年制大学に行くか高専にでも行った方が良いです。なんなら今の時代文系でも良いです(この点についてまた別の不満がありますがそれはまた今度)。それは俺にもわかります。
最初からそう言ってくれれば俺は今頃こんな所にいません。
今やIT業界の企業側が文理不問だとか文系理系4:6、3:7とか言っちゃう時代です。高校の情報処理科がどこでもこんな程度なら、そんなものはこの世に存在している意味はありません。存在していても誰も得をしません。
普通科と共通する教科、の中でも特に数学Ⅲに至っては、商業科であるがためにカリキュラムによって全部独学する以外の道ナシ。ⅠAもⅡBも触れる内容は合計して4割程度。英語も普通科の5割程度、それでも私がいたクラスは定期テストのほとんどが赤点まみれでした。こんな人間を高等教育の場に、また世に送り出すのでは、社会側も生徒側も得をしません。利益があるのは無為に払われた学費を自身の財布に忍ばせられる学校側だけです。
更には私が応用情報技術者試験に合格すると「うちの生徒が」などと語り出す。くたばってしまえ。
専門学校
あまりにも長いので沢山見出しを入れます。
皆が勉強しに来る場所であればこんな目には遭わない。張り合いのある人間や自分以上の人間に会えるだろう。純粋過ぎた私はそんな思いで張り切って専門学校に進学しました。2020年4月の自分よ。頼むから引き返せ。
2020年4月~6月
ちょうど某ウイルスが流行り始め、全国に緊急事態宣言が発令されました。これにより暫くの間講義がオンラインで開催されるようになります。この間はまだマシでした。皆が仲良くiパスの勉強をしていました。自分も状況が状況なだけあって学習の方針を決めかねたままになり、iパスの問題を一緒にやって復習の足しにしていたところがあるので文句は言えません。
そしていったん各地の緊急事態宣言が解除されました。うちの情報処理科はというと、待ってましたとばかりに対面授業になりました。ま、まぁ情報処理科って言っても私たち1年生でクラスメイトとも担任とも1回しか顔合わせしたことがなかったので、まぁ、うん、ね……(笑)
という訳で対面授業が始まり、不安定ながら日常が数割だけ元通りになり、クラスメイトの皆がiパスを受け始めます。田舎なので受験会場が1か所しかなく、予約がギチギチに詰まっているとかいう話で、成績に入れようと思ったら1回しかチャンスがないとか言ってるのを思い出しました。えぇ……
ただ、ぶっちゃけ「全国の合格率50%くらいなら」と思ってました。資格に特化した学校で全国50%出る資格に落ちる人がそんなにたくさん…………
出ました。
出ました、はい。確かクラスの半数くらいが落ちて帰ってきました。
正直言うとこんなに落ちるとは思ってませんでした。独学でも受かるような検定でどうしてそんなに悲惨なことになるんですか……
この辺りから嫌な予感が自分の中に生まれていました。そしてそれは的中することになります。
同時期に始まったJavaScriptの実習が既に阿鼻叫喚。まず内容が「疑似言語をjsに書き直すだけ」。しかも大半の学生にやる気がない。自分の課題をやっている間ですら周囲に2,3人が集まり、一日の課題をクリアした瞬間引っ張りだこになったことも少なくありませんでした。鬱陶しいのなんの……
そして「他人のコードを直す日々」はこの時ついに「他人のコードを作る日々」へと変わりました。私は学校の課題プログラム生成AIですか?
あまりの悲惨さに学校関係の全てへと嫌悪と怒りが込み上げるようになり、この学校ひとつがために鬱病が再発し、鬱であることが誰にもバレないうちに治す必要まで生じました。自分の脆弱さも痛感しました。
この時期に私を救ってくれたものも確かにありました。逆に言うと今でもほぼ、それしかありません。最近はAtCoderなどで自分と戦えるだけ、幾分かマシですが。
2020年6月~10月
(ここからほんの少しIPAへの愚痴が入るので注意)
皆が一通りiパスを受験し、授業は基本情報の午前免除対策に入ります。
「午前免除」とは学校側で謎の認定試験があり、それに合格すると基本情報の午前が免除されるというものだったのですが、内容が既にオシマイでした。詳しくは述べませんが過去問を暗記すると合格できます。そんな内容の試験が午前免除としてIPAから認容されているのが恐ろしいです。
学校の低レベルさが故に要らない制約もたくさん入りますが、所詮基本情報レベルなので自分としてはそこまで苦ではありませんでした。それ以上に辛かったのがJavaScriptの実習。他人のソースコードを作る日々はこの時期になっても終わりませんでした。(そして後程これについて驚くべき実態が明らかになります。)
午前免除試験が1ヵ月ちょっと程度で終了し、午後の対策が開始されましたが、午後の対策になんと3ヵ月も掛ける予定で驚きました。iパスを真面目にやって下積みがあるにも関わらず3ヵ月も使うのか。その期間で応用情報まで進めるのでは?と思いつつも、ただ一般的にはその程度の期間が普通であるのを当時ネットで調べて把握したので、仕方ないかと諦めました。
暫くすると、情報処理科をリタイアする学生が出てきました。学校そのものを中退したり別のコースに移る人が出始め、10月頃には5人以上はいなくなりました。記事を書いている時点では更に5人くらい減っています。私は性格が悪いのでハッキリ言いますが、学校のやり方は滅茶苦茶だし受ける側もやる気がないのでした。自発的に勉強するという考え方がまるっきりないので、まぁこうなるなという感じです。
脱退者が増える中、それでも頑張ってついてきたクラスメイト達は授業で基本情報の全範囲を一応学習しました。そして多量の過去問を解き、模擬試験をやらされました。これが60点スレスレの学生もいれば、かなりの正答率をたたき出すようになった学生もいました。どんな滅茶苦茶な授業でも出来る人は出来るみたいです。多分天才ですね。私より才能あります。
ですがそのうちの一人は独学でPythonを勉強し、また一人は独学でUnity C#やC++を勉強し、またそれ以外の人も自分で過去問道場なんかを使って勉強していたように見えます。これがやはり、大きな差でした。
しかしながら暫くして基本情報が延期になりました。受けたかったネットワークスペシャリスト試験も一緒にどこかへ消えてしまいました。すると何が始まったか。基本情報の勉強でした。
基本情報が延期になって、その結果始まったのは基本情報の勉強でした。
2020年10月~11月
いよいよここから地獄度が最大限に高まります。
前述の通り全範囲の授業が終わっているにも関わらず、授業内容は基本情報のまま継続し、
私やX君などの助力なしではまともなプログラムを書けない(課題内容は疑似言語をjsに書き起こすだけなのに!)クラスメイトも少なくない中で、学校側の方針により必要以上に過酷な就活が始まりました。
最初にこの期間における唯一の救いを語りたいと思います。学年開始初期から、週に2~3日程度フリーランスの講師、V氏が授業を担当なされる日がありました。
基本情報延期よりも少し前にV氏はクラス全体のプログラミング力の低さを見抜いており、11月頃からは非常に低難易度なプログラミングの課題を出されるようになりました。それも、恐らく仕方なくJavaScriptで出されました。本来ならPythonやJavaで出そうとしていたであろう形跡がありました。(ちょっとしたことなのでその辺りは割愛)
ここまでがこの期間における唯一の救いです。地獄へようこそ。
さて、最初にV氏から出されたのは「入力された数字が正か、負か、あるいは0かを判定してその旨を表示する」プログラムでした。私も、さすがに誰でも解けると思っていました。それでは提出されたプログラムを一つ紹介したいと思います。ちなみに、先ほど述べた驚くべき実態とは、こちらのことです。
var a=' ';
var b=ans-a;
var ans = prompt("数値を入力して下さい(半角文字)","");
if(ans.substr(0,1)==" "){
isNaN("null")
alert("空白です");
}else if(ans>0){
alert("正の数です");
}
else if(ans<0){
alert("負の数です");
}
else if(ans==0){
alert("0です")
}else{
alert("数以外です")
}
もしこれを見ている方がちょっとでもプログラミングに詳しいならば、最初の方で何かおかしいと思ったポイントがあると思います。あるいはjsに詳しい方ならvarを使うなと仰られるかもしれません。その通りです。このプログラム中に存在する問題点を挙げますと、
・変数をvarで宣言している(現在はletやconstが主流)
・bの初期化において未宣言の変数ansが使用されている(ので、値はundefinedである)
・宣言したbは使用されない
・,の右側や、演算子の両端に半角スペースがない(これについては個人的意見)
・isNaN関数が無意味に配置されている
なお引数がかなり皮肉("null"という文字列なのでTruthy)
・else ifが直前節の終端波括弧の直後にあったり次の行にあったりと書き方が不規則である
・何も入力せずにpromptを閉じると0扱いになる、また全角スペース1個だけ入れるとそれも0扱いになる
・promptでキャンセルするとエラーが出る
・セミコロンすらついているか否かが不規則
ちなみにぱっと見ではわからなくて当然ですが
・if文の直前に全角スペースがあるので一部環境ではそこでエラーが出る
えーっと、これが曲がりなりにも半年以上jsの勉強をしてきたほぼ成人が書いたソースコードです。そしてこれを見たとき私はまず死亡し、次に生き返り、[データ削除済]、再び死亡し、最後に爆発しました。簡単に言うと感想が出てきません。
この後も阿鼻叫喚が続きました。forもwhileもどうやって書けばいいのかわからない、switch文というものの存在を知らない、それに対してさすがに外部講師のV氏も呆れた様子をお見せになることがありました。しかし、このV氏のあまりに懇意なこと、それでも指導を続けられました。私もさすがにV氏の疲弊を感じ気をもみましたが、時は進み続けいつの間にか12月になっていました。
2020年11月~12月
クラスの担任である教師から、冬期休暇間の無慈悲な課題が下されました。
「ネット上で動くシステム、あるいはゲームなど、プログラム作品を一人ひとつ案を出して個人で制作する」
私は死を感じました。自分で制作するものの案が無い、というのではなく、別の方向で。そしてやはり最終日に1件の地獄を見ました。
まずどうして最終日になって頼ってくるんだ。やり方が中学生レベルで止まってます。夏休みの課題を最終日まで引き延ばして上手いこと菓子かなんかで釣った作業員と一緒に無理やり片づけるアレです。
そして私に突き出されたプログラムは……
・関数の中に無名関数がある
・必要なデータが全部プログラムの頭に列挙型で書き連ねてある(ただしフロントエンドjsは外部ファイルを単独では読み込めないので仕方ない所はある)
・プログラム作ってる当人がその列挙型のデータをどうやって使うのか知らない = 脳死コピペ確定
・ある関数Aの中に名前の付いた関数Bがあり、関数Bが関数Cからも呼び出されている
・jQueryが使われているが、他者のプログラムを脳死コピペして憶測で使っており、jQueryの概念を知らないしjQueryのあるなしが混同している
・名前付けてもいいくらい使ってる変数の名前がA, B, C以下略
喉が枯れるくらいどこをどうしろと指示し、処理手順を教えたら諦められ、最終日なのに寝られませんでした。勿体ない。
なんだか、「この程度なんだな」って思いました。
どこに行っても誰もやる気がない。自分からやろうという人間が片手で数えられるくらいしかいない。危機感を覚えている人間も少ないのでは?
ちなみにこの当時から就活が激化してきていました。
ですが学校に聞きたい。こんな人間を社会に出していいんですか?
改変はおろか、記法について検索すらせず、締め切り直前になってからヘルプを求める人間を、社会に出すつもりですか?
このプログラムを出してきた人へ。
本来の始業日から大雪で数日休校になったよね。で、その再開日の前日に話持ち掛けてきたよね。休校になってなかったらどうしてた?
2021年
また某ウイルス君が流行りはじめました。大雪も降り強風も頻発しました。にもかかわらず情報処理科ともあろう学科が頑なに対面授業を諦めないのはなぜですか?
と言いたいところですが、その数十倍狂った問題が発生しました。発覚したのは2/27です。
基本情報の合格率崩壊。
CBT方式による基本情報技術者試験の1月実施分が、58%というおバカな数値をたたき出してくれました。
この直前に前述のX君が応用情報午後で正答率/問題数が65%なのに点数が47点という悲惨なスコアを出したのもあって、私は今IPAへの信頼が薄れつつあります。せめて配点を公開しろください。二年前の応用の合格証を破ってやろうかとも思いました。
基本情報に2回かけたX君もひどく落胆し、「この回で合格した人間が自分と同じ扱いなのが気に入らない」と言っていましたが、全くその通りではないでしょうか?私のクラスの学生もプログラミングが全くできない連中から優秀な人間まで皆が皆してあり得ないスコアを出して帰ってきました。馬鹿なのか。
もう、笑うしかありません。こんな、jsでforもwhileも書けない、選択がアセンブラで普段は5割程度しか出せてない、そんな連中が皆、基本情報合格(見込み)です。バカバカしくて笑えますね。
「エンジニアとして働き始めて3年くらいの人が受ける」
「プログラミング能力等を重視し、配点を変更」
そんな訳が無いでしょう。私の周囲でプログラミング初心者以下の人間がたくさん受かってますが?その辺りどうなんですか?
専門学校総括
最悪ですね。もう泣きたいです。
専門学校は高校で勉強し足りない学生が更に勉強しに行く学校だと思っていました。ですがそんな素晴らしい環境は福井にはありませんでした。
この一年弱における私の周囲へと指摘しなくてはならない問題点、沢山あります。もう、全てを述べる気力が沸かないくらいに。もう、それを挙げているような時間はもうありません。
なので最後に一つ問いたいです。
この怪文章をここまで読んでくださったこの世でトップクラスに優しく成績優秀で品行方正で博識な皆様へ。
この惨状を引き起こしたのは誰ですか?私はバカなのでわかりません。
まとめ
まだ鬱病は一時的にも治っていません。絶賛しんどいです。でもただ一つ言えるのは、可能ならばまだこの腐り切った教育環境を変えて、少しでも社会に出られる人材を世に出せる場を整えたい。そんな考えが私にはまだあります。
もしかしたら専門二年の授業内容によっては今書いている内容を取り消すかもしれません。ですが少なくとも「今」全くプログラムを書けない人間が多数基本情報に受かったあたりとかは事実です。私はそれを許すわけにはいかないと考えています。
そして最後に。
もしこれを見ている貴方がIT業界に興味のある中高生なら。
普通科高校、理数系四年大学に行った方が絶対に良い。とだけ忠告しておきます。
なんなら文系でもいいです。
では、これがもしネガティブな方向に炎上しなければ、またどこかで。
この記事が気に入ったらサポートをしてみませんか?