読者です 読者をやめる 読者になる 読者になる

Ruby合宿2015春に参加してきた

3月2日〜3月6日の5日間,島根県で行われるRuby合宿に参加してきた.

Ruby合宿

概要

いつもはRubyを使ってゲームを作ることが多いらしいが,今回はレゴマインドストームを制御するというテーマだった.具体的には

以上2点が主なテーマであった.4日目に競技会を行いよりよいロボットを作成したチームを競った. 参加者は29人.最年少はおそらく高専の1年生.話を聞くと,過去には中学生もいたらしい.あと以外にも参加者に女性が多くてびっくり.

私のチームについて

私のチームは自分を含めて5人.Rubyを普段から書いているのが私だけ.あとの4人はほとんど触ったことが無いということだった.年齢も僕が最年長,Ruby経験的にも僕が1番あるであろうということで僕がチームのリーダーをすることになった.

私が行ったこと

大雑把に以下のようなことをしてました.

  • 目標の制定.大まかに示したのは以下の3つ.
    1. 最低でも絶対にゴールさせる
    2. 荷物を運ぶのはとりあえずやらない(余裕があったらやる)
    3. レゴマインドストームそのものは弄らない.その時間をプログラム作成に費やす.
  • プログラムの仕様決め,タスクの指示.実装させたい機能を決めてからそれを細分化し,それ各チームメンバーに割り振った.僕以外の2人はライントレースの実装,もう2人は可視化ツールの作成にあたってもらい僕は適宜ヘルプに入るという感じ.
  • Gitの導入.僕以外の4人は「Git,バージョン管理ツール」を知らないということであったが,僕が 「絶対Git使うぞ!!!!」ということを高らかに宣言していたので全員のPCにGitを使えるように設定を行った.使い方やバージョン管理の意味は使いながら説明した.

チームの様子

みんなほとんどRubyを書いたことが無いということだったのでかなり苦戦していたようだった.「Rubyを書いたことが無いので,まず何をやっていいかわからない」という状態が多かったので僕が隣で文法だったり,この部分のコードを読めばいいよーみたいなことを言いながらペアプロっぽく進めていった.また「もうどうしていいか全く分からない!」というときはメンターの方に頼りまくった.僕らのチーム内では「@igaiga555さんの説明がわかりやすいから,分からない時はすぐに聞こう」みたいな雰囲気が出てた.

他のチームではマインドストームの改造に力を入れてしまって全然プログラムをしていない人がいるなか,このチームはマインドストームは最低限の機能しか付けず,全員がコードを書くことに注力できたのでその辺はよかった.

あと僕の趣味がメイド喫茶通いってこと話したらめっちゃいじられました.

競技会

どのチームも個性が出てて面白かった.どの班もマインドストームを割と改造していて,初期状態なのは自分たちのチームだけだった.初めての試みということもあってルールがふんわりとした感じだった.荷物を運ぶのはどのチームも苦労していて,成功したのは 6チーム中1チームだけ.またゴールまで辿りつけたチームは私達チームを含め2チームであった.

結果的に,私達のチームが最速でゴールし1位ということになったのでそれは嬉しい気持ち.

所感

  • チームの誰か1人でもGitのことを知っているのであれば絶対に使ったほうがよい.役割分担をして最後にコードをマージするときに事故を起こしていたチームが非常に多かった.バージョン管理ツールの使い方をある程度理解するのに数日間の合宿は短すぎるけれども,最悪の事故だけは防ぐことができる.ただ今回の合宿で事故を経験したチームはその分だけ強くなれたと思う.
  • ハードウェアの制御をテーマとしたため,レゴをいじっているだけの人もいたらしく勿体無いなーと感じた.ただゲームを作る際も画像を編集するだけの人が出てきてしまうようでその辺の兼ね合いは難しい.タスクを割り振る人がうまくやらないと,コードを書く人と書かない人が偏ってしまう.
  • Rubyを普段から書いてる人が集まるのかなーと思って参加したら,そうでも無かったので最初のほうはしょんぼりしてた.
  • ただやっていく中でちょうど2年前の高専ベンチャーのことを思い出した.JavaScriptの存在すら知らず全くプログラミングができず,「何か作るための実力を付けたくて参加しました!」という私にプログラミングのことを教えてくれたチームメンバーがいたので今楽しくプログラミングが出来ている.初心を思い出せた気がする.
  • 「プログラミング全然できない!」「私は全然書けないからありたそが書いて!」ってメンバーがチーム内にいたのだけど,「折角のRuby合宿なんだから,書けるようになって帰れ!」と言ってほぼ無理やりコードを書かせたを子がいた.合宿後半はわりともくもくコードを書いてて,「この機能私が付けたんだよ!」って話してくれたときは本当に感動した.

f:id:alice345:20150307154716p:plain

  • 懇親会でmatzとお話できたりサインもらえたりして最高
  • Ruby合宿,「Ruby,本とか読んで文法はまぁまぁ分かると思うけど何をどう作っていいかわからない」「Rubyのこと全然知らないからやってみたい」「チームで何か作ってみたい」っていう人にはオススメのイベントだと思います.「Rubyのことをめっちゃ好きな人にあいたい!」「合宿でRubyに浸かりたい」という気持ちの人がいくと温度差があるかもしれないので気をつけたほうがいいかもしれません.

f:id:alice345:20150307155813j:plain