【IT】96%が屈辱の「初級以下」判定、AtCoderのプログラミング実力判定試験の深層

【IT】96%が屈辱の「初級以下」判定、AtCoderのプログラミング実力判定試験の深層
1田杉山脈 ★2020/01/22(水) 19:33:12.86ID:CAP_USER
プログラミングの実力を測るのは難しい。対象者が書いたプログラムを人の目でチェックするには、時間も手間もかかり、評価者に高いプログラミングの能力が求められるからだ。かと言って一般的な試験問題では、プログラミングの知識を測ることはできても、プログラムを書く力を測るのは困難だ。

 この問題に真正面から挑戦しているのが、様々なプログラミングコンテストを運営しているAtCoderである。受験者にプログラムを書かせて実力を自動判定する新型の検定試験「アルゴリズム実技検定」を始めた。

この検定は、1からプログラムを作成する能力を問うものだ。同社によると「知識型ではない」「受験者が得意なプログラミング言語を選べる」「アルゴリズムの実力を測る」といった特徴を持つという。オンラインで参加する形式なので、自宅など好きな場所で受験できる。

 同社は、この検定の第1回試験の結果を2020年1月15日に公表した。実施日は2019年12月14日で、458人が受験したという。

 出題される問題数は15問で、100点満点。配点は、1問目が9点、2問目と3問目がそれぞれ8点、4問目から6問目がそれぞれ7点、7問目から15問目がそれぞれ6点になっている。

 受験者は、獲得した点数に応じて5段階のランクに分けられる。25点から39点が「エントリー」、40点から59点が「初級」、60点から79点が「中級」、80点から89点が「上級」、90点から100点が「エキスパート」に認定される。24点以下は「未認定」になる。

 AtCoderは、第1回検定を受験した458人のランクの割合を公表している。

最も多かったのは初級で約33%。ほぼ3分の1に相当する。以下、人数が多い順に、中級、エントリーと続く。

 意外だったのが、上級よりもエキスパートのほうが多かったことだ。全体の14%に相当する66人がエキスパートのランクを獲得した。さらに、そのうちの38人は100点満点を獲得していた。

コンテストの参加経験があるかどうかで成績に大差
 同社は、受験者をAtCoderの定期コンテストへの参加経験がある「AtCoderユーザー」と、AtCoderの定期コンテストへの参加経験がない「一般受験者」の2つに分けて、各ランクごとの比率を公表している。一般受験者は全受験者の3割弱である126人だった。
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/03494/

3名刺は切らしておりまして2020/01/22(水) 19:39:33.62ID:u6gOOoUJ
アルゴリズムを知ってるか暗記試すんならそうなるだろ

大事なのは必要なアルゴリズムを調べて実装に持ち込む能力

5名刺は切らしておりまして2020/01/22(水) 19:46:56.24ID:adPb+jBc
>>3
これリモートで自宅からでもできる形式じゃないの?
君の望み通りの形式だと思うんだが
7名刺は切らしておりまして2020/01/22(水) 19:58:08.23ID:u6gOOoUJ
>>5
こういう試験では
要件に最適なアルゴリズム採用・設計を行う能力は測り難いと思うのよね

プロマネ側の勝手な要望だけどさ

4名刺は切らしておりまして2020/01/22(水) 19:45:22.91ID:oSosBRcW
ごめん読み間違えた
全体的な話なんだな
ほとんどのプログラマはアルゴリズム知らないでも組めちゃうしね
6名刺は切らしておりまして2020/01/22(水) 19:54:28.37ID:KPTiEvcn
アリスゴリラヒロセ
8名刺は切らしておりまして2020/01/22(水) 20:03:45.03ID:+mYT6y90
過去問やったことあるかで成績変わる
10名刺は切らしておりまして2020/01/22(水) 20:18:00.21ID:t1MMLUS7
もとより理解するのは大変な仕事だよ
一目見てわかるのは同業者に他ならない
13名刺は切らしておりまして2020/01/22(水) 20:26:34.21ID:cKo8grwH
俺が言うた通り
全角半角でどやるただのコーディング屋がアルゴリズムまでできるとか思ってるから不幸なんだよ。
14名刺は切らしておりまして2020/01/22(水) 20:30:17.16ID:SiYF2uLQ
数学知らないやつばっかだからな
18名刺は切らしておりまして2020/01/22(水) 21:35:55.27ID:V8dkPr7C
人月だろ
20名刺は切らしておりまして2020/01/22(水) 21:53:20.72ID:V8dkPr7C
atcoderは時間決められてるから参加しづらい。
不正を防ぐためには仕方ないんだけど。
22名刺は切らしておりまして2020/01/22(水) 22:24:47.14ID:RF6ooMiC
RAM1kとかならやるだろ
その上で同時に使わん変数のアドレス被らせたりも
24名刺は切らしておりまして2020/01/22(水) 22:40:15.71ID:p7ikjzUB
hollow world.
を表示するだけなら100点だな
31名刺は切らしておりまして2020/01/23(木) 05:58:32.78ID:o8+dP1Rt
>>24
洞窟から出てはあぶないよ…
32名刺は切らしておりまして2020/01/23(木) 09:27:04.02ID:+RdSV0vu
昔のBASICって全部グローバルで変数名2文字縛りとかだったよなぁ。
あれで大規模なプログラムを書いてたパイセンって男気溢れてたんだろうなぁ
37名刺は切らしておりまして2020/01/23(木) 21:31:03.77ID:kltseCET
数学に強いけど、足し算ができない記者が記事を書いているんじゃないの?
39名刺は切らしておりまして2020/01/24(金) 01:27:39.45ID:2+sZE09Z
業務アプリに凝った仕組みとか、アルゴリズムなんて必要ない
バカでも分かりやすい、バカでも修正しやすい
コードが書けることが重要
40名刺は切らしておりまして2020/01/24(金) 03:27:44.37ID:ryq09USJ
>>39
大抵機能増やした際のデグレから破綻してくケース多いし、テスタブルであることが重要。
確かに言う通り無駄に凝ったコードは要らんが、テスト組むには疎結合とか参照透過性とか、それなりの知識が要るぞ
89名刺は切らしておりまして2020/01/25(土) 17:53:39.31ID:RguSLQV2
>>40
AtCoderのようなプログラミングコンテストでは測れない指標ですね。
この手のコンテストはエラー処理すら考えずに問題解けばいいので。
機能拡張のしやすさとかも一切考えないでいい。

ちなみにAtCoderをdisってるわけじゃないよ。
例えていうとF1レーサーとバスの運転手では要求される能力が異なるってこと。

43名刺は切らしておりまして2020/01/24(金) 20:06:39.52ID:W31dx0AV
くだらない試験だからマトモな奴は受けない
48名刺は切らしておりまして2020/01/24(金) 20:49:53.27ID:CQqch/Ip
連レスになるが、競技プログラミングは頭を動かす趣味だからむしろ世間一般よりも頭を動かすのが好きor苦でない人たちの集まりだと思う
50名刺は切らしておりまして2020/01/24(金) 21:12:10.55ID:cUT0zaU0
日本ではプログラマを大事にしないからな。
まあ、コーディングの質に依存するソフト作りをしてないっていうか。
51名刺は切らしておりまして2020/01/24(金) 21:18:34.27ID:WcYATNHT
まぁ、AtCoderやってるから優秀でないってこともないだろうね
ただ、仕事でも研究でもトップランナーたらんとする者はいかに他の人と違う新しいことを成すかに価値を置いてるわけで、
全員同じ土俵でスコア化できるもので他の人より優れてることに価値を見出したりあまりしない
高校時代に偏差値80だったことをいつまでも自慢してる人とか、今の仕事で成果が出てない人だし
52名刺は切らしておりまして2020/01/24(金) 21:20:42.86ID:9lSLwJxE
世界のプログラマ 理数系で学位取得したオタク
日本のプログラマ Fラン卒や元フリーター

日本のオタクはギークにもなれない

53名刺は切らしておりまして2020/01/24(金) 21:45:38.88ID:OnkwEOdG
プログラミング=オタク じゃなかったのか?
そもそも一般人にやらせたらどの国でもほとんどできないだろ
54名刺は切らしておりまして2020/01/24(金) 21:53:32.01ID:FqxHx4HL
アルゴリズムを使う仕事なんて無いのに暗記してるのは唯のオタクで趣味なだけなのに無駄無意味
どういう所がハイスペック人材求めててどれくらいが対価をちゃんと払えるの?
57名刺は切らしておりまして2020/01/24(金) 22:25:34.05ID:zTwK/R7J
>>54
アルゴリズムを使うっていうのが意味不明なんだが、どのように解くことが良いのか、条件によって良いアルゴリズムを選択する。
知らなければ妙な方法で問題を解決するわけで、解法自体が正しいか否かすらわからないだろう。
いや、正しさを証明できればいいが、そんなことをやるぐらいなら「常識」に頼る。
つまりは定番のアルゴリズムを使う。
知らなければ使えない=使えないPG
101名刺は切らしておりまして2020/01/25(土) 19:08:29.93ID:mIluwUGf
だから、わりと多くの日本の会社は優秀なプログラマーは欲しいと言いつつも、
優秀すぎるプログラマーは怖いから嫌だって気持ちも結構あるの。

ちょうどいい感じに馬鹿なプログラマーがいいな?みたいなニーズw

104名刺は切らしておりまして2020/01/25(土) 19:14:43.24ID:mIluwUGf
まあ、どんなお仕事でも言われたことだけやるやつは
年収400ってとこでしょ、実際。

それは別にプログラマーに限った話じゃない。

114名刺は切らしておりまして2020/01/25(土) 20:42:53.87ID:GhpcCgEA
んーよく分からん
実装も含めて問題なんだけどな
115名刺は切らしておりまして2020/01/25(土) 20:57:09.44ID:ChqQUehm
どうでもいいけど土曜の夜に仕事なのか
116名刺は切らしておりまして2020/01/25(土) 21:56:26.85ID:gxGNHdBY
まぁプロコンなんて信仰の一種だからね
できるやつはやらない
120名刺は切らしておりまして2020/01/26(日) 00:52:22.85ID:PnnkeWxD
おお天才か?
理解できた気がする
明日思い出したら実装してみようかな
126名刺は切らしておりまして2020/01/26(日) 01:24:42.98ID:vALKcul5
値段下げるためだからね。^^
133名刺は切らしておりまして2020/01/26(日) 02:35:09.34ID:kHivDNAz
プログラミングなんて派遣や非正規の仕事
135名刺は切らしておりまして2020/01/26(日) 02:41:11.25ID:0fN1k7L0
宣言 Aは実数である
Aに2.88を代入する
Aを小数点以下第一位までを有効とする関数を通す
戻り値はどうなる?
Aは2.8 か2.9 か答えられないだろ?
>>1
136名刺は切らしておりまして2020/01/26(日) 02:49:44.56ID:0fN1k7L0
もう一つ
ユーザをユーザー
プログラマをプログラマー
と記述する時点でアウト

引用元:http://egg.5ch.net/test/read.cgi/bizplus/1579689192/