三余の書架

冬・夜・雨

Coderetreat for Girls に参加してきた

Coderetreat for Girls に参加したはなし。

wit.connpass.com

 

参加理由

  • 先生に是非出てくれと言われた
  • お茶大での開催だから行きやすかった
  • C++の勉強の目的として

普段から勉強会に参加しているわけではないのですが、7月からのインターンや研究でC++を使うので、その練習にもなればいいなあと飛び込んでみました。

 

Coderetreatとは

以下、イベントのページからの引用です。

Coderetreat(コードリトリート)は、ソフトウェアの開発と設計の基本に焦点を当てて集中的に練習をするための、プログラマのための終日イベントです。2009年に米国で発祥し、今や世界中の各地で開催されており、毎年秋か冬にはGlobal Day of Coderetreatが世界中で一斉に開催されます。 開発者はCoderetreatに参加することで、「完成させなきゃ」という圧力から引き離され、練習に集中できます。
Coderetreatではライフゲームといった単純なお題に、45分のセッションを繰り返し取り組みます。すべてのセッションはペアプログラミングやモブプログラミングで行われ、セッションごとに新しい人と組み直します。書いたコードもセッションごとにすべて消します。
各セッションでは、アクティビティを設定して実践します。アクティビティにはこのようなものがあります。紹介しきれないものはこちらにあります。

ピンポン(TDD)
マウスを使わない
IDEを使わない
ループ禁止
条件文禁止
1メソッド4行以内

このCoderetreatの形式は、スキルを向上させる非常に有効な手段であることが証明されています。モジュラープログラミングやオブジェクト指向設計の基本原則を実践することで、だんだんと、変化のコストを最小限に抑えるコードを書けるようになっていきます。

へえ〜〜長い。私はこのイベントに出るまで知りませんでした。

 

参加してみて

競プロのような問題を想定して参加したのですが、ライフゲームセル・オートマトンのあれ)を実装するという内容だったのでちょっとびっくりしました。何を解くかというよりどうやって解くかが重要らしく5セットとも全て同じ題材でした。TDD等いろいろなことに挑戦もできます。

ドライバーとナビゲーターに分かれてアドバイスをしあいながら進めます。モブプロをしているグループもありました。

セッションごとに書いたコードは全て消すのでもったいない気もしましたが、同じ課題に繰り返し取り組むことで理解を深めることは出来ました。ペアが変わると問題へのアプローチも変わるので面白かったです。

おひるごはんやおやつ、懇親会のごはん等いろいろ頂いてのんびりコーディングできました。

以下各セットの詳細↓

1セット目:ドライバー、とりあえず出力するところまで

社会人のお兄さんとペア。

初期状態をランダムに設定したり、基本的なことはいろいろやれました。出力をどうしようかいろいろ話したのですが結局標準出力に吐き出して終わりました。

全部実装したつもりではあったけれど実際に動くのかどうかの確認はしていません。

2セット目:ナビゲーター、ほぼ完成まで

茨城大M2、java使いの女の子とペアを組みました。

エンターキーを押す度に更新して再表示するようにしました。やりやすかったのでこの後は全てこの形にしました。

3セット目:二人で同時にコーディングして完成まで

1、2セット目ではとりあえず動くものを作ったので、3セット目ではもう少しだけきれいなコードを書きました。

後輩ちゃんとペアになって一緒にコーディングしました。

「勉強になります〜!!」と言われて嬉しいような恥ずかしいような変な気持ちでした。 いろいろお話できて楽しかったです。

4セット目:ナビゲーター、完成まで

研究室の同期とペアになって完成までやりました。

4回目なので割と早く終わってしまって、余った時間は全然関係の無いことをしていたりしました。

5セット目:ナビゲーター?、途中まで

3人で組んでやったのですが私の仕事はほぼ無かったので、Pythonでちょっと実装してみたりしました。久しぶりすぎて全然書けませんでした。反省。

 

協賛

Inedo様:お水ありがとうございました!!ひとりで何本も飲みましたすみません

アトラシアン株式会社様:サンドイッチありがとうございました!Tシャツの会社だったんですね……

式会社アトラクタ様:シュークリームを……2つも頂いてしまいました……ありがとうございました!

永和システムマネジメント様:オードブル&お寿司🍣&ビール🍺!!!ありがとうございました!!!!!

おわり。