見出し画像

パソコン甲子園に挑戦してみよう!

この記事は鈴鹿高専Advent Calendar 2022 22日目の記事です

https://qiita.com/advent-calendar/2022/snct

この記事ではパソコン甲子園に参加したくなるようなことを書いていこうと思います

パソコン甲子園とは

パソコン甲子園とは会津大学が主催している全国高等学校パソコンコンクール パソコン甲子園という大会です

  • プログラミング部門

  • モバイル部門

  • いちまいの絵CG部門

の3部門あります

各部門について

プログラミング部門

プログラミング部門は簡潔に言うと「競技プログラミング」です
与えられた問題をいくつ解けるかというもので、メモリ使用量や実行時間に制限があるためリソース管理やアルゴリズムがかなり重要です

ちなみに参加したことはありません

モバイル部門

モバイル部門は「与えられたテーマに合致するモバイルアプリ(Android)を作る」というものです
テーマは毎年異なり2021年は「これからのスクールライフ~新しい放課後~」2022年は「温故知新」でした
テーマに合致した課題を見つけそれを解決するようなアプリを作るため、技術力はもちろん企画力や普段からの情報収集なども重要だと思います
モバイルで動けばアプリの形式はwebアプリでもネイティブでも良く、比較的制限は緩いとは思います
予選から本選に行ける人はここ数年は3割程度です

いちまいの絵CG部門

いちまいの絵CG部門はほかの2つと違ってプログラミングが必須というわけではなく、テーマに合致したイラストなどのCGを制作するものです
この部門に申し込むと「CLIP STUDIO PAINT DEBUT」が無償提供されるので制作環境が整っていなくても参加できます
テーマはモバイル部門と同じことが多いです
この部門は入選しても本選会場に行けないです

パソコン甲子園に参加してみて…

私は2021年と2022年のモバイル部門に出場しました、それぞれで学んだことや感じたことその他いろいろを書いていきます

2021

この年はコロナ禍ということもあり本選はオンラインで開催されました

アプリ開発

このときの私はWindows Form Application / Xamarin / flaskくらいしか触れたことが無く、技術力がそこまで無い状態でした
採用技術は

  • Typescript

  • ReactNative

  • firebase

  • Azure VM

  • NodeJS

で、私の担当はReactNativeでFirebaseを使う際、UI側のコードでDBを直接触ることが起こらないよう、カプセル化したりAuth周りも隠蔽化したりといったバックエンドに近いようなところ(のはず)でした はずでしたということは現実はそうではなかったです かくかくしかじかあって私もUIコンポーネントを作成し、画面遷移時のフロント側でのデータ受け渡しのバグ修正をし、開発途中で突如生えてきたサーバーサイドのインフラ構築とバックエンドのプログラムを書きました 合計開発時間はたぶん1000時間超えていたと思います 報告書には正直に書こうかと思いましたが、ロボコンのある方が大人の事情で時間を減らされてるところを見たので900時間で報告しました

こうやって聞くと大変だと思うかもしれません、大変でした
でも今振り返ると体調を犠牲にして技術力が得られたので失ったものも多かったですが挑戦してよかったです

本選

本選はオンラインということもあり発表環境を整えるのに苦労しました
プレゼンとデモが連続するようになっていたためスムーズに「プレゼン→デモ」の移動ができるようにOBSやHDMIスイッチャーやカメラやピンマイクやその他色々...たくさんの機材パワーで工夫しました、たぶんどこの学校よりも高クオリティな発表環境が構築できたと思っています

本選の後にある交流会はgatherで行われました
ここで抽選会がありますが私は図書カード2000円分を獲得できました
ちなみに後日届いた図書カードは500円分が4枚来て少し驚きました

この図書カードでLive2Dモデリングの入門書を買いました
イラストのパーツ分けなど基礎の基礎から学べるのでとてもおすすめです

買った本はこちら↓

2022

この年の本選は無事オンサイトで開催されました

アプリ開発

2021の開発でfirebaseやサーバーサイドはある程度理解できていたのでサクサクできるだろうな~と思っていました
この年の採用技術は

  • Flutter

  • Firebase

  • GCP cloud computing

  • tensorflow(& tensorflow lite)

でした、tensorflowを採用してることから分かるように機械学習モデルをアプリへ実装しています
アプリのフレームワークはFlutterでDBやAuthはFirebaseという昨年度からフレームワークだけを変えたような構成でした
私はfirebaseをUI側のコードで使いやすくする色々なものを作ったり、画像分類モデルを作成するための機械学習環境の構築やニューラルネットワークのチューニングなどのtensorflow周りを一通り担当しました
tensorflowで学習させるデータセットはチームメンバーに集めてもらいました、しかしいくら広いインターネットの世界にも私達が求めていたデータ量は存在せず過学習に1ヶ月くらい悩みました
お金でデータを買えるくらいの余裕が無いなら安易に機械学習を使うべきではないと本当に思いました。。。

この年は私はUI側を触ることは全くなく、体調と進捗を両立できた気がするので苦労はしつつものすごく楽しかったです
ちなみに活動時間は600~700時間くらいです、短いですね😸

本選

3年ぶりのオンサイトで場所は主催校の会津大学(福島県)でした、11月初旬から中旬に開催されますが朝の気温が3℃以下で寒かったので防寒着は必須です、三重県の12月下旬くらいの気候です

出発直前までデータセットをどうにかして整えようとしてたので資料作成ができず、会津を十分に楽しむことができなかったのが少し後悔しています
出発前は「資料なんて電車の中で作れば良いでしょ」と思っていました、いざ電車に乗ってみると画面を見続けて酔ってしまいできませんでした
ちゃんと完成させてから出発しましょう

私は鉄道が好きなので少しその関連の話も...
新幹線の中で作業をする予定なら全席コンセント付きの列車を選んだほうが良いです、ケーブルに足が引っかかったりすることが少なく3口タップを使わなくても良いので降車時の片付けが早く終わります
出発場所によっては朝食と昼食が弁当になると思います、東京駅で紐を引っ張ると温められる駅弁が売っているのでめっちゃおすすめです、温かい食事は長旅の疲れを癒やしてくれます、ちなみに私は容器の底を思いっ切り触って軽くやけどしました
郡山駅から会津若松駅までは磐越西線に乗りますがどこを見ても山です、景色がとても良いので作業なんかせずに眺めることをおすすめします

このあたりで鉄道の話は終わらせます

ホテルは会津若松駅近くでした、地名は有名ではあると思うので栄えてるかと思いきやそこまでです、コンビニはホテルから徒歩圏内に3軒ありました
飲食店は20分くらい歩くと5軒くらい集まったところがありました、駅近くには喜多方ラーメンの店もあります、めっちゃ美味しかったです、おすすめです、引率の先生ごちそうさまでした

本選一日目は準備とリハと交流会です
準備ではデモのブース設営をします、大きいボードとチーム名の書かれた看板、机と椅子2脚が置いてありそれらを自由に使うことができます、申請すれば電源タップや液晶モニターも借りられます
ポスターなどを貼るテープや画鋲は本部が準備していたので持っていく必要は無いです、大きいボードに貼る資料はこの日までに完成させたほうが良いです
リハでは本番と同じ環境で発表資料が見えるかどうかの確認や入退場の流れを軽くやりました、質問する時間もあったので本番で戸惑わないようここでしっかり準備しておくと良いです
交流会ではプログラミング部門とモバイル部門の2部門の選手が交流できいろんな話を聞けるので楽しいし勉強にもなりました、企業の方と話せる機会ももしかしたらあるかもしれません、私はこのために名刺を200枚作りましたが自己紹介カードなどが準備されてて渡す機会はありませんでした…

本選2日目は本番です、私は発表中よりも他のチームの発表のときがドキドキしていました
デモは全チーム発表後にあり、審査員だけでなく企業の方も来ます、私達のところにはKDDIの社員さんが来てくださり、質問を受けたりアドバイスを頂いたりしました
最後の受賞式は講堂で行われ、各部門の最優秀賞はドラムロールと共にスポットライトで演出されてワクワクさせてくれました

全体を通して他の出場選手と話す機会を作りやすかったので発表だけでなく交流しに行くという意味でもかなり貴重な機会だったと思います

本選一日目の夕食と二日目の昼食は学食でした、とてもボーリュームがあり美味しかったです、朝食はホテルのバイキングです

私の感想を完結にまとめると「楽しくて美味しかった」以上です

パソコン甲子園に参加しよう!

先に書いたことでネガティブなイメージを持ってしまった人もいるかもしれないですが、参加することでプロダクトを完成させざるをえない状況になり、ほぼ確実に成長できます!
私も、2021年はgitなどの基本的なことは理解してない状態でスタートしましたが、共同開発なので使わざるをえず、なんとか使えるようになりました、2022年も機械学習についてをかなり勉強して今は1割くらいは理解できていると思います
何か目標を設定してチャレンジしてみたい人、特に何をすればいいか分からない人は参加したほうが絶対に得です、モバイル部門ではアプリの企画書から自分たちで考えるので上流工程から下流工程まで全てを経験できます、きちんと開発に参加をすれば完走後には何段階もレベルアップしてるはずです

鈴鹿高専はほぼ毎年モバイル部門の本選に出場してますが実はこれは凄いことです、2021年は24チーム応募で本選には7チーム、2022年は30チーム応募で本選には10チームしか進めていません、ぜひこの流れをこの先も続けていってほしいなと個人的に思っています
また、本選に出場できれば自分の実績として色々なところでアピールできます、ぜひ実績を作るという面でもチャレンジをしてみましょう

おまけ

美味しいご飯や帰りに東京で遊んだときの写真を貼ります、飯テロでダメージ受けても私は責任を負わないのでご了承ください

シンカンセンスゴイカタイアイス
やけどした駅弁(牛タン弁当)
郡山駅
喜多方ラーメン
会津大学
本選1日目の夕食
本選2日目の昼食
会津若松駅
神田万世橋
Nintendo TOKYO
常陸牛厚切りカルビ弁当
帰りの乗車券

この記事が気に入ったらサポートをしてみませんか?