パソコン甲子園後の部内での競プロについて
どうも、相方が情報オリンピックで金メダルとって以来もう学校名を隠す意味全くないなと思い出した白メガネです。
と言うことで今回のパソコン甲子園の話とそれを経て考えたことを今回の記事にしていきたいと思います。
まず、今回の結果ですが多分予選1位通過です。
北九州工業高等専門学校 P573 「??solars??」チームが最終問題を除き全問正解!!
— パソコン甲子園ツイッター班 (@pc_koshien) 2018年9月15日
残り約50分です!
全問正解はできるのでしょうか!?
また本戦も見えてきました!!
#pckoushien #u_aizu
まぁ、皆さんもなんとなくわかると思いますが後半の問題はほとんど相方が解いてくれたんで自分の力で勝ち取った勝利ではないです。
本選までは相方ほどとはいかなくても自分一人でワンチャン予選とおるかなぁ~って位の
力は着けないと他の選手たちに面目が立たないので今まで以上に精進していこうと思います。
と言うことで長い前置きは置いて本編に入りましょう。
今回のテーマは『部員のプログラム教育に競プロを組み込みたい』という話です。
ということでまずは現状について話していきたいと思います。
現状、部内で競プロの人気に言わせてもらうと数人の部員を除きほとんどの学生が苦手意識を持っているという状態です。
かく言う僕も半年前まで苦手意識しかなかったので人のことは言えないですが、今の僕はこの状態をどうにかしたいという風に考えています。
そもそもなんで競プロの布教をしたいのかという話でしたが、今回のパソコン甲子園への対策として特別講義みたいなのをしてみたのです。
そうしたところ、3回しかやってないはずなのですが、1年生のレベルが1回するごとにぐんぐん上がっていったのです。
上の記事に書いていたのですが今までの講義はほぼマンツーマン指導の講義タイプ。
ほぼ完全な受動型でした。
その為、今まで自分で考えてプログラムを書くことがなかったのかなと思っています。
まぁ、一応ほぼマンツーマンだったのできちんとプログラムの仕組みの理解を確認できていたため今回のパソコン甲子園もほとんどの1年生が割と戦えたんとおもっているので、個人的にはまちがってなかったのかなと思います。
ただ、やっぱり今まで実装力という部分が伸びなかったというのはこっちの教え方に問題があったのではと思ったりしています。
特に、自分でアプリを開発するようになって実装力というのは非常に重要だなという風に思っています。なので、その実装力を養えないと学校を卒業するまでに学生だからできる自分だけの開発というものが出来ない恐れがあると思ったります。
自分も1年前人狼ゲームのアプリを作ろうとしていたのです。ですが、プログラムを書くのがつらくて、デザインの勉強ばかりしてプログラムには手を付けず結局完成しなかったということがあります。今考えれば、それは実装力というものが不足していたのかなとおもったりします。
そして、自分が思うにその実装力を身に着けるのに最適なのは『競技プログラミング』じゃないのかなという風に思います。
『競技プログラミング』は基本的にプログラムをなるべく、『早く』『正確に』『なんども』実装します。そして、それを短いスパンで行えるのです。
特に今の1年生には自分のやりたいタスクを始める前にそれをあきらめないで良いように『実装力』などを身に着けてもらいたいと思います。
今回のパソコン甲子園前の特別講座を経てそんなことに改めて気づかされました。
実際やりたいことは何かというと
1、JOI予選に出てもらう
これですが、個人的にはやってもらいたいのですが日曜日に部活に行くこと必要あるので割と抵抗する人もいそうです。正直、1日くらいは別にいいんじゃないかと思ったりしていますが、競プロに苦手意識があるとわざわざ休日に出てくるのは辛いとは思うので何とも。まぁ、その苦手意識を取り除くには必要なステップだと思うんですけどね…。
2、部内競プロを開く
こっちらもやはりプログラミング班長の仕事を増やしてしまうのでプログラミング班長が嫌がっている感じですね。とはいっても現状プログラミング班長には『部内プロコン』以外にタスクがなくて幹部だけど実質ニートとか言ってるんでこれくらい仕事増やしても良いとは思っています。
頻度としてはまだ誰とも話し合ってないのでどれくらいの頻度で行うのか全く決めていないのですがそれぞれの長期休暇に1回くらいの頻度で行いたいと思っています。
やるとしたら『自動ジャッジシステム』欲しいけどそんなものつくり方知らないから『人力ジャッジシステム』を使うのかな。
3、Atcorderにリアルタイムで参加する文化を作る。
やったとしても基本的にABCだけです。他は難しすぎるんで。
とは言ってもこれ自体かなり理想論です。自分はJOIのひどい結果の悔しさからやってみたのですが、普通の人はそんなきっかけないので部できっかけを与えることが必要なのかなと思ったりしなくもないです。ただ、当然ですが家に環境がある人しかできないというのもあるんでむやみやたらに強制とか言うのも考え物です。
それに、初めのうちは1完しかできないということがザラなんでモチベーションがもつのかという疑問もあります。
ただ、これは自分が卒業するまでには実現したいことです。
4、競プロの講義をする
今回の対策みたいなものを時々やりたいなと考えています。
ちょうど部内で勉強会(ハンズオン?)をやろうという話が出てるんでそれに時々組み込むことがあっても良いかも。
実際に解くときは皆顔はイキイキしてるんで、まぁ人は集まると思います。
(問題解説時は過半数が寝てるけど...)
という風な感じです。
まぁ、特に3番とかが出来れば部内のレベルは相当上がると思います。
1,2,4はレベル上げというよりどちらかというと競プロへの関心が深めるという意図が大きいのかなと思ったりします。
結局、この手の新システムを運営するには『持続』『引継ぎ』というものがしっかりとできることが重要なのです。現状、僕単体でこの今言ったようなシステムを動かすのは案外不可能ではないと思います。
ですが、自分に依存したエコシステムだとどうしても自分が役職を降りた後とかもこれを続けることが難しくなると思います。
特に、上のものが実際に始まるようになると誰がそれを管理するのかきちんと整理する必要があります。
自分たちの役職の任期は12月までなので彼らに迷惑をかけないように今の役職でしっかりとどういう風に運営するのかを話し合ってからしっかりそれを決めてから運用したいと考えています。
まぁ、少なくても競プロ自体ゲームみたいなものだし強制する必要はないという意見もわかるのですが、育成という観点では2年生くらいまではそれをやってもらうというのもありなのかなと思います。また、強さに比例して楽しさが解ってくるタイプのものなので最初うちは頑張ってもらいたいです。
今まであんまり浸透していなかった競プロの文化が下の世代に伝わればかなり部活自体の実力の底上げになるはずです。それは競プロなどのコンテストだけでなく、開発を進めるうえでもかなり役に立つと思います。
まぁ、今回の話は取り敢えず教育の一環に『競プロ』を取り入れたいという話ですね。
ただ、それをやるには乗り越えなければならない壁も多く、一筋縄にはいかないようですが必ずやり遂げたいことに一つです。
その前に、自分もパソコン甲子園の本選でまともに戦えるようにもっと精進する必要がありそうです。
長い文章でしたが最後まで御付き合いありがとうございました。