【寄稿】U-16釧路大会で新たな試み、説明会&体験会を開催!

釧路工業高等専門学校 電子情報システム工学専攻1年(プログラミング研究会所属)
寺地 海渡

 U-16プログラミングコンテスト(U-16プロコン)釧路大会実行委員会は、7月7・8日の2日間、北海道釧路市の釧路工業高等専門学校(釧路高専)で、10月14日の本大会に向けた説明会&体験会を開いた。これまでも事前講習会は開催してきたが、それに先立つかたちで、まずは子どもたちコンピュータに触れてもらおう、プログラミングに親しんでもらおうという新たな試みだ。

チューターだけでなく講師もプロ研の学生が担当.jpg
チューターだけでなく講師もプロ研の学生が担当

シンプルだが奥が深いプログラム

 釧路大会は、ゲーミングプラットフォーム「CHaser旭川版」で、自分のキャラクタの動きを制御する自律型プログラムを参加者が事前に作成し、それを持ち寄って行う。ゲームは、法則性のあるフィールド上を定められた手数内に「縦横に移動する」「周囲を探索する」命令を交互に発行してキャラクタを動かして進行する。勝負は、「相手キャラクタより多くのアイテムを収集して高得点を獲得する」「隣接する相手キャラクタの上にブロックを置く」「相手キャラクタの四方がふさがって移動できなくなる」「相手キャラクタがブロックに突っ込む」ことで勝つことができる。

 プログラミングで発行できる命令は4種類だけで、それを上下左右4方向のどれに向かって実行するか、4×4のわずか16通りの動作しかない。これだけシンプルでも、プログラム中で自分のキャラクタの行動を決定するのは難しく、奥が深い。高度な自律プログラムをつくろうと思うと、大人でも知恵を絞り出さなければならない。大会で試合が始まってしまえば、参加者は自分のつくったプログラムが動作するさまを見守るほかなく、プログラミングした本人も勝負の行方に手に汗を握ることになる。

 釧路大会では、以前から参加者のバックアップを釧路高専のプログラミング研究会(プロ研)と釧路OSSコミュニティが協力して、参加者向けの事前講習会を開いてきた。今年はさらに説明会&体験会として、参加機会を増やし、門戸を広げるチャレンジに取り組んだ。

 昨年の北海道大会(旭川市)の直後、第6回釧路大会に向けて、プロ研内部で反省会を行った。全道大会ではわれわれのサポートが及ばず、釧路から出場した選手たちは満足行く結果を残せなかった。全道大会参加者からは、「次は勝ちたい」という言葉をもらい、プロ研では次回大会の準備に取り組んだ。昨年の大会では、参加者のプログラムの読解と修正などに盛大に時間を溶かした経験がある。指導する人によってプログラムの構成が異なり、そこに参加者の自主性が加わった結果、参加者の意図をプログラムから読み取ることは困難を極めた。事実、リファクタリングとバグ修正のために参加者から預かったプログラムを持ち帰って、徹夜でなんとか修正した。

指導はほぼマンツーマンの体制.jpg
指導はほぼマンツーマンの体制

 同じ轍は踏まない。今年は参加者をどのように指導するか、あらかじめ細部にわたって決定し、全員が共通の指導方法でプログラミングを教えるようにして、指導要綱と指導指南書を作成した。これによって指導者同士の意思疎通が図りやすくなり、誰が指導しても同じ品質のプログラムができて、参加者のプログラムのリファクタリングが容易になった。説明会&体験会の参加者は、2日間合わせて12人。予定していた指導方針が功を奏し、さらには指導の到達目標となるサンプルプログラムも作成してあったので、昨年以上の指導効果が現れたと自負している。それでも、参加者の理解を深めながら、時間内に目標に到達することの難しさに、個人的には教育者の苦労を多分に味わっているつもりでいる。ちょっと大げさかもしれないが、義務教育課程にこのまま情報教育を導入したときに現れる問題と同質のことなのではないだろうか。参加者からは、「難しい」「複雑」「頭痛い」「ものたりない」と大変好評(?)だった。一度で覚えられるとは思ってないので、これからも「かかってこいや」という気概をもって、次の講習に向けて振り返りと準備に取り組んでいる。

「プログラミングが強い釧路勢とプロ研」になる

 プロ研が指導する際に強みになっているのは、指導側に過去大会の参加者がいることだ。私のようなただ指導するだけの人間と大会参加経験がある指導者の最大の差は、参加者である小・中学生が実際にプログラミングをするときにどこでつまずき、どこで理解が進まなくなるのか、実体験を伴って把握できる点にある。過去大会に参加したプロ研会長の篠田裕人君や副会長の加藤楓志君は、この講習会で得られたデータをもとに講習会の進行マニュアルやリファレンスを作成し、次回以降の講習会をさらに円滑に進める準備を進めている。また、今大会にはプロ研会員の1年生を参加させている。これは、次回大会以降、指導者になるための準備をしてもらうことと、指導者が指導法を研究する際の被験者などになってもらい、「プログラミングが強い釧路勢とプロ研」になるためだ。

 説明会&体験会や事前講習会に参加する小・中学生は、今大会で初めてプログラミングに触れる子どもが少なくない。そんな子どもが「CHaser」の競技性、つまり言語的制約以外のルールに則った自律プログラムをつくらねばならないのは、ある種、高い壁だといえる。しかし、いきなりプログラミングの本質を捉えようとしていることは、難しさもあるが間違いなく貴重な経験として子どもたちの挑戦を促すだろう。一方で、教えているわれわれの技量が問われ、指導者も成長する貴重な機会でもある。釧路大会を動かしているわれわれとしては、高校1年生までの参加者がもっと増えてもらいたいと思っている。またO-16(16歳超)の方々には、釧路大会に限らず、これからも子どもたちがプログラミングを楽しむ機会づくりにぜひともご協力いただきたい。子どもたちには、「CHaser」を通じてプログラミングの本質とものづくりの楽しさをぜひ堪能してもらいたい。

 釧路大会まで残り3か月。我々はどこまで導くことができるか。参加者はどこまで成長できるか。波乱万丈のステージの幕開けである。

(写真:斉藤 和芳/構成:ITジュニア育成交流協会)