競技プログラミングは意味ない?学習方法の疑問にお答えします。

こんにちは!

子供向けプログラミング教室kobakoスタッフです。

競技プログラミングというのをご存知でしょうか?

競技プログラミングは、与えられた課題を素早く、効率的に正確にプログラミングしていく競技です。競技プログラミングが体験できる主なプラットフォームとしてAtCorderが有名です。

https://atcoder.jp

この競技プログラミングですが、プログラミング学習において賛否両論ありまして、一部では競技プログラミングは意味がないという意見もあったりします。

今回は競技プログラミングは意味がないのか?という疑問に対して、僕の考えを書いていきたいと思います。

ところで・・・

この記事を書いている人はだれ?

子供向けプログラミング教室です!

JavaScriptを使ったゲームプログラミング、ゲーム企画が得意な教室です。

プログラミング教室で実際に使用している、学習成果のある教材をYouTube無料配信しています。

競技プログラミングは難易度が高い

そもそもですが、競技プログラミングはとても難しいです。

プロのエンジニアである僕が問題を見ても、出題レベルの低い問題だとしても、難しく感じます。

というのも、普段直面しないようなプログラムが課題として出されますし、そもそも問題文すら読んでられないのが僕の本音だったりします。

競技プログラミングを見ていて、これは本当に好きな人にしか好きにならないジャンルのプログラミングだなぁ、という感想でした。

競技プログラミングは能力の証明になる

そんな難しい競技プログラミングですが、こういった課題がクリアできるということは、ある程度プログラミング能力はあるんだろうなぁという証明にはなります。

実際、AtCorderでは企業とコラボしながら、競技プログラミングのスコアに応じて就職支援などもやっているようです。

競技プログラミングは意味がない?

ただ、確かに能力の証明にはなるのですが、何か引っかかるもやもやを感じてはいます。

それはこのブログでもよく言っていることですが、手段の目的化、というのが一つのキーワードかなぁと思います。

エンジニアの目的は他にある

プログラミングは手段であり、作品や製品を作ることが目的です。

ですが、競技プログラミングはプログラミングすることそのものが目的となっています。

言うならば、プロの野球選手がストラックアウトに挑戦するようなものでしょうか。ストラックアウトとは、狙ったパネルを正しくつらぬく投球コントロールを競う競技です。

能力強化としての練習メニューとしてはストラックアウトは良いでしょうが、コントロールがよければプロの野球選手になれるわけではありません。

同じように、競技プログラミングは練習メニューとして良いでしょうが、プログラミングのコントロールが良ければ凄腕のエンジニアというのはちょっと違うと思います。

練習メニューとしてはあり

ということで、練習メニューとしては競技プログラミングはありだと思います。

あるいは、好きな人には良いでしょうという感じでしょうか。

ですが、子供のプログラミングといったように、技術力よりも発想力などの強化を期待されている分野では、ちょっと競技プログラミングでの練習はそぐわないのかなぁという印象はあります。

繰り返しますが、本人が楽しいと思えるなら競技プログラミングは全く問題ないし、良いと思います。

ですが、競技プログラミングさえやっていればエンジニアとして成長できる、と思っているならその答えはNoかなぁという感じです。

結局、楽しければ良いという話

結局ですが、僕は楽しいことは正義だと思っています。

何事も、楽しくないと先には進めません。

競技プログラミングが楽しいと思えるならそれで良いですし、楽しいと思えないなら他の学習方法を試すべきです。

プログラミング教室kobakoとしては、競技プログラミングの分野は得意ではありませんので、競技プログラミングに興味がある生徒さんにはお役に立てないのが実情かなぁと思います。

その代わり、作品が作りたい!という理由でプログラミングを志す生徒さんには力になれると思っています。

無料体験へのお申し込みはこちらから!

kobakoのゲームプログラミング教材もYouTubeで無料配信中です!

初回の授業料(体験)は無料です。

※現在はオンライン授業でのみ対応しています。通学型ではありません。

Marco PomellaによるPixabayからの画像