中高生国際Rubyプログラミングコンテスト

小中高生Ruby

この夏、地元塩尻市で中高生対象のRubyプログラミング講習会のお手伝いをさせていただいたときの受講者さんが、この日の最終選考に選ばれたと言うことで見学がてら応援に行って来ました。いつものTweetの残骸です。 🙂


三鷹産業プラザで開催される中高生(≠中高年)Rubyプログラミングコンテストの応援に向かっています。もしかして姫様と接近遭遇の可能性? バルス! (^^;)

posted at 10:57:21

中高生Rubyプログラミングコンテスト最終審査発表会スタート!スーツ姿の大人が会場を埋め尽くしています。発表者のみなさん頑張ってください! #rubyforstudent

posted at 12:02:50

三鷹市長ごあいさつ! #rubyforstudent

posted at 12:06:40

まつもとゆきひろさんへの壮大な振りがありました。では、どうぞ!と思ったら三鷹の森ジブリ美術館の宣伝がはじまりました。。。^_^; #rubyforstudent

posted at 12:08:26

経済産業省ご担当者よりご挨拶。肩書が長すぎてつぶやききれません、ごめんなさい。 ^_^; #rubyforstudent

posted at 12:13:56

経済産業省から応援したい、のお言葉がいただけました! セキュリティーキャンプや未踏プロジェクトの宣伝もはじまりました。。。^_^; #rubyforstudent

posted at 12:17:56

審査委員のご紹介! #rubyforstudent

posted at 12:23:01

さて、これから参加者の発表です。重々しくプロジェクタースクリーンが上から降りてきました。うーん、これが降りてくるとイベントの横断幕が隠れてしまうんですね。^_^; #rubyforstudent

posted at 12:24:52

U15(中学生)の部 「シューティングα」のプレゼンテーションの始まり。がんばれー! #rubyforstudent

posted at 12:26:36

シューティングゲームと英語学習の融合。 #rubyforstudent

posted at 12:27:22

デモなう。上からアルファベットが落ちてきます。このアルファベットを弾で撃ち落とすと文字の発音が効果音として鳴ります。 #rubyforsudent

posted at 12:29:05

メインループを複数準備しているそうです。凝っていますね #rubyforstudent

posted at 12:30:12

終了できないプログラム。大丈夫です。プラットフォームのバグということで納得しましょう。^_^; #rubyforstudent

posted at 12:31:09

プログラミング経験4か月。短時間ですばらしい成長ですね。 #rubyforstudent

posted at 12:32:23

電車のノリ過ごし防止プログラムを作ってみたいそうです。サラリーマン向けですね。スマートフォンアプリかな?^_^; #rubyforstudent

posted at 12:34:34

ソースコードも審査員の手元にあるんですね。これは大人でも耐えられないかも。。。^_^; #rubyforstudent

posted at 12:36:08

分からないところは本を読んだり、ネットで調べたそうです。独学でもここまでできるんですね。教科書は「たのしいRuby」かな? ^_^; #rubyforstudent

posted at 12:39:03

ソースコード上のアドバイスをまつもとさんに求めるという無茶ブリ。^_^l #rubyforstudent

posted at 12:39:44

U-15(中学生)部門。2番手の「暗記君」の発表です。パチパチ! #rubyforstudent

posted at 12:41:44

Twitter連携。おー、今どきですね。すばらしい。 #rubyforstudent

posted at 12:44:23

デモなう。TwitterのOAuth認証。リアルタイムデモは大変ですよね。 #rubyforstudent

posted at 12:46:20

テスト(クイズ)の実行結果をTwitterでつぶやく。すばらしい見える化プログラムですね。 #rubyforstudent

posted at 12:47:32

時間が余ったのでデモ延長戦。問題文もプログラムから作れるそうです。コンソールアプリですが良く作りこまれていますね。 ^_^; #rubyforstudent

posted at 12:49:16

審査員の皆さんによる質疑応答。見やすいソースを書く。プログラムの再利用を心がけたそうです。まちづくり三鷹の講師陣へのお礼も交えて、グッドアンサー! ^_^; #rubyforstudent

posted at 12:51:54

Twitter連携は認証部分の実装に苦労したそうです。それは難しいですよね。 #rubyforstudent

posted at 12:52:55

他のプログラミング言語経験。C++ですって。うーん、渋い。 #rubyforstudent

posted at 12:55:35

プロジェクターをつないでのデモ準備もみなさん手際がいいですね。Ruby Kaigiの講演者よりも皆上手かも。^_^; #rubyforstudent

posted at 12:59:27

U-15(中学生)部門の三番手。「Ruby Shooting」の発表。 #rubyforstudent

posted at 13:00:25

Ruby講習会の教材をブラッシュアップしてカッコイイ起動メニューを作りこんでいますね。 #rubyforstudent

posted at 13:01:52

起動画面でゲームレベルを設定できるのですね。面白い。 #rubyforstudent

posted at 13:02:53

キャラクターの左右の動きは加速度運動するそうです。中学生3年生あたりの理科(物理)で習うのかな?サイボーグ009の喩えは中学生には通じないと思います。。。^_^; #rubyforstudent

posted at 13:05:30

爆弾などのアイテムは配列を使って管理しているそうです。こなれたプログラミングですね。 #rubyforstudent

posted at 13:06:26

笹田さんからの質問への回答。加速度は学校の物理で習っているそうです。すごい、ちゃんと学校の授業とつながっている。 #rubyforstudent

posted at 13:08:18

繰り返しの動きに剰余を使う工夫はサンプロコードを読みながら身に着けたそうです。 #rubyforstudent

posted at 13:11:17

ゲームの難易度の違いは、爆弾の登場数とボーナスアイテムの登場数で調整しているそうです。 #rubyforstudent

posted at 13:12:21

変数名のつけ方にセンスがある、と審査員からお褒めの言葉がありました。 #rubyforstudent

posted at 13:13:49

U-15(中学生)の部。「ルビー君 vs 破滅の化身」の発表! #rubyforstudent

posted at 13:15:52

Rubyプログラミングを初めて3か月の中学1年生。発表がんばれー! #rubyforstudent

posted at 13:16:33

ヒットポイントとスキルポイントの説明がフローチャートになっている。すごい、すごい! #rubyforstudent

posted at 13:18:09

上下左右から色々なアイテムが到来する。にぎやかで良いですね。 #rubyforstudent

posted at 13:19:51

「勉強の合間の息抜きに最適!!」 グッドプレゼンテーション。^_^; #rubyforstudent

posted at 13:21:37

プログラム全体で1259行だそうです。メトリクスの測定もバッチリですね。 #rubyforstudent

posted at 13:22:25

審査員講評「ソースコードから気合で作ったことが伝わってくる!」 #rubyforstudent

posted at 13:24:36

審査員からの質問 「裏ワザってなんですか?」 裏技で敵の爆弾の数が増えるんですって。自虐的。^_^; #rubyforstudent

posted at 13:29:21

中学校の科学部のみんなとRuby講習会に参加したそうです。仲間がいるのはいいですね。 #rubyforstudent

posted at 13:31:04

U-15部門の4作品の発表が終わって小休憩中。つぎはU-18部門にエントリーした長野県からの参加チームの2作品の発表です。 #rubyforstudent

posted at 13:37:13

U-18(高校生)部門、1番手。「馬鹿げている・・・ゲーム」の発表です。東京都市大付属塩尻高校の皆さん! #rubyforstudent

posted at 13:43:01

メンバー構成の紹介。計6名でプログラムを作成。 #rubyforstudent

posted at 13:43:53

「馬鹿げている・・・レース」 レーシング・ゲームだそうです。 $rubyforstudent

posted at 13:44:19

ラリーXを思わせるレーシングゲーム。オジさんたちでないとラリーXは知らないだろうな。。。 ^_^; #rubyforstudent

posted at 13:45:18

スピードと車体の大きさをトレードオフにしてゲーム性を高めているそうです。 #rubyforstudent

posted at 13:46:19

プログラムのバージョンアップで、レーシングカーがゴキブリに変身! #rubyforstudent

posted at 13:47:17

U-18(高校生)部門の2番手。「Pictureアルバム」の発表。長野県岡谷工業高校の皆さんです。 #rubyforstudent

posted at 13:58:36

写真管理ソフト。タイトル、撮影日、コメントなどメタ情報が管理できるそうです。 #rubyforstudent

posted at 14:00:09

XMLで情報を管理しているそうです。すごい、すごい。高校生だと、こんなレベルまで到達するのですね。 #rubyforstudent

posted at 14:02:56

プログラム実装初期には待ち時間なしの無限ループ。無限ルームの途中にSleep処理を挿入する工夫でCPU使用率を改善して省エネに。 #rubyforstudent

posted at 14:05:27

検索は正規表現。色々な工夫が入っていますね。 #rubyforstudent

posted at 14:06:12

XMLデータを見せて!と達人出版会社長からツッコミがが入りました。 ^_^; #rubyforstudent

posted at 14:07:42

今回はフルスクラッチで一から構築。 #rubyforstudent

posted at 14:08:38

UTF-8とShift-JISの文字コードの扱いで苦労したそうです。すでにプロの技術者が苦労する領域に踏み込んでいますね。 #rubyforstudent

posted at 14:11:38

U-18(高校生)部門の3番手。「Ruby君と雪」の発表です。 #rubyforstudent

posted at 14:14:22

上から雪とみかんが降ってくるアクションゲーム。メルヘンですね。講習会のサンプル課題からのブラッシュアップ作品ですね。 #rubyforstudent

posted at 14:19:07

パソコンを最初に触れたのは幼稚園の頃。プログラミングに触れたのが中学生2年生。 #rubyforstudent

posted at 14:21:56

C言語で一度は断念したプログラミングの勉強をRubyで再開! #rubyforstudent

posted at 14:23:05

ゲーム利用者として小学生の妹を想定したそうですが、妹さんは別のゲームに夢中。 #rubyforstudent

posted at 14:24:08

後日ソースコードを読んだときに読みやすいようにコメントをつけるように気を付けたそうです。 #rubyforstudent

posted at 14:24:43

るびまを参考にしてコードを書いたそうです。 #rubyforstudent

posted at 14:25:08

背景画像などグラフィックにこだわったそうです。絵のセンスがありますよね。 #rubyforstudent

posted at 14:27:57

C言語で躓いたけれど、Rubyは書きやすかった。 #rubyforstudent

posted at 14:28:43

U-18(高校生)部門、4番目。最終発表となる「BooBooアクション」の発表スタート! #rubyforstudent

posted at 14:30:59

発表はみなさんWindowsでしたね。講習会のプラットフォームがWindowsだったのが影響しているのかな? #rubyforstudent

posted at 14:31:41

島根商業高校のみなさんの発表。 #rubyforstudent

posted at 14:32:05

おうちでも Visual Basic や Ruby のプログラミングを作っていた。豪華賞品に目が眩み応募しました。よし、笑いは取ったのでデモの掴みはOKですね。 #rubyforstudent

posted at 14:33:16

スーパーマリオを彷彿とさせる横スクロールゲーム。オリジナルキャラクターがかわいいですね。 #rubyforstudent

posted at 14:34:31

ゲームステージエディターがあるんですね。好きな位置にブロックを配置できるというのは面白いですね。 #rubyforstudent

posted at 14:36:02

ゲームステージの情報はテキストデーターで保存。凝っていますね。 #rubyforstudent

posted at 14:37:06

ふんわりとしたジャンプになるように初速度と加速度を調整して工夫したそうです。 #rubyforstudent

posted at 14:37:52

変数の値をゲーム画面上に表示させて開発効率を上げたそうです。調整のやりやすいプログラムも一つの工夫ですね。 #rubyforstudent

posted at 14:39:04

保存されたゲームマップを見せてください、と日本Rubyの会の会長より再びのツッコミ。^_^; 配列をそのままテキストとして書き込んでいるようですね。 #rubyforstudent

posted at 14:40:57

データファイルの保存やロードはすべてフルスクラッチで実装したそうです。審査員からもゲームステージ(マップ)が編集できる点が高評価を得ていますね。 #rubyforstudent

posted at 14:42:15

参加者によるプレゼンテーション終了。お疲れ様でした。 #rubyforstudent

posted at 14:46:07

国立天文台 縣秀彦さんによる記念講演なう。 #rubyforstudent

posted at 15:21:25

まつもとゆきひろさんをはじめ審査員の皆さんが最前列に着席しました。これから最終審査結果の発表です。ドキドキ、ワクワク。 ^_^; #rubyforstudent

posted at 15:56:52

U-15部門最優秀賞 「暗記君」。 ぱちぱちぱち! #rubyforstudent

posted at 16:03:31

U-15部門優秀賞2作品。「Ruby Shooting」と「ルビー vs 破滅の化身」 おめでとう! #rubyforstudent

posted at 16:05:56

U-15部門奨励賞 「シューティングα」 パチパチパチ! #rubyforstudent

posted at 16:06:57

U-18(高校生)部門 最優秀賞。「BooBooアクション」 おめでとうございます! #rubyforstudent

posted at 16:08:13

U-18部門 優秀賞1作品目。「Pictureアルバム」 長野県岡谷工業高校パソコンネットクラブ #rubyforstudent

posted at 16:09:56

U-18部門 優秀賞2作品目。「Rubyくんと雪」 ぱちぱち! #rubyforstudent

posted at 16:10:50

U-18部門 奨励賞 「馬鹿げている・・・ゲーム」 東京都市大付属塩尻高校。ぱちぱちぱち!会場で一番人数が多いチームですね。6名かな #rubyforstudent

posted at 16:12:32

まつもとゆきひろ審査委員長による講評。 #rubyforstudent

posted at 16:15:43

「シューティングα」 アルファベットの発音とゲームを組み合わせた発想が高評価。 #rubyforstudent

posted at 16:16:28

「暗記君」 自由部門に果敢に挑んだ唯一の参加者、rubygemの活用が評価。今後の伸び代が楽しみ。 #rubyforstudent

posted at 16:17:20

「Ruby Shooting」 ゲーム性が高かった。作りこみができていた。 #rubyforstudent

posted at 16:17:50

「馬鹿げている・・・ゲーム」 他のチームに対してオリジナリティが評価。 #rubyforstudent

posted at 16:19:01

「Pictureアルバム」 XMLの使いこなしや、自由部門に果敢に参加した点が良かった。 #rubyforstudent

posted at 16:19:40

「BooBooアクション」 ゲームマップの編集機能が高評価。審査員がもし本テーマに挑んだら後回しにしてしまったに違いない機能に果敢にトライ。 #rubyforstudent

posted at 16:20:39

「ルビー vs 破滅の化身」 ゲームを遊んでくれる弟を思い浮かべながら作ったところが想像できた。 #rubystudent

posted at 16:21:35

鳥取県と島根県の紹介から。鳥取県の左にあるのが島根県。というネタに誰も食いつかず。。。 ^_^; #rubyforstudent

posted at 16:22:29

中学生時代にポケットコンピューターでBASICに親しむ。最大400ステップのプログラム。 #rubyforstudent

posted at 16:23:27

実行する環境がない中、本を読んだだけでプログラミング言語を勉強。 #rubyforstudent

posted at 16:27:10

プログラミング言語の「記法」や「インターフェース」に関心が強かった。どうやって自分のイメージをコンピューターに伝えればよいのか? #rubyforstudent

posted at 16:28:50

大学の研究室でプログラミング言語を作ってみた。でも思ったようなものは作ることができなかった。 #rubyforstudent

posted at 16:31:02

就職してからプログラミング言語 “Perl” に出会った。でも、ちょっと違うと思って自分でプログラミング言語を作った。それが “Ruby” #rubyforstudent

posted at 16:32:16

プログラミング言語という一番大好きなものをずっと続けてきて今に至る。 #rubyforstudent

posted at 16:35:09

Matzがコンピュータにお願いしたいこと 「俺の代わりにスライドを書いてくれ」 でも、ソフトを誰かが書かないとダメだよね。^_^; #rubyforstudent

posted at 16:37:29

ソフトウェアの開発に大きな資本はいらない。たとえば自動車の製造には大きな資本が必要だが、ソフトウェアの開発ならば小さなところから始められる。若いうちから始められる。 #rubyforstudent

posted at 16:39:10

年齢や性別、国籍による制約がない。若者だからできない。18歳未満だとプログラミングができない。なんてないよね。 #rubyforstudent

posted at 16:40:20

プログラミングで世界に影響を与えることができる。世界を創造することができる。 #rubyforstudent

posted at 16:41:53

「プログラミングはホピーだ」 昔は「コンピューターユーザー≒プログラマ」。でも現在はコンピューターを使ってもプログラミングをしないユーザーが増加。 #rubyforstudent

posted at 16:43:19

他人が作ったゲームで遊んだとしても、ゲームを作った人の手の上で遊んでいるだけ。自分でゲームを作ればルールだって自分で決められる。自由になる。 #rubyforstudent

posted at 16:44:46

「プログラミングは対話だ」 誤解があふれている : 機械相手の仕事? 人間は相手にしない? コンピューターだけを見ている? #rubyforstudent

posted at 16:46:40

プログラミングは共感。「誰が使ってくれる?」 「どんなところで使っている?」 #rubyforstudent

posted at 16:47:46

コンピューターの持つ無限の能力を引き出すためには、プログラミングって大切だよね。 #rubyforstudent

posted at 16:48:40

コンピューターは安く手に入るようになったし、インターネットから簡単に情報も手に入る。これって幸せ??? #rubyforstudent

posted at 16:49:34

大学の情報系学部進学者の中でプログラミング経験者の割合が減少している。 #rubyforstudent

posted at 16:50:24

「コンピューターが得意です」の定義が変わってきてしまっている。 自分で何かを作ろうと思わなくても、なんとなくコンピューターを使える,で良いの? 一歩踏み出しては? #rubyforstudent

posted at 16:52:01

「若さは祝福」 プログラミングを楽しんで! #rubyforstudent

posted at 16:52:42

中高生Rubyコンテスト実行委員会副委員長、ネットワーク応用通信研究所社長 井上浩さんの閉会の辞。 #rubyforstudent

posted at 16:56:43

次のDNAを育てる作業。来年、再来年のRubyプログラミングコンテスト開催に向けて。 #rubyforstudent 1分前 webから

posted at 16:59:20

Rubyプログラミングコンテスト最終審査会終了。みなさん、お疲れ様でした。 #rubyforstudent

posted at 17:00:02