Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Kids, Ruby, Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜

  • 199 views
Uploaded on

このプレゼンテーションでは、プログラミング教育をめぐる状況を簡単に紹介したあとで、Rubyのプログラミングを教えるために私たちが開発したス...

このプレゼンテーションでは、プログラミング教育をめぐる状況を簡単に紹介したあとで、Rubyのプログラミングを教えるために私たちが開発したスモウルビーをご紹介し、最後に私たちの活動を紹介しています。

実際にプレゼンテーションで話した内容はすべてノートに記述しておりますので、関連ビデオなどをご覧いただかなくても、私たちの話が理解していただけるようになっています。

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this

Views

Total Views
199
On Slideshare
149
From Embeds
50
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 50

https://twitter.com 50

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 本日は、お忙しい中ご来場いただきありがとうございます。これから、私たちのプレゼンを始めたいと思います。
  • 私はRubyプログラミング少年団の団長の高尾です。また、CRubyのコミッターでもあります。
  • 私はRubyプログラミング少年団の理事の本多です。教材開発の協力やワークショップでの講師・アシスタントを行っています。 <br />
  • 私たちは、今年の6月に、Rubyプログラミング少年団という任意団体を作りました。 <br /> <br /> この団体は 「一人でも多くの青少年にプログラミングの喜びを!」「プログラミングを通じて青少年とネット社会との関わり方を考える組織を地域社会の中に!」 を掲げて活動している青少年のための任意団体です。 <br />
  • このプレゼンテーションでは、 <br /> <br /> プログラミング教育をめぐる状況を簡単に紹介したあとで、Rubyのプログラミングを教えるために私たちが開発したスモウルビーをご紹介し、最後に私たちの活動を紹介していきたいと思います。 <br />
  • それでは、まず、プログラミング教育の現状をご紹介したいと思います。 <br /> <br /> ここ2、3年で小中学生に対するプログラミング教育が、国内外で盛り上がってきています。 <br />
  • そもそも、なぜ最近になってプログラミング教育が注目されるようになったのでしょうか。 <br /> <br /> 私は、大きく3つの理由があると考えています。
  • まず1つ目です。 <br /> <br /> 今後、ロボットがソフトウェア・ハードウェアの両面で進化していくにつれて、ほとんどの仕事がロボットによって代行されるようになると多くの人が考えています。 <br /> <br /> スライドの言葉は、今月頭ごろに公開されていた、GoogleのCEOであるラリー・ペイジ氏のインタビュー記事のものです。 <br /> <br /> これから先、私たちの仕事は大きく二極化していくと思われます。ひとつは、ロボットにはできない創造性の高い仕事、ロボットをどのように使うかを考える、ロボットを使う側の仕事です。もうひとつは、ロボットがやりのこした仕事をフォローするような、ある意味でロボットに使われる側の仕事です。 <br /> <br /> そういう時代になったときに、コンピュータがどういうものであるかを、単に知識として知っているだけでなくて、実際に道具として使いこなせるようになっておくことは非常に重要です。 <br /> <br /> コンピュータを深いレベルで使いこなすためにはプログラミングの知識が必要不可欠です。たとえ自分でプログラムを作らないにしても、プログラミングがどういったものであるかを実践可能なレベルで理解していることには大きな意味があります。
  • また、プログラミングのスキルは、単に職業選択に影響するだけではなく、遠くない未来に、読み書きそろばんのような一般的なリテラシーになる可能性があります。 <br /> <br /> つい最近、今年の3月にAIBOのサポートが完全に打ち切られて修理ができなくなってしまったことが、テレビでもとりあげられ、大きな話題になっていました。 <br /> <br /> 首の痙攣が激しくなったり、足の関節が悪くなって転びやすくなってしまったりするらしく、長い間AIBOをかわいがってきた多くの飼い主は悲嘆にくれていました。しかし、そんな中で、自力でAIBOを修理している飼い主もいました。 <br /> <br /> 結局のところ、私たちが普段の生活で見かけるほとんどのものは誰かが作り出したもので、それはその気になれば自分でも作ったり直したりすることができます。 <br /> <br /> 近年、このような、個人のためのものづくりの取り組みが、「Makerムーブメント」や、また、「パーソナルファブリケーション」といったキーワードとともに大きな注目を集めています。 <br /> <br /> もちろん、ものづくりという文脈において、プログラミングは一要素でしかありませんが、情報化社会ではあらゆるものにプログラムが組み込まれていて、プログラミングは欠かすことのできない重要な要素のひとつであると言えます。 <br /> <br />
  • このように、プログラミングのスキルはこれからの社会を生きていくうえで必要不可欠なものになっていくと思われます。ですが、私たちは、たとえそうでなくても、プログラミングには学ぶだけの価値があると考えています。 <br /> <br /> それがなぜかというと、プログラミングという行為自体が非常に楽しいものだからです。 <br />
  • プログラミングやシステム開発に関する古典として知られている『人月の神話』では、プログラミングの本質的な楽しさとしてここにある5つがあげられています。 <br /> <br /> 物理的な制約をほとんど受けずに、自分が作りたいようにプログラムを作ることができるのは本当に楽しい経験です。 <br /> <br /> また、プログラムは現実世界に実際に影響を及ぼすもので、それが自分やほかのだれかの役に立てばとてもうれしくなります。とはいうものの、仮に何の役にも立たなかったとしても、自分で作ったものが実際に動いて何らかの結果を返す、ただそれだけのことで、実際にやってみると、とても面白かったりします。 <br /> <br /> 次に、複雑なパズルという側面ですが、これは特にプログラムの不具合をあぶりだすためのデバッグ作業において強く実感します。このデバッグ作業では、時におおきく精神を乱されることになりますが、問題が解決したときの爽快感や満足感は格別なものです。 <br /> <br /> 加えて、プログラムはコピーが可能なので、新しく何かのプログラムを作る必要があるときは、多くの場合、新しい問題に挑戦するときです。それは苦しいこともありますが、同時に多くのことを学べます。 <br /> <br /> このように、プログラミングはそれ自体がとてもおもしろいものなのです。 <br /> そのため、たとえば高校野球のように、最終的には直接仕事に結びつかなかったとしても、青春をかけるだけの価値がプログラミングにはあると、私たちは思っています。
  • それでは、ここからは、国内外の状況について簡単にご紹介していきたいと思います。 <br /> <br /> まず、海外の状況ですが、プログラミング教育がもっとも活発に行われているのはアメリカだと言われています。 <br /> <br /> 2014年5月10日のNew York Times の記事では、Code.orgの調査によると、昨年の12月から今年の5月までの間に、幼稚園から高校までの2万人教員が授業にプログラミングを取り入れているそうです。 <br /> <br /> また、オバマ大統領が「プログラミングの必修化は必要である」という発言をしていて、この流れはますます加速するでしょう。 <br />
  • 次に、イギリスでは、今年の9月から、5歳から16歳までの義務教育の新カリキュラムにプログラミングが正式に導入されています。 <br /> <br /> 5歳時点ですでに、アルゴリズムの概念の理解や簡単なプログラムの作成・デバッグといった内容が盛り込まれていて、かなり本格的な内容になっています。カリキュラムの策定にはGoogle、Microsoftといった企業も参加しているそうです。 <br />
  • いわゆるG8以外の国でも、プログラミング教育の取り組みは行われています。 <br /> <br /> たとえば、東ヨーロッパのエストニアでは初等教育の1年目からアプリ開発を教えるカリキュラムが実施されています。エストニアはSkypeが生まれた国であることから、IT振興にあたってはMicrosoftから多くの支援を受けているようです。エストニアにおけるIT産業の重要性はかなり高く、プログラミング教育に積極的に取り組んでいます。
  • また、貧困からの脱却のためにプログラミングを教えるという取り組みを行っているケースもあります。 <br /> <br /> たとえば、KhodeUpという非営利のプロジェクトでは、カンボジアの孤児の生活向上を目指して、4週間の集中授業でWebサイト構築の基礎を教えるといった取り組みが行われています。 <br /> <br /> また、デンマークのマイクロファイナンス企業のCodersTrustは、バングラデシュの100名のグループを対象に、2000ドルずつの融資を行ってプログラマを育てるというテストプロジェクトを行っています。このプロジェクトには、2006年にノーベル平和賞を受賞したグラミン銀行も資金援助を行っているそうです。
  • 世界規模の取り組みとしては、Code.orgが行っているHour of Codeが非常に注目されています。 <br /> <br /> この取り組みでは、プログラミングを教えることができる教師を1万人養成して、1億人のこどもたちにプログラミングを教えることを目標にしています。 <br /> <br /> このプロジェクトには、Facebook のCEOである マーク・ザッカーバーグ氏をはじめとする多くの著名人が寄付を行っています。
  • 続いて、日本の状況を紹介したいと思います。 <br /> <br /> まず、中学校の技術家庭科では、「プログラムによる計測と制御」という内容で、2012年度からプログラミングの授業が必修になっています。「計測と制御」とあるように、なんらかのセンサーで値を計測して、その内容を元にモーターを制御するという内容になっています。ちなみに、よく使われているのは黒い線にそって車を走行させるという教材ですね。 <br />
  • ちなみに、松江市では2016年度から松江市立の全中学校、約5,500人の生徒に、スモウルビーを使ってRubyを教えることが決定しています。
  • また、2011年に文部科学省が公表した「教育の情報化ビジョン」では、2020年までに生徒1人につき1台の情報端末を配布することが決定しています。 <br /> <br /> たとえば、今年の4月に佐賀県の武雄市で全小学生にタブレットが配布されたことは知っている方も多いかもしれませんね。
  • このように義務教育ではプログラミング教育の導入や情報化が進んでいますが、同時に、民間企業の活動も活発に行われています。 <br /> <br /> 最近特に話題になっているのが、PEGと呼ばれるプログラミング学習の普及プロジェクトです。PEGは、GoogleとCANVASの共同プロジェクトです。CANVASはプログラミングに限らない子ども向けのワークショップを開催している日本のNPO法人です。このプロジェクトでは、日本全国でプログラミング教育のワークショップの開催したり、教育事業者向けに5,000台のラズベリーパイを配布していたりします。 <br /> <br /> これ以外にも、TENTOという団体が個別指導塾形式のプログラミング教室を実施していたり、Life is Tech! という団体が5日程度のキャンプ形式や週1の学習塾形式のプログラミング教室を実施していたりします。 <br /> <br /> TENTOやLife is Techについては、月謝や参加費をもらうという形で活動を行っていて、ビジネスとしてやろうとしているのがおもしろいところですね。 <br /> <br /> ここで取り上げたもの以外にも、いろいろなプログラミング教育のワークショップが開催されていて、海外だけでなく日本でも子ども向けのプログラミング教育が盛り上がって来ています。 <br />
  • 多くのプログラミングの授業やワークショップではMITが開発している Scratch というビジュアルプログラミング言語が使われています。 <br /> <br /> Scratch のユーザは全世界で200万人以上で、日本の小中学生向けのプログラミング教育のワークショップでは最も多く利用されています。 <br />
  • それで、このように盛り上がっているプログラミング教育において、Rubyはどうかというと... <br /> <br /> みなさんもご存知のようにRubyは「A Programmer's best friend」ですね。それはこれからプログラミングを学ぼうと考えている子どもたちにとっても同じです。 <br /> <br /> Rubyの <br /> <br /> * シンプルな文法 <br /> * オブジェクト指向 <br /> * ガーベージコレクタ <br /> <br /> といった特徴によって、子供たちでも、コンピュータのことをあまり意識することなく、やりたいことを表現することができます。 <br />
  • しかしながら、中学生に対してRubyを教えていく中で、多くの中学生は、アルファベット、英語、キーボード操作などが難しく、プログラミングが楽しくなる前にやめてしまうということがわかりました。 <br />
  • そこで、これらの問題を解決するために、私たちはスモウルビーを開発しました。 <br /> <br /> スモウルビーは、スクラッチと同様のビジュアルエディタ機能を持ち、プログラミング初心者でも簡単にプログラムを作ることができます。
  • 早速ですが、スモウルビーがどんなものか、お見せしますね。 <br /> <br /> (キャラクターを選んで、命令ブロックを配置します。Rubyボタンを、実行ボタンを押すと、バックグラウンドでrubyを実行して、キャラクターが動きます。) <br /> <br /> (Pongのデモ) <br /> <br /> これがスモウルビーです。 <br />
  • スモウルビーのエディタ機能は、Railsアプリケーションとして実装しています。 <br /> 命令ブロックの組み合わせでプログラムを作ったり、そこからRubyのソースコードを生成する機能は、Blocklyというライブラリを使って実現しています。 <br /> <br /> スモウルビーで作成したプログラムは、WindowsではDXRuby、Mac OS XとLinuxではDXRuby互換APIを提供するdxruby_sdlとRuby/SDLを利用して、2Dグラフィックス、音楽の再生、イベントハンドリングを実現しています。 <br />
  • スモウルビーを初めて見た方の多くは、命令ブロックの組み合わせでプログラムが作成できることを知ると、「Rubyってこんなに簡単なんですか!?」といった感じで驚かれます。 <br /> <br />
  • ところが、実際に子供たちにスモウルビーを使ってもらったところ、面白いことがわかりました。 <br /> <br /> 素数を求めたいとか、やりたいことがはっきりしていて、本格的にプログラミングをやりたい子どもの場合、早いタイミングで命令ブロックによるプログラミングでは満足できなくなってしまい、コードを直接入力したいと言い出します。 <br />
  • このような経験から、スモウルビーではRubyのコードから命令ブロックへの変換ができるようにしました。これは他のVisual Programming Editorには実装されていないスモウルビーの特徴的な機能です。 <br /> <br /> Rubyのコードと命令ブロック、その二つの世界を自由に行き来できるようにすることで、その間のギャップが小さくなって、より多くの子どもが文字によるプログラミングを習得できるようになると考えています。
  • スモウルビーでは、Rubyのソースコードと命令ブロックを相互に変換できることにこだわっていきたいと考えています。 <br /> <br /> 現在盛り上がっているプログラミング教育の傾向としては、プログラミングはあくまで手段のひとつであり、創造性や論理的思考力をはぐくむことを目的としていることが多いのですが、私たちはプログラミングそのものを教えることにより重点を置きたいと考えています。 <br />
  • 命令ブロックでプログラミングの基礎を学んだあとは、なるべく早いタイミングで直接Rubyのソースコードを入力してプログラムを作成できるようになってほしいと考えています。そして、自分の好きなエディタを見つけて、私たちのようなプログラミングが好きなプログラマになってほしいと考えています。 <br />
  • 最後に、わたしたちの活動を紹介したいと思います。 <br /> <br /> ひとつは、「1日Rubyプログラミング体験 in 松江」という、毎月第3日曜日に開催している、親子向けのプログラミング体験教室です。 <br /> <br /> 島根県では毎月第3日曜日を「しまね家庭の日」として、家庭における団らん、コミュニケーションの機会を増やし、温かな家庭づくりを推進しています。中学校の部活なども休みになります。そこで、わたしたちは、このしまね家庭の日に、小学校3年生から6年生のお子さんを持つご家族を対象に、家族みんなでプログラミングを体験するというイベントを開催しています。 <br /> <br /> 現在は、スモウルビーを使ったプログラミング体験のみを行っていますが、将来的には、インターネット安全教室のような情報リテラシー教育もあわせて実施したいと考えています。 <br />
  • このイベントは今年の5月から毎月開催していて、10月時点で合計27家族、76人の方々に参加していただきました。イベント会場は松江市内の公民館を順番にまわっていて、3年かけて、松江市内のすべての地域でイベントを開催することを目指しています。 <br /> <br /> この画像は公民館の所在地を表しており、ここをすべて回る予定です。ちなみに、画像の番号は本イベントとは関係ありません。
  • それではイベントの様子を簡単に紹介したいと思います。 <br /> <br /> 一日体験では、かんたんな追いかけっこのゲームをテキストにそって作ってもらいます。この写真は子どもたちに前に集まってもらって、プログラムの作り方の説明をしているところです。あえて前に集まってもらっているのは気分転換もかねています。
  • これは、別の日のイベントで、同じようにプログラムの作り方を説明している様子です。
  • ケーブルの接続もせっかくなので参加者の方にやっていただきます。この子が手に持っているのはラズベリーパイですね。 <br /> <br /> わたしたちもPEGからラズベリーパイを提供していただいており、このようなイベントで活用しています。
  • プログラムを作るときは、親子で相談しながら作ってもらっています。子供が悩んだり間違ったことをしているときに、お父さんお母さんはついつい口が出てしまいがちなのですが、そのせいで子どものやる気がなくなってしまうこともあるので、そこはぐっとこらえてできるだけ見守ってもらうようにお願いしています。
  • 場合によってはお子さんが親に教えている場面をみることもあります。
  • おもしろいプログラムを作っている子がいたら、こんな感じで集まってもらって、そのプログラムを紹介し、そのアイディアをもとにさらに自分のプログラムを改造してもらうことにしています。
  • これは違うイベントでプログラムを紹介している様子ですね。一日Rubyプログラミング体験はこんな感じで行っています。
  • また、10月から、毎月第4土曜日にコーダー道場松江を開催しています。 <br /> <br /> コーダー道場松江は、プログラミングを体験した子どもたちがステップアップするための無料のプログラミング教室です。 <br /> <br /> 松江市では、6年前から市主催の中学生向けのRubyプログラミング教室が開催されており、また、わたしたちも1日Rubyプログラミング体験を開催していますが、いずれもプログラミングの導入のためのイベントで、小中学生が継続的にプログラミングを勉強するのをサポートする環境はありませんでした。 <br /> <br /> そのため、私たちはそのような場として、コーダー道場松江を開催することにしました。 <br /> <br /> コーダー道場は小中学生のためのオープンソース・プログラミング教室で、2011年にアイルランドで始まりました。 <br /> <br /> ここでいうオープンソースとは、コーダー道場を運営する上でのガイドラインやノウハウ、教材が公開・共有されており、コーダー道場をはじめたいと思った人はだれでもイベントを開催することができるという意味です。 <br /> <br /> 2014年9月時点で、51カ国526ヶ所、日本だけでも22カ所で開催されています。 <br /> <br /> コーダー道場では、子ども自身がやりたいことをサポートするためにメンターが存在し、メンターは子どもとマンツーマンで対応することを原則としています。 <br /> <br /> 現状、コーダー道場松江では、参加を希望する子どもの数が多く、子どもの数に対してメンターが十分に集まっていない状況ですが、最終的には子ども2,3人に対してメンターが1人つく形にしたいと考えています。
  • 将来的には、プログラミング少年団の取り組みを日本全国に拡げ、野球やサッカーのスポーツ少年団(少年団の対訳:boys & girls scout)のように、 <br /> <br /> * 各地域にそれぞれの特色を持ったチームがあり、 <br /> * ボランティアのコーチがいて、 <br /> * 地区大会、県大会、全国大会といった試合があるような、 <br /> <br /> そんなプログラミング少年団を作りたいと考えています。 <br />
  • このプレゼンテーションでは、 <br /> <br /> * プログラミング教育の現状 <br /> * スモウルビー <br /> * Rubyプログラミング少年団の紹介 <br /> <br /> を説明しました。 <br />
  • 自分の生活で使う道具を自分で直すことができる、また、あらたな問題に直面したときにその問題を解決するための道具を自分で作り出すことができることが非常に重要だと考えています。このような価値観はオープンソースソフトウェアに関わっている皆さんには共感していただけるのではないかと思います。 <br /> <br /> Rubyは問題を解決するための汎用的で強力なツールなので、私たちはこの最高の道具を子ども達に授けたいという想いで活動に取り組んでいきます。 <br /> <br /> これで、私たちのプレゼンをおわります。 <br /> 本日は、どうもありがとうございました。
  • 以上で、説明を終わります。なにか質問があるかたはおられますでしょうか?

Transcript

  • 1. Kids, Ruby, Fun 高尾宏治、本多展幸 Rubyプログラミング少年団、 RubyWorld Conference 2014, 11.13.2014
  • 2. 高尾宏治 Rubyプログラミング少年団団長 CRubyコミッター kouji@smalruby.jp @takaokouji Kouji Takao nobyuki@smalruby.jp @nobyuki Nobuyuki Honda 本多展幸 Rubyプログラミング少年団理事
  • 3. nobyuki@smalruby.jp @nobyuki Nobuyuki Honda 高尾宏治 Rubyプログラミング少年団団長 CRubyコミッター 本多展幸 Rubyプログラミング少年団理事 kouji@smalruby.jp @takaokouji Kouji Takao
  • 4. The Ruby Programming Shounendan Rubyプログラミング少年団
  • 5. Agenda Programming education Smalruby The Ruby Proshou プログラミング教育 スモウルビー プログラミング少年団
  • 6. Programming education プログラミング教育
  • 7. プログラミング教育の価値
  • 8. 20年後、あなたが望もうが、 望むまいが現在の仕事のほ とんどが機械によって代行さ れる。 Google CEO ラリー・ペイジ http://lrandcom.com/automation
  • 9. 「死ぬとは思っていなかった」 老アイボと飼い主たちが置かれた“切ない現状”に 共感の声 http://irorio.jp/canal/20141029/173693/
  • 10. それがぼくには楽しかったから Just for Fun 『それがぼくには楽しかったから』リーナストーバルズ(著), デビッドダイヤモンド (著), 風見潤(翻訳)
  • 11. Why Programming is fun? • 特別なものを、自分自身の設計で • 有益なものを作り出す楽しみ • 複雑なパズル • 常に学ぶ喜び、問題は常に新しい • クリエイティブで柔軟なメディア http://naglly.com/archives/2009/04/why-is-programming-fun.php
  • 12. アメリカ 海外の状況 20,000 Teachers
  • 13. イギリス 義務教育 海外の状況 Compulsory education
  • 14. 海外の状況 エストニア 義務教育 Compulsory education
  • 15. 海外の状況 カンボジア バングラデシュ 貧困からの脱却 KhodeUp, CodersTrust
  • 16. HOUR OF CODE http://hourofcode.com/
  • 17. 日本の状況 中学校でプログラミングが必修化 「プログラムによる計測と制御」 2012年~ Compulsory education
  • 18. 日本の状況 生徒1人に1台のコンピュータ ~2020年 1 Computer / 1 Person
  • 19. PEG TENTO Life is Tech! 日本の状況
  • 20. by MIT Media Lab http://vimeo.com/65583694
  • 21. Ruby is A Programmer’s Best Friend
  • 22. But Japanese kids… English Keyboard
  • 23. スモウルビー Smalruby
  • 24. デモ
  • 25. Visual editor ・Rails ・Blockly Runtime Windows : DXRuby Mac,Linux : dxruby_sdl, Ruby/SDL
  • 26. ブロック Ruby
  • 27. Kids want to challenge!
  • 28. Ruby ブロック
  • 29. We think… > Programming Creativity and Logical thinking http://mashable.com/2014/05/20/surface-pro-3-macbook-air-compared/
  • 30. Vim Icon : http://www.vim.org/index.php Emacs icon : http://ochiailab.blogspot.jp/2013/04/powerlineelemacs.html Sublime Text icon : http://blog.livedoor.jp/nonprofessional/archives/1004031653.html
  • 31. 1日Rubyプログラミング体験 in 松江 毎月第3日曜日 Ruby programming event for kids and parents Introduce Ruby, Once a month
  • 32. 1日Rubyプログラミング体験 in 松江 http://matsue-city-kouminkan.jp/
  • 33. コーダー道場松江 CoderDojo Matsue 毎月第4土曜日 Free Programming Club, Once a month
  • 34. The Ruby Programming Shounendan Rubyプログラミング少年団 ≒ The Boy & Girl Scouts for Ruby programming Rubyを対象としたスポーツ少年団
  • 35. Conclusion Programming education Smalruby The Ruby Proshou プログラミング教育 スモウルビー プログラミング少年団
  • 36. Ruby is A Programmer’s Best Friend
  • 37. Q & A Contact us: @smalruby contact@smalruby.jp fb:Rubyプログラミング少年団