競技プログラミング AtCoder
そもそも、競技プログラミングとは?
「プログラミング」をオンラインコンテスト形式で学ぶことができるサービスのことです。
ここではまず、AtCoderという代表的なコンテストについて概要を書かせていただきます。
コンテストは週一程度のペースで開かれているようです。コンテストには、大雑把に分けると初心者が参加しやすい難易度のBeginner Contestと、上級者の参加するGrand Contestに分かれています。その他にも一般企業の開催するコンテストなどがあります。
一つのコンテストの問題はA~Fまでの6つの難易度に分かれており、それぞれに100点、200点…600点というように配点されています。
誤答につきペナルティがついたり、提出時間の差によって順位が変動したりするなどのルールやレーティング(自分のレベルのようなもの)などの概念などもあるのですが、ただ皆さんに「各サービスの存在を伝える」というページの理念上、このくらいの概要説明にとどめさせてください。詳しくは、AtCoderの公式サイトなどを見てくれると良いかと思います。
では本題。
競プロの利点って何ですか?高校生のうちからプログラミングなんてやる意味は?流行りのプログラミング教育ってやつですか?
そう思った代表は、高校生の頃からプログラミングの経験がある、友達の学生さんに話を聞いてみました。
代表の問いは、「高校生のうちから競プロをやる利点は何ですか?」
以下、経験者の答え!!!
・プログラミング,アルゴリズムに関する知識が手に入る
情報化が進んだ今の時代において,プログラミングがどういうものなのかという知識は,どんな学部に入っても役に立つはず. AI についての間違った認識とかも防げるかも.
・論理的思考力がつく
論理的に物事を考えられないと競プロの問題は解けない.
コンテストなどで問題を解くことで,思考力を鍛えることができる.
これにはたとえば「反例を探す力」みたいなのも含まれて,コーナーケースで WA(あなたの答え間違ってますよ通知) が出たときに
「自分の書いたコードがどういう状況下で失敗するのか?」
と考える必要がある.
(個人的な考えとして,反例を探す力というのは論理的思考力の根幹をなす部分だと思う. p ⇒ q を証明するときに, p だけれども q でないような状況を探そうと試みることは多い.)
・仕事をこなす力がつく
たとえば数学の証明問題は,頭の中で証明するだけではだめで,それを答案として書く必要がある.
競プロも同じで,頭の中で考えたアルゴリズムをコードとして書いていく必要がある.
ときにこれは1時間以上の時間を要する(いわゆる「重実装」というやつ)が,競プロをやる上で重実装から逃れることはできない.
(重いからといって1問捨てたりすると,順位が大きく落ちるので)
なので、1時間くらいなら普通に作業に徹することができるようになってくる.
で,単純に考えると,これで模試中に面倒な記述とかをめげずにこなせるようになる
(嘘のようだが割と真実)
お答えいただきありがとうございました!!!
ちなみにこの人、2019年の秋の東大模試の数学で一番難しかった整数の大問を完答していました。アレ、作業量がめっちゃめちゃ多くて「えぇ…?勘弁して?」って問題でしたし、問題文も複雑で、論理的な思考力が欠けるとあれよあれよと誤った方向に流れていく問題でした。
なお、代表はその問題を見事に誤った方向に解き進め20点中0点だった気がします。20分くらいかけたんですけど…はい。
競プロって、結構高校生にも有用なのかもしれません。手を出してみてはいかがでしょうか?
レビュー提供者様 山梨大学医学部(地方高校卒)
最新記事
すべて表示概要: 今年(2020年)に発足した新たなサービスです。学生約3人+東大生メンターによるチャットグループです。 常時質問対応(電話またはチャット)を受け付けていて、質問対応するのは東大生のみ。 さらに月一回のグループ面談によって、勉強の方向性を決めることができます。...
概要: 都内の東大専門塾『鉄緑会』のテキストを使用して、オンラインで東大生の個別指導を受けることができる。 成績制限があるものの、地方でも受験者の多い進研模試を利用するため成績さえよければ非進学校の生徒でも入会できる。 レベル感:上位層向け...
概要: 東大形式の模擬試験と解説、過去問添削、質問対応、進路相談ができるサービス。他大学にも対応しているが、 東大に特化しているとみてよい。 前期(4月~10月)後期(11月~2月)に分かれている。後期入学も可能。後期入学でも模擬試験10回分を貰うことができる。...
Comments