Software Design 連載 第24回 今年の夏もアツかった! 〜石巻ハッカソン開催〜【その1】

この記事は、技術評論社 Software Design 2013年12月号の転載です。記事のPDFはこちらからダウンロードできます。 技術評論社のご協力に感謝いたします。

Hack For Japan

エンジニアだからこそできる復興への一歩

“東日本大震災に対し、自分たちの開発スキルを役立てたい ”というエンジニアの声をもとに発足された「 Hack For Japan」。本コミュニティによるアイデアソンやハッカソンといった活動で集められた IT業界の有志たちによる知恵の数々を紹介します。

第24回

今年の夏もアツかった! 〜石巻ハッカソン開催〜【その1】

Hack For Japanスタッフ

鎌田篤慎 KAMATA Shigenori

Twitter @4niruddha

佐伯幸治 SAEKI koji
Twitter @widesilverz

高橋憲一 TAKAHASHI Kenichi
Twitter @ken1_taka

社会的課題をテクノロジで解決するためのコミュニティ、Hack For Japanの活動をレポートする 本連載。今回・次回は復興支援イベントとして宮城県石巻市で開催された石巻ハッカソンについて紹介します。

「震災 10年後の 2021年までに 1,000人の 開発者を石巻から生み出す」ことを目的に開催

7月26.28日にわたって「第2回石巻ハッカソン」が開催されました。このハッカソンは昨年に開催された第 1回に続くイベントで、地元の若者たち にアプリ開発を体験してもらいプログラムの楽しさ を伝え、ゆくゆくは ITによる地域活性化を担う人 材を生み出すという大きな目標があります。このイ ベントを主催しているのはイトナブ注1という石巻 のコミュニティです。イトナブとは「 IT」×「営む」 ×「学ぶ」の造語で、「石巻の次世代を担う若者を対 象に Webデザインやソフトウェア開発を学ぶ拠点 と機会を提供し、地域産業× ITという観点から雇 用促進、職業訓練ができる環境づくりを目指してい る」というのが活動の趣旨です。今回はイトナブ主催者である古山隆幸氏を中心に 石巻の若者たちが運営に携わり、古山氏がめざす「震災 10年後の 2021年までに 1,000人の開発者を石巻から生み出す」という理念のもと、 Hack For Japanのスタッフがプログラムを教える講師役とし てこのイベントをサポートしました。今回の石巻 ハッカソンでテーマとして掲げられていたのは「石 巻の若者を触発させる」でした。“開発の経験を通し て、あらゆる若者たちが彼ら自身の行動や考えに触 発される何かを手に入れてほしい”というイトナブ 古山氏の熱い想いが込められていたように感じまし た(写真 1)。

写真1 「石巻をHackしてやる」気合い十分の参加者

写真1 「石巻をHackしてやる」気合い十分の参加者

石巻ハッカソンスタート!

7月26日の午後からハッカソンがスタート。古 山氏からは「石巻には若者たちが活躍できるフィー ルドが少ないが、 ITには無限の可能性がある。エン ジニアのスキルを学べば石巻から世界に挑戦できる 人材が生まれると信じて邁進している。この 3日間 で何かを得てほしい。全国からプロのエンジニアが 参加しているので、彼らと接してぜひ自分の学びに してください」といった開催宣言が行われました。  続いて Hack For Japanスタッフ及川からは、 ハッカソンそのものについて、 Hack For Japan活動 の説明がありました。さらに各自の自己紹介を経 て、それぞれの部門に分かれて石巻ハッカソンが開 始となりました。ハッカソンは石巻工業高校を使っ て行われていたため、部門ごとに各教室に分かれて の作業となります。教室内の黒板を使ってのアイデ ア出しなども見られ、学校での開催ということで、 いつものハッカソンとは違った雰囲気で行われ、 3日間をかけてそれぞれ が最大の成果をめざして開発に取り 組んでいきました。  今回の石巻ハッカソンでは通常の ハッカソンとは違い、さまざまな人 が参加できるようプログラムの習熟 度別に「 IT Boot camp部門」、「チャレ ンジング部門」、「どや部門」と 3部門 を設け、同時並行で開催されました。  「IT Boot camp部門」は、開発の経 験がない人でも3日間でアプリを実 装するところまで体験してもらうこ とを目的とした部門です。  「チャレンジング部門」は、開発を学んでまだ日が 浅い若者を対象にした部門です。この部門の参加者 で注目されていたのは、昨年の IT Boot campで初 めて開発を経験した第 1回石巻ハッカソンの卒業生 や東北で定期的に開催されている開発講習イベント 「東北 TECH道場」に通いスキルを着々と身に付け てきた若者たちでした。  「どや部門」は、開発経験者で仕事として携わって いる、あるいはすでに何個もアプリを開発している などといった高いスキルを持った方たちが参加する 部門です。「石巻の若者たちに3日間で最高にすご いものを作ってレベルの高さを見せつけ、触発す る」という意味合いから「どや部門」と命名されまし た。次からぞれぞれの部門について具体的に紹介し ます。

初めてのプログラム! IT Boot Camp部門

写真2 IT Boot Camp部門ではハンズオン形式で講習が行われた

写真2 IT Boot Camp部門ではハンズオン形式で講習が行われた

皆さんは初めてプログラムに触れて、動くものが 作れたときの感動を覚えているでしょうか? 「IT Boot Camp部門」は中高生を中心に、開発経験のな い人でも 3日間の開発を通して実際に動く Android アプリを実装し、プログラムの楽しさを知ってもら う部門です(写真 2)。  この部門では、本誌 2012年11月号で紹介した昨 年の石巻 Bootcampと同様に「 Corona SDK注2」とい う、誰でも高度なスマートフォンアプリケーション が簡単に開発できる開発キットを採用しました。プ ログラム経験がない、あるいは浅い中高生への教育 で利用実績があり、また評判も教育効果も非常に高 かったためです。  Corona SDKについて改めて紹介しますと、サン フランシスコの Corona Labs社が開発、販売して いる Android/iOSをターゲットとしたマルチプ ラットフォームアプリケーション開発のためのフ レームワーク、および SDKの総称です。 Coronaは OpenGL ESのグラフィックス処理と Lua言語によ るスクリプティングにより、画面へのコンテンツ描 写が処理の中心となるゲームなどの 2次元アプリ ケーションの開発に適しています。これによりス マートフォンのタッチスクリーンを活かしたゲーム アプリケーションが比較的容易に実装でき、初めて プログラミングを経験する中高生にプログラムの楽 しさを知ってもらうにはうってつけの開発環境だと 言えます。

プログラムが動くことに目を輝かせる生徒たち
写真3 スマートフォンで動作を確認する参加者

写真3 スマートフォンで動作を確認する参加者

IT Boot Camp部門の講師陣は石巻工業高校より阿部吉信先生、 Corona SDK Ambassadorの小野哲生氏、 Hack For Japanからは及川卓也 と鎌田篤慎が参加しました。参加者は地元の 高校生が中心でしたが、茨城から参加した中 学生、大学生なども参加し、約 14名のクラ スとなりました。この部門では、阿部先生に よる講義からその講義に基づいた実装を行 い、小野氏、及川、鎌田の 3名で参加者の中 高生をフォローしていくという流れでした。  初日は石巻ハッカソンの開会式の後、教室 で講師陣の紹介を終えて、さっそく講義に入 りました。まずは Corona SDKを動かすため の開発環境の準備です。生徒の皆さんの席に 配置されたパソコンへの Corona SDKのインス トールのほか、開発に必要な各種環境をインストー ルしました。まだこうした作業に不慣れな生徒も多 く、講師陣でひととおりの準備をサポートする必要 がありましたが、中には自分の持ってきたノートパ ソコンに環境を構築しようとする意欲のある生徒も いました。  この部門では、実機で動作する Androidアプリ ケーションを開発することを目的としていたため、 参加する生徒全員に Android端末が用意されまし た。自分のスマートフォンが Androidの生徒は自分 のものを、持っていない生徒はこの日のために寄贈 された Android端末を利用しました(写真3)。  ようやく全員の開発環境が整ったところで、今回 の開発の導入として Corona Wiki注3に掲載されてい るサンプルコードを実装し、アプリ上での文字や図 形の描画と、それらにタッチして動作する物理エン ジンの使い方を学んでもらいました。実装したプロ グラムから生成した apkファイルを Dropboxにアッ プロードし、各自の Android端末に Dropbox経由で インストールすると、自分で実装したプログラムが スマートフォンでタッチして動かせることに目を輝 かせて喜ぶ生徒もいました(写真4)。こうした感動 がプログラムを学ぶうえで一番大切なことです。  実際、 Corona Wikiのサンプルコードはよくできており、順を追って実装していくと開発されるアプ リケーションが拡張され、より動きのあるものがで きあがっていきます。生徒たちが自分のプログラム のステップアップを体感する、その片鱗を講師とし て実感しながら、初日は無事に終えました。

写真4 Dropboxからスマートフォンへのインストール の説明図

写真4 Dropboxからスマートフォンへのインストール の説明図

オーサリングツールを使って リッチなゲームアプリにも挑戦

IT Boot Camp部門の 2日目は、初日のサンプル コードの拡張を続けていたのですが、ひととおりの サンプルコードの実装を終えた一部の生徒から、自 発的にオリジナルのプログラムを実装し、自身のア プリケーションにサンプルにはない動きを盛り込む 生徒も現れはじめました。こうしたところからハッ カーと呼ばれる人種は生まれるものですから、講師 として喜びを感じる一幕でもありました。

2日目の後半は「 Gumbo注4」というオーサリングツールを 使うことで、 GumboとCorona Wikiのサンプル素材を利用 した Angry Birdsのようなよ りリッチなアプリケーション の開発に取り組みはじめまし た。 Corona Wikiに用意され ているさまざまなキャラク ターを含むサンプル素材は動 作する成果物をより魅力的に してくれ、こうした物理エン ジンを活かしたゲームアプリ ケーションを初めて開発する 者の学習意欲をさらに高めてくれる材料となりま す。初めてプログラミングを経験した中高校生は、 自分が実装したプログラムが Angry Birdsのような ゲームになったことに、初日のサンプルコードが動 いたとき以上に目を輝かせてるようでした。そうい う意味で、今は私たち大人がプログラムを始めた若 かりしころより、はるかに子供たちがプログラムを 学ぶのに適した時代だと言えます。  しかし生徒によっては、まだ不慣れなキーボード 入力作業と、まだ未学習な英語の単語がたくさん現 れるコードを見ながらの開発では、スペルミスやサ ンプルコードの実装ミスなど、ちょっとしたところ でつまずいてしまいます。そうしたところを講師陣 がフォローしつつ、脱落者が出ない形で 2日目も無 事に終えることができました。

 

2日間の学びを活かして自主開発!

そして他部門の発表も控える最終日では、 Corona Wikiで公開されている素材やこれまでに学んだ知 識を使い、生徒の自主性に任せて 2日目に作った ゲームアプリケーションに改良を加えていくスタイ ルで開発のフォローを行いました。初めてプログラ ムに触れた生徒たちも 3日目となると、自分の発想 をプログラムに反映させることが少しずつできるよ うになっていきます。また、自分が作った Android アプリケーションを自分の端末にインストールする作業も手慣れたものです(写真 5)。  こうなってくるとプログラムは、がぜん楽しく なっていきますし、講師としては“しめしめ”といっ たところです。この IT Boot Campが終わった後 も、自分のパソコンを使ってプログラムにチャレン ジする生徒も出てくるかな? と予想していたとこ ろ、「家でもプログラムをしようと思いましたか?」 という質問に元気に手をあげる生徒の数も多く、 3 日間にわたった IT Boot Camp部門の講師を務めた 講師陣もやりがいを感じた瞬間でした。  3日目の成果発表で IT Boot Camp部門の生徒た ちはどのようなアプリを披露するのでしょうか(写 真6)!? 次号では他部門の紹介と合わせてその内容 をお伝えします。

写真6 IT Boot Camp部門生徒によるアプリの例

写真6 IT Boot Camp部門生徒によるアプリの例

写真5 発表前、参加者のひとりが作ったアプリを全員で確認

写真5 発表前、参加者のひとりが作ったアプリを全員で確認

 

脚注

注1)http://itnav.jp/
注2)http://www.coronalabs.com/
注3)http://corona.xpf.io/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
注4)http://www.nerderer.com/Gumbo/

 

この文書は、クリエイティブ・コモンズライセンスの下に提供されています。

著作者の表示・非営利・改変禁止の条件に従い、この文書を再利用していただけます。

CC-BY-NC-ND

Updated on 2 24, 2013 by Seigo Ishino