#はじめに
この記事は競プロに対する私の感覚をそのまま書いた文章であり、かつ「教える側」への切実な願いである。
と同時に、「教えられる側」への最大限の励ましになることを祈っている。
#こんにちは
今回も治安の悪いタイトルである。身バレも考えられるくらいには。
それに今回は、もとはと言えば私がすべて悪い。
だからここで最初に私の悪事を全て晒しておきたい。
そう、一年ちょっと前の私は口コミなんぞ微塵も調べず他人に流されてクソッタレ専門学校に入ったのだ。こんな意志薄弱、付和雷同なカスに文章を発信する権利はない。
しかしながらそれ以前に私がいちプログラマ(学生だけど)、いち人間として本当に憤慨するような出来事があった。
#経緯
1.「制作」という概念との対立
うちの学校は二年生になるとよくわからんプログラミング制作物のコンペに強制的に出させられる。これは私のような、プログラミングそのものに楽しみを見出し、競プロの問題をACすることで自尊心を満たしているような人間にとっては、全くもって邪魔である。
大きな制作物一個あったところで、今の所、それは私の心を一切満たさない。健全な人間においては性的欲求を満たした後虚無感を感じるとのことだが、私にとってはプログラミングによる制作というものがその程度のものにしか感じられないのだ。
ちゃんとした根拠を述べておく。
競プロはアルゴリズムの知識を高レベルで要求してくる。あと数学も若干。それは私には、未知の領域を先人の知恵と自身の発想力で切り開いていくような感覚をもたらす。
ところが普通のWebアプリ開発ときたらどうか、今の私がいる環境のレベルでは、同期処理が大半である。モバイル開発はこれにGUI処理を掛け合わせた程度にしか収まらない。
これは大変つまらない。一度出来てしまえばその時の経験で大抵補えるのだから。
(ゲーム開発は私には適性がなかった。)
すなわち、
改めて私にとって制作とは私の中にある興味関心の1割程度でしかなく、
かつ今の私に出来ること全てをかき集めても、私の持つ能力の1割程度しか発揮することができない。
別のサービスで書いた内容だが、私のいる環境はあまりにも腐っている。周囲とは上から合わせる立場にしかなれない私が、100%の意欲と集中を発揮する気になれるのは競プロだけなのだ。
プログラミングで何かを作る、プログラミングを手段として扱う方々には、ここまでの言い分は大変遺憾に感じられるだろう。いち学生の若さゆえの過ちであると見過ごしてほしい。
それに、今私が学生である以上、もうあと一年待って私が就職すれば当然見える世界は変わるだろうし、私もそれは否定できない。
しかし、たった今、私が個人で出来ることの量は少ないし、気軽に人員を募っても、私の周囲にいる人間がいくら頑張ろうが何の足しにもならないどころか、そいつに足を引っ張られるのは目に見えている。
とりあえず私は今目の前にあるクソコンペをどうにかして御さなければならない。ところが、このような境遇において、私は制作に本腰を入れようという気にはつい最近までなれなかった。
##2. 周囲の環境の悪さを再実感する
先ほどからちらつかせている話ではあるが、改めて書かせて頂こう。
情報処理科を名乗る弊校弊学科だが、2年目の5月においてHTMLのol/ul & liタグを扱えない人間を確認できた。
PHPの基礎文法はそれほど理解困難なものではない。にも関わらず未だ連想配列からリストやTableを作れない。こんな人間が多数いて、しぶとくも見せかけの意欲だけでこの学科に居座っている。
私が可能性を感じていた学生もそういった人間につられて腐ったり、人によっては情報処理科からそれ以外の学科に移動、退学、酷い場合にはある日から突然姿を消すなど散々な状況である。1年目と比較して情報処理科の学生は半分に減った。そして、IT業界以外を選んだ方が幸せになれそうな輩が半数である。
このような次第なので、AtCoder灰色後半程度の実力でも学級内ではカンスト扱いである。
私にとっては、これは腐った環境と言わざるを得ない。それも、こんな何の実力もない人間たちが授業中どうにしかして学ぼうと思っているのならまだ許せた。だがこいつらはみな揃って遊んでいる。
……そういえば、コンペは3人1チームで1個制作したものを出すらしい。
ちょっと待ってくれ。こんな奴らと組みたい奴なんてこの世にいるのか?
##3. 教員の理不尽
ここまでは普段から起こっている問題であって、私にこれを書かせる要因になったのはここからの話である。
このような状況ではあるが渋々私もこのコンペに出ることにした。なぜなら、出させられるものは仕方ないからだ。
そういえば、この時コンペの成績を丸々ナントカ月の成績100%分にするとかいう脅し付きで出させられた。これがもう教員からの脅迫だと言いたいのだが、この程度可愛いものだ。
形式と実績を大事にするアホ教員が、これまたバカバカしいことになぜか全員に制作案を出すよう強要してきた。3人1チームで1作品なんだから、案のうち3個に2個は無に帰すのに。
これに私も少々頭を抱えたが、振り切れた私は競プロサービスを自作するという案を出した。
決してAtCoderやその他既存サービスのことを悪く言いたいわけではない。ないのだが、これら既存サービスは挫折率の高さを指摘せざるを得ない。例えばAtCoderについて言うと、
このグラフは現在の全ユーザーのレーティングを(灰色以外は)階級幅100でヒストグラム化したものだ(目盛りは200ごとだが目盛りごとに2本棒がある)。
そして見ればわかるが、括弧書きしたとおり、灰色だけヒストグラムの階級幅が100より小さい。これを他の色と同様100に直そうものならとんでもないことになるだろう。
この1桁だとか2桁というレートは、例えば初回のコンテストで茶色上位、レート700と同じくらいの実力と判定されたとすると、初回の強烈なマイナス補正で40くらいになる。それ以下についても大体想像がつくだろう。
事前にそれを知っていればそんな数字も納得のいくことだが、知らずにこの結果を見たら多少の理不尽を感じるだろう。何せこれを書いている私も初回で755相当の実力と評価されたのに、レートは48。さすがに低すぎやしないかと思った。
(ちなみに私は緑コーダーである。まだ3ヵ月半とはいえお恥ずかしい話だ。)
そこで私は考えた。この挫折者の多さを何とかできないか。プログラミングの実力を伸ばそうと思ってきた、ちょっと遊びで来た、あるいは本気でこれから上を目指そう、という初心者に対して、こんなまざまざと無慈悲なレートを叩きつけられるのは酷ではないか?
そんなことを考えながら、短い期間で資料を作り上げる必要があった。
期間はだいたい2週間。PHPとPythonの校内での試験を控えながら。(私は就活が終わっている身だからいいが、そうでない学生には更なる苦痛だっただろう)
この期間は、具体的で強力な案を出すには少々厳しいものだった。今回のこれはまずもって完璧な発表を求めるものではなかったので、私も期限に迫られてぱっと思いついたような「難易度の低い問題を充実させる」「解いた過去問の数や新規AC継続日数のデータを公式に提供する」などの安直な書き方をした。あくまで今主力の競プロサービスへの足掛かりになるものを目指すという体で。
ところがこれが腐った教員のおかげで捻じ曲げられていった。
これもまた私怨の混ざらないよう冷静に評価してみたが、
以下のような方法で私のこの意向はいつしかその教員の扱いやすい課題へと書き換えられていったのだった。
- 意見の不完全なところに付けこみ、教員自身の経験上楽な方向、教員自身の経験したことのある内容へと向かわせる
- これは威圧と経験則をもって強制的に行われた。
単純な話だが我々学生と、それ以上の年月を生きる教員との間では「視点」は当然違う。だがその教員は悪い意味でこちらの目線にのさばっていた。
- これは威圧と経験則をもって強制的に行われた。
- 教員でありながら学生に対して自身と同等なパフォーマンスを要求し、それが出来ないと真っ向からの威圧をかける。
- 大人げない。
- 質の悪いことにこの教員は「教えずに要求する」。そのため独学するまでのモチベーションがないと腐ってしまう。そうして今の劣悪な環境も生成された。
- 我々が就活生であることを盾に、我々を学生として扱うことを拒否。
- 教員でありながら学生に対して知識を用いた煽り、口出し。
- 完全なものは求めないと言いながら批判、粗探し、質問攻めの嵐。
- もはや圧迫面接のごとく学生の目の前で否定的な発言、不満そうな発言。
この教員の性格の悪さがこの短期間で全てわかった。
実は前にもこのような体験をしているが、私としてももう二の舞を踏むわけにはいかない。
こういった方法で各人の意見を自身の扱いやすいように作り変えてしまい、学生を管理下に置いて教員としての評価を保とうとするクズが、いまだにこの世には存在するのだ。
#結論
##競プロについて
私にとって、少なくとも競技プログラミングとは今一番私の意欲が向くところであり、それはまるで冒険のように面白い。
このコミュニティ内は日頃から大小さまざまな意見が飛び交っている、その中には競技プログラミングを無意味と語るものもある。だが私が切に願うのは、いつか競プロに価値を見出そうとする人間が消えて、純粋にゲームとして競プロに熱中できる日が来ることだ。
##教える側について
これを踏まえて、これを見ている貴方が教える側の人間だったら。
よく知らないものをゼロと見做して頭越しに否定していないだろうか?一時的なある意見の過熱を世論と取り違えて主張していないだろうか?
貴方の知らないものが全部無価値なものかどうかは、どうか貴方自身が知って決めてほしい。その方が論理的で根拠ある否定が出来るから。
##教えられる側について
貴方は教える側の言い分に理不尽を感じたことはないだろうか?
おかしいと思ったことを言わずに隠すだけでは、自分も周囲もどこまでも腐ってしまう。どうか勇気をもって反対してほしい。
#最後に
ここまでこの文章を読んでくださった相当物好きな私の同志のような(言い過ぎ)方々へ。如何なる批評も受け付けています。
私は絶対に諦めません。
それでは、今回はここまで。