ITエンジニアを育成する場づくり〜教諭経験も生かしたU-16プログラミングコンテストの支援〜

開発本部 コネクト支援チーム所属の西原(@tomio2480)です.本記事では西原が関わりのある U-16 プログラミングコンテストにまつわる活動の紹介とお誘いについて触れます.
 
U-16 プログラミングコンテスト *1は 2010 年より開かれている北海道旭川市発祥のプログラミングコンテストです.西原ははじめのころより関わりがあります.2020 年度はコロナ禍の中でも 8 道県,12 大会が開かれました.2021 年 1 月に 2020 年度に開かれた各大会で優秀な成績をおさめた児童,生徒を対象とする表彰式が開催されシーズンが終わりました.前回表彰式は以下ツイートのような形で東京に各選手を招待しての式でしたが,今回はオンラインでした.

 
コネクト支援チームでは旭川兼北海道大会に協賛,また旭川兼北海道大会,札幌大会函館大会に西原が運営として参加*2し,お手伝いを行いました.2020 年がはじめての協賛でしたので,これからは全体にも関わっていくことができればと考えています.
 
ここでは 2 つの部門(競技部門,作品部門)について,それから,この大会がいかにして IT エンジニアの育成に資する場であろうとしているかをお話しします.この記事を通じて,一人でも多くの方に興味を持っていただき,あわよくばその地方で大会を開きたいという声が上がり,自分も運営のお手伝いができると大変喜ばしいです.  

競技部門と作品部門

コンテストは 2 部門構成です.地域によってはどちらかの部門だけ開催という形もあります.  

競技部門

CHaser (チェイサー) という競技プラットフォームを利用した対戦を行います.これは全国情報技術教育研究会が行っている高校生向けのプログラミングコンテストで使用されていたもので 2010 年大会の後に使用許可をとり*3,U-16 プログラミングコンテストで使用しています.大会参加人数によって総当りであったりトーナメントであったり形式はそれぞれです.以下の画像は第10回U-16旭川プログラミングコンテスト・第7回U-16プログラミングコンテスト北海道大会の決勝トーナメントの様子です.

YouTube のスクリーンショットを用いた競技の様子の説明画像
競技プラットフォーム CHaser 上での競技の様子
 
C : Cool(先攻) と H : Hot(後攻) がそれぞれの選手のプログラムにより動作し,アイテム(ダイヤモンド)を集めます.C と H のクライアントは Walk,Look,Search,Put の 4 コマンドに上下左右の方向をもたせた 16 種類の命令を駆使してマップ上を練り歩きます.勝敗については,自滅しないことや相手をブロックでつぶした場合など,攻撃等も考慮されて決定します.これらを踏まえて練られた競技ルールは全国統一ではありません.各地域で旭川大会のルールに手を加えたルールを使用しています.一つの例としてこちらの動画で旭川大会のルールがご覧いただけます.
 
もう少し説明すると,ゲームサーバーとクライアントの間でソケット通信が行われ(pp.14-15)ゲームが進行します.選手がコードを書くのはクライアント側です.しかし,小中学生にゼロからソケット通信のプログラムを書きなさいというのは優しくないので,通信部分はライブラリの提供もあります
 
もともとは Java,その後 C が出てきて,旭川高専の学生の手によって HSP,釧路高専の学生の手によって Ruby,旭川工業高校の先生の手により C#...... と,どんどん増え,各地域で扱いたい言語のものを各地域の大会をやりたい人が作っています.今は西原が書いた Python のものを使っている地域もそこそこ,長野では Scratch が登場しさらなる低年齢化が進んでいるようです.
 
コロナ禍の前は以下のような感じで会場に集まってはみんなで大きい画面を見てわいのわいのしておりましたが,2020 年度は YouTube のコメント欄や Zoom チャットでわいわいという感じでした.  

作品部門

一方こちらは自由製作の部門になります.特に旭川は,パソコンを使いこなしている児童生徒を褒めたい一心で「パソコンで作っていれば何でもよい」という,もはやプログラミングってなんですか状態のルールです*4.もちろん地域によってこのあたりも違いが出ます.写真は 2019 年に豊田高専で開かれた愛知大会の様子です.

スクリーンに映されているロボットの様子
愛知大会での作品紹介,無線コントローラーで操作できるロボット

パソコンに映るシューティングゲームの開始画面
愛知大会での作品紹介,シューティングゲーム

いかにして IT エンジニアの育成に資する場であるか

U-16 プログラミングコンテストの特徴として,地域のできる範囲で大会を開こうという方針があります.そのため,ルールが地域ごとにアレンジされていたり,使用言語が異なっていたり,講習会があったりなかったり...... そこもできる範囲でそれぞれです.
 
その地域地域で教えられる人の数も分野も異なりますし,生徒児童のレベル感も異なります.ある一定のレベルに引き上げることを考えると,全国統一ルールの大会もあってほしいのですが,それだけでは各地域それぞれで育てるには難しいこともあります.実際,工業高校が取り組むいくつかの大会では,全国大会のルールを元に地方大会のルールを改め,易化したもので進行しています*5
 
実は中途半端に U-16 として高校 1 年生を含めたのには理由がありました.高校 1 年生まで挑戦できて,学年が上がったら教える側に入っていってほしいという願いの込められた年齢設定です.  

高校生が中学生にプログラミングを教える様子
ふらのみらいらぼでの U-16 プログラミングコンテスト講習会は高校生が教えています

Zoom で西原が中学生からの質問に答える様子
高校生が忙しいときは大人で対応します
 
これはパソコン部や文化部と呼ばれる部活の悲しい現状でありますが,取り組むべきことを顧問でも見つけられず,ひたすら Word, Excel, PowerPoint を触るとか,学校の貧弱な環境でできるそれらしい開発として HTML/CSS ,Scratch を頑張るとか,そういうことに取り組みながらも,高体連や高文連のような大きな目標を持てずにいる部活もたくさんあるのです.最近ではプログラミングコンテスト等も増えてきてはいますが,新しい分野で指導側も苦しくなかなかそこに踏み出せない部活も多いと感じています*6

そのため,部活で取り組んでもらえる目標として U-16 プログラミングコンテストを開き,選手としてだけではなく講師としても関わることができる活動目標としてありつづけることが考えられました.選手として戦ってきた後にコーチとして後輩を指導するという人材育成のループを作り出さんとする取り組みとして大会を開くのです.
 
この仕組みが出来上がって満足するだけでなく,別の地域にも広めていき,よりたくさんの IT エンジニアを目指す卵たちが学びうる環境を作ることも大事な活動です.また,継続可能な取り組みとする一環として高校生や高専生が講師として中学校に訪問する際は,お小遣い程度ではあるものの,実行委員会から日当もでます.若いうちからタダ働きに体が慣れるのはよくないので,これは重要な要素です.  

函館高専での U-16 プログラミングコンテスト講習会の様子
函館で新たに開きたいという要望があったので富良野から講習会を開きにいきました
 
現在 8 道県でこの U-16 プログラミングコンテストの仕組みを使って,たくさんの学びの環境がつくりあげられています.以下は BCN AWARD 2021 のパンフレットからの引用です.また,ここには挙げられていませんが,実は北海道富良野市でも U-16 プログラミングコンテスト参加に向けた活動が 4 年間も続いています.西原は主にこの富良野市での活動を支援してきました.2020 年度の富良野勢の小さな表彰式は記事にもなっています.
日本地図上にプロットされた大会開催地区の情報
2020 年度の大会開催地域
 

サイボウズの人として関わる

旭川大会では広告として A4 一枚のメッセージを出しました.製作は西原と同じコネクト支援チームの上岡(@ueokande)さんにお願いしました.

サイボウズの 3 人の社員から IT エンジニアの卵たちに向けたメッセージ
旭川大会に出したサイボウズのメッセージ
 
プログラミングを学んだ先に IT エンジニアとしてのキャリアがある,という一例として児童生徒に我々の存在を認知してもらうことも大事なことです.プログラミングを始めたばかりのころは,技術自体ばかりに注目して学習を進めていくものだと思いますが,いずれ来る職業選択の際に IT エンジニアが候補に入るかどうかはそれだけでは決まらないかなと思っています.
 
「プログラミングをする」というだけの理解ではなく,何をするためにプログラミングを使っているか,ということを頭の片隅にでも入れておいてもらえると,より確からしい進路選択につながるだろうという思いが込められています.
 
また,児童生徒たちが今暮らしているところ出身の IT エンジニアがどんな仕事をしているか知ることができれば,より身近な職業だと感じてもらえるのではないかという思いも込め,北海道にゆかりのある社員のかんたんな自己紹介を掲載しました.協力してもらったのはフロントエンドエキスパートチームの笠間(@b4h0-c4t)さん,モバイルチームの今野(@rkonno)さん,Slash/CyDE-C チームの竹内(@lrf141)さんの 3 名です.普段から近くにこういった職種の人がいるのがベストではありますが,同郷の先輩がそうした仕事をしているということも距離が縮まる一つの要因かなという妄想の元に作られたものです.
 
これらのメッセージは学校教諭時代の自分では発信し得なかったかなと思っています.サイボウズの人となった今だからこそできることです.  

ともに技術と向き合う

こうして IT エンジニアへの一歩を踏み出した若者が,気楽に我々とともに技術で遊べる未来が楽しみで仕方ありません.もしかすると一緒に働くことになるかもしれません.今日明日ではない遠い未来ではありながら,日本全体の IT エンジニアの人数増加やレベル向上に資する活動であると信じて活動しています. ぜひ西原がやっているような勉強会にも参加してもらって,さらに交流機会を持ち,切磋琢磨したいものです.(彼ら自身が勉強会を開く未来も楽しい)
 
引き続きこうした未来への投資活動を続けていく所存です.こういった活動に興味のある方は社内外問わずぜひ西原(@tomio2480)までお声かけください.どうぞよろしくお願いします!

*1:IT ジュニア育成交流協会の Web ページをみると「U-15/U-16」と表記されていることにお気づきになられたかと思います.もともと旭川で生まれたときは U-16 つまり,高校 1 年生までを参加対象として大会を開いていました.しかし,各地域に展開する中で地域よって事情が異なり,U-15 としたいところはそのようにレギュレーションを決めたため,このような表記になっています.

*2:実は 2010 年の大会開催前から関わっているので,サイボウズに来てからも関わっているだけです.

*3:2010 年に北海道旭川工業高校の情報処理部が大会参加した際,西原も OB として埼玉までつれていってもらいました.その際に,情報処理部顧問であり U-16 プログラミングコンテスト首謀者の一人である下村先生がこれはいけると心動かされた瞬間を見ていました.

*4:そのため,小説やイラストも作品部門へ応募してよいことになっています.Arduino や Unity のゲームとイラスト,小説がならぶ大変多様な空間が広がります.

*5:例えば全国高等学校ロボット競技大会が挙げられます.ちょっとソースが提示できないのですが,西原が高校時代,また高校教諭時代に顧問として委員を仰せつかった際にはそういった運用でした.

*6:高校教諭経験がある自分だと,専門でない先生が顧問をとりあえずやるというパターンが多いという現場も経験済みで,そこの難しさは手に取るようにわかっているつもりです.