ビープラウド社長のブログ

株式会社ビープラウドの社長が、日々の思いなどを綴っていきます。

ござ先輩の異常なプログラミング教育についてCoderDojo〜BPStudy#122 その5

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマ(その1その2その3その4) でした。

第2部は「大人向けプログラミング教育」で、クオリティスタート社ござ先輩と、Python学習プラットフォームのPyQチームに話してもらいました。

ござ先輩は今年の4月から企業のプログラミング初学者向けに研修を実施されていて、そこでの経験からお話いただきました。

f:id:haru860:20171020201305j:plain

資料は以下です。

気づいたらスライドのはてなブックマークが340を超えていてバズっていました(2017年11月13日現在)。さすがですね。

事業としてプログラミング研修を始めた経緯

  • 他社の新人向けプログラミング研修の学習効果が芳しくないという相談を知人から受けた
  • 独習Python入門――1日でプログラミングに強くなる! を2016年8月に出版していた
  • 教えることは得意だが、自分としてはあまり好きではないこと

    • 会社の事業戦略として、(本塁打でいきなり得点を狙いに行くのではなく)まずは得意なことで塁に出ることを考え、引き受けることにした

研修にどのプログラミング言語を使うか

  • Javaはプログラミングの入門に不向き

    • オブジェクト指向が前提(オブジェクト指向が使える人のための言語)
    • 環境構築が面倒(コンパイルの理解が必要)
    • 重たい概念が多い(プリミティブ、オブジェクト、クラスローダー、ヒープ、スタックなど)
  • Pythonは入門向けに向いている

    • 型宣言が不要で、記号が少ない。そのぶん可読性が問われる言語なのでコードの意味を考えるのにプラス
    • Webアプリの構築が簡単(Javaに比べて)

      Webアプリは言語の文法や設計思想よりもまずは動かして学ぶことのほうが重要

    • Pythonは海外では人気

プログラミングの学習ハードルが高い理由

  • 抽象的概念(変数、制御構造、データ構造、関数、オブジェクト、クラスなど)と、具体的概念(プログラムコード)の行間が広い。
  • 行間の広さを独習で埋めるのは難しい

プログラミング学習のハードル

その1:繰り返し
  • なんども繰り返すことが、コードから読み取れない(5回出力したいなら、5回printを書けばよいのでは。。と考えてしまう)
  • while文はfor文より難しい
  • ズンドコきよし

    • whileで実装できれば繰り返しが腑に落ちる人が多い

qiita.com

その2:データ構造
  • 連想配列と配列の区別あたりから理解が怪しくなる
  • 手書きで書いてもらうとイメージが喚起されて効果が高い(写経では埋められないところ)
その3:オブジェクト指向
  • オブジェクト指向に寄り添うメリットが伝わらない
  • クラスを使う意味など
その4:行き過ぎた抽象化
  • ライブラリの便利さが伝わらない
  • WTFormは中身で実行されていることを知っている人にとってはとても便利。知らない人にとっては「ふーん」「あたりまえ」

どうやって思考を整理するのか

  • どういった処理を、どの順番で実行するか
  • どうやって自分の考えを表現してよいか分からない(「いきなりプログラムを書くのは戻りが多く良くない」というのは理解している)
  • 箇条書きだと抽象度が高すぎる、フローチャートだと粒度が細かすぎる
機能を作る時に考えていること
  • 検索処理の場合

    検索項目を取得→検索条件を組み立てる→検索を実行する(検索結果により処理が分岐)

  • ゴルフのアプローチに近い感覚

    • バックキャスティングの習慣を持たせる

プログラミングの学習曲線

  • 粘り強く時間をかけて学び、覚醒することでいきなり実力がグンと伸びるのがプログラミング学習

まとめ(私の感想)

プログラミング初学者のハードルとなるポイントを的確にまとめていただきました。

ござ先輩の対面研修での経験からお話いただきましたが、オンラインでPythonを学ぶPyQにも組み込めそうなアイデアをもらうことができました。

このアイデアをもとに、プログラミング初学者のハードルを超えやすいようなコンテンツや仕掛けをPyQに入れていければとおもいます。

そして「プログラミングの学習曲線」は私も体験し、以下のような感じで相当苦しみました(もともと要領が良くないほうというのもあり)。

  • 「この少しのことをするのに、なぜこんなに色々書かなくてはいけないのか?めんどくさい。自分には向かないのかも」と感じた
  • いろいろな概念や要素があり、それらをどこでどう使うのか分からない
  • なぜさまざまな技術があるのか分からない。プログラミング言語が複数あったり、データベースの種類がいくつもある意味もよくわからなかった
  • 小難しそうな概念をすべて理解しきれない。理解しきれてないから不安になる
  • 書いたコードは動いた。しかし苦労していろいろ修正した結果、読みにくいコードになっている

ござ先輩の話を聞き、PyQの参考になるヒントも得られ、過去の自分も振り返ることができ、有意義な発表でした。

ござ先輩ありがとうございました!

プログラミング教育をテーマに開催したBPStudy#122。おおとりは、PyQチームの発表です。

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その4

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者向井アリーさんがヒットエンドランを決め、3番宮島さんがタイムリーヒットを打ちました。おおとりは4番打者の Coder Dojo 市川 代表の土屋健一さんです。

f:id:haru860:20171020195141j:plain

資料は以下です。

プログラミングを学んだ経緯

  • 少年時代、JR-200を買ってもらったが、ゲーム数が少ない
  • BASIC Magazine ひたすら写経してゲームする

    • プログラムを少しずつ把握し、動きを変えていく
    • いつの時代も写経→改造の訓練は大切
  • アイルランドは貧富の差が大きいので、無料にこだわっている

千葉県のCoderDojo

  • 千葉には12,13の道場があり、イベントで連携したりしている
  • 千葉の高校生をロボットの世界大会に送り込もうというクラウドファンディングの取り組みがある

CoderDojo市川のスタイル

  • 作成した人たちの発表タイム
  • 基本は自分で考えて作る
  • 子どもが本を開いて自分で調べて、わからないところは大人に聞きながら集中して作る
  • もくもく会の雰囲気

チュートリアル

  • Scrachで「猫から逃げろ!」ゲームの作成
  • 猫が動き回る頃からテンションがあがり、完成の頃はテンションMAX
  • そのあとはスピード変えたり、猫の数を増やしたりいろいろ変更してみる

なぜCoderDojo市川をやろうとおもったか

  • 当初会社の教育事業としてやろうと思ったが、いまいち心たぎらない
  • 儲からないのに大変。何でやってるのか
  • 子どもも大人も学べるコミュニティづくりに振り切ってから心たぎるようになった

CoderDojo運営の悩みあるある

  • モノ:自体体のリッチ度によって施設はまちまち、PCの持ち運び、保管場所、備品を融通
  • ヒト:プログラミング以外のことも必要。近隣メンター、コワーキングつながり、学生
  • カネ:開催時寄付、サポーター協賛金(なかなか厳しい)

嬉しいこと

  • 近隣のひとが駐車場貸してくれる
  • スーパーで子どもが「またいくね」と声かけてくれたり
  • Ninja(子ども)の成長を実感
  • 子どもを教えたいという希望をもっていたひとの夢が叶った

企業とコミュニティの違い

  • 企業:JOINする前にじっくり考える
  • コミュニティ:JOINしてから考える

運営で気をつけていること

  • ミニマムでできることを考える(1人で回せるイベント運営を心がける)
  • 共感できる価値を持つ

まとめ(私の感想)

土屋さんのお話からは、試行錯誤しながら、コミュニティを回している様子が伝わってきました。

一番印象的だったのは「ミニマムでできることを考える(1人で回せるイベント運営を心がける)」です。

コミュニティを運営し始めると、モチベーションの高い人ほど「やれることは何でもやろう」となるのは人の性です。

しかし、そこでやり過ぎてしまうとあとで続かなくなってしまいます。

特にコミュニティは仕事に直結する活動ではありませんので、後回しにする理由はいくらでも生まれてきます。

「続けることが目的になってはいけない」と土屋さんはおっしゃいます。

しかし子どもが安価で(参加費無料を推奨)プログラミングを学べるCoderDojoは、続けているだけでも社会的な価値が高い場ではないでしょうか。

CoderDojoにかぎらず、コミュニティを主催者、参加者にとって価値のある場にし続けるには「ミニマムでできることは何か?」を常に自問し、少ない活動コストで大きな価値を創り出す運営姿勢に徹することが秘訣と感じました。

土屋さん、ありがとうございました!

第2部は大人向けプログラミング教育です。→その5へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その3

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者向井アリーさんがヒットエンドランを決めました

3番打者はCoderDojo 柏 代表の宮島衣瑛さんです。

f:id:haru860:20171020193356j:plain

資料は以下です。

CoderDojo Kashiwa

  • 2013年5月に当時高校1年生の宮島さんが設立(宮島さんは現在は大学2年生)
  • 20名の定員が30分で埋まるほどの人気
  • 高校生、大学生など学生主体で運営している

    • 小学校、中学生、高校生、大学生、大人が同じ場所にいる
    • 世代の違うひとたちが、同じ環境で学び合えるのがCoder Dojoの魅力
  • Special Presentation Day

    • 子どものための作品発表会(1年間のまとめとして)
    • 今年は12/23に開催
  • 開催の様子の動画

  • 小学生からやってる子は中学生も教える側に回っている子もいる
  • CoderDojo 柏は女の子も多い
  • ミッション

    • 市内のどこにいても、プログラミングを学べる場所を提供する
    • そのミッションの実現のために、柏市内に4箇所つくった(柏、柏の葉、南柏、沼南)。それぞれは独立して運営されている
    • 週末は大体どこかで開催されている
    • 同じエリアでは隣の市の流山も含めると5道場。(まだまだ広げられる)

柏市との連携

  • 柏市のプログラミング教育

    • 2017年4月から、市内42校全ての小学校でプログラミングを用いた学習をスタート
    • 目的

      • 知識・技能の習得
      • 思考力、判断力、表現力の育成
      • 学びに向かう力・人間性の涵養
    • 4年生・総合的な学習の時間☓2H

    • ミニゲーム(ねこあるき)を題材にプログラミング全体を捉える+構造を捉えて分解する
    • Scratchを使っている(文部科学省のプログラミン ではなく)
  • 教育委員会との連携

    • カリキュラム案の検討、研修を手伝う
    • CoderDojo Kashiwa主催のイベントに教育委員会が協力する(ScrachDay in Kashiwa 2017など)
    • かしわプログラミングフェスタ
    • 学校はあくまで入門で、Dojoで深める
    • Dojoが持っているノウハウを提供

2020年に学習指導要領が変わる

  • 社会に開かれた教育課程の実現(社会のリソースを活用しようという方向に変わる)
  • 社会のリソース活用という意味で、柏市は地域におけるプログラミング教育の最先端事例

子どもたちが取り組んでいることの事例

  • 小学校4年生がMinecraftをScratchでつくろうとしている!
  • リアルにつくってくる。Pythonとマインクラフトの本を持ってきて教えてくれと来た
  • 大人全部はわからないので子どもたちがやりたいことを受け止めて、一緒に学びながら教えていく

まとめ(私の感想)

宮島さんには、Coder Dojo 柏の活動と、行政機関(柏市)との取り組みについてお話いただきました。

Coder Dojo 柏は、柏市にプログラミングの教材を提案したり、教員に研修したりと行政機関と連携して、子どもがプログラミングを学べる環境づくりを進めています。

2020年に学習指導要領が変わり、Coder Dojo 柏のような外部とも連携して教育が進んでいくとのこと。

Coder Dojoのプログラミング教育における影響力は大きくなっていくでしょう。

これからの活動がますます楽しみです。

宮島さん、ありがとうございました。

3番宮島さんのタイムリーヒットが飛び出したところで、なお無死1,2塁。4番打者は、CoderDojo市川代表の土屋健一さんです。→その4へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その2

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました。

1番安川さんが塁に出て、2番打者はCoderDojo 藤沢 代表の向井アリーさんです。

f:id:haru860:20171020191652j:plain

資料は以下です。

プログラミングは学びでもあり、遊びでもある

  • CoderDojoは1つのコミュニティ
  • プログラミングは遊びと学びどちらか? 学びでもあり、遊びでもある「マソビ!」

    2017年「ゲームばっかりしてないで勉強しなさい」→2020年「勉強ばっかりしてないでゲーム作りなさい

  • プログラミングの3つの楽しい要素

    • コンピュータに対して命令して思い通りに動かす感動
    • 問題を自分で解いた時の気持ちよさ
    • 他の人にシェアしたり、見てもらえる楽しさ

親がそばにいない方がうまく行く!

  • 親が「べったり怪獣」の場合に起きること

    • 先生の言われたとおりにやりなさい!本と違う!周りの人と違う!みんなより遅れてる!それは違う!
    • 最後は子どものマウスを奪う

道場は切磋琢磨の稽古場

  • 作りたいものを作る→発表する→拍手を持って嬉しい→もっとすごいものを作りたくなるのループ
  • 子どもの自分の世界が広がる

    • 参加していた子どもが自分でプログラミングサークルを立ち上げる
    • DojoCon Japan2017 プログラミングコンテスト最優秀賞受賞者→海外のコンテストに参加
  • 大人顔負けのプログラムをつくる子どもたち

    • Scratchでフィボナッチ数列とトリボナッチ数列を使うプログラム
    • Sinatoraでwebアプリ制作
    • Processingで図形を動かす
    • MinecraftのRedstone Timer
    • 数字を入れるとひたすら割って素数を検出するプログラム

最新プログラミング学習ツール

まとめ(わたしの感想)

印象的だったのは「親が子どもの邪魔してはいけない(べったり怪獣)」というところです。

「親」という字は『木の上に立って見る』と書きます(金八先生より)。

心配しながらもべったりくっつかず、遠くから見ているくらいが良いのかもしれません。

さまざまな子ども向けプログラミング学習ツールもご紹介いただき、その種類の多さに驚きました(私はScratchとRASPBERRY PIしか知りませんでした)。

CoderDojo藤沢の活気と暖かさが伝わってくる発表でした。

向井アリーさん、ありがとうございました。

2番向井アリーさんのヒットエンドランが決まり、無死1,3塁。3番打者は、CoderDojo柏代表の宮島衣瑛さんです。→その3へ

子供と親が一緒に楽しみながらプログラミングを学ぶCoderDojo〜BPStudy#122 その1

2017年10月20日にBPStudy#122〜いかにプログラミングを学ぶか?プログラミング教育を考えるが開催されました。

第1部は「子ども向けプログラミング教育」がテーマです。

CoderDojoの代表の方々4人にご登壇いただきました*1

1番打者はCoderDojo Japan 代表の安川さんです。

f:id:haru860:20171020190029j:plain

資料は以下です。

日本での始まり

コンセプト

  • 子ども☓技術☓非営利
  • 一緒に学ぶ、一緒に考える
  • 「やってみた」を共有する
  • 大人も楽しむ、子どもと競う
  • 技術を楽しむコミュニティ

全国での広がり

  • 2016年3月:25箇所→10月:60箇所→2017年3月に75箇所→10月に106箇所
  • 世界では75か国、1400道場

日本法人設立

  • 2016年に公式の日本法人を設立
  • 世界と連携しながら進める
  • CoderDojo憲章を中心にしたコミュニティ

    活動の決定権をそれぞれのDojoが持つことができる

企業からの支援

どのように広がってきたか

  • CoderDojo Tokyo
  • 定期的な開催:下北沢だけで250回以上開催
  • 道場に来た人が何か気づきを得て次の道場に繋がる

DojoCon

  • DojoCon JAPAN 2016を開催

    • 200〜300人規模のカンファレンス
    • 運営者パネルディスカッション
    • 全国に仲間・友達を見つける(作品発表・コンテストなども同時開催)
  • DojoCon JAPAN 2017 が11/4に開催される

なぜ続けるのか?

  • 参加する理由

    Google先生に学び、ドットインストールで学び、CoderDojoで学んでWebサービスをつくった小学生

  • 手伝う理由

    • 大学生:学ぶことに対するモチベーションが上がるから
  • 始める理由

    • 岡山南、中学一年生が近辺に道場が無いから設立しようと思って設立

まとめ(わたしの感想)

CoderDojoは海外で始まったそうですが、名前には日本語の「Dojo(道場)」が採用されました。

日本では2012年に下北沢で始まったCoderDojo。

5年間であっという間に100箇所で開催されるまでになり、さらに広がる勢いです。

頻繁に開催され、全国に広がっているのは、CoderDojoの取り組みが子どものパワーを引き出し、大人がそれに刺激を受けてのものかなと思いました。

活動の充実度、広がりは「コミュニティのお手本」といえるでしょう。

安川さん、ありがとうございました!

1番安川さんが塁に出て、2番打者はCoderDojo藤沢代表の向井アリーさんです。→ その2へ

*1:4人揃ったら「燃えよドラゴンズ」か「大友中カルテット」ですね。

匠Methodの良さを伝えて普及するには?(匠塾 2017年10月開催まとめ)

2017年10月12日(木)に匠塾*1に参加してきました*2

私は「匠Methodの良さを伝えて普及するには?」というテーマのチーム(通称ヘンタイチーム*3)に参加しました。

f:id:haru860:20141225221811j:plain

ゲームで楽しみながら学ぶ

チームでいろいろ話した結果、ボードゲームをつくると良さそうという方向に話が向かいました。

ゲームの内容について、以下のようなアイデアが出ました。

  • 人生ゲームのようなイメージ
  • ゲームをプレイしているうちに、価値から考える習慣がつく
  • シナリオが複数あり、その中でロールが設定できる
  • ゲームマスター(ファシリテーター)が1人いる

価値デザインモデルもつくりました。

f:id:haru860:20171022140002p:plain

ゲーム化により押しつけがましくなく、匠Methodのプロセスや考え方を楽しみながら自然に学べることが期待できます。ゲーミフィケーション*4を教育に活用する事例の1つではないでしょうか。

アイデアの導線

アイデアを考えるにあたり、以下の3つのゲームが参考になりました。

Not My Fault

エンジニアがPMに「オンスケです」とウソをつき続けるカードゲーム。

Not My Fault! ~俺のせいじゃない!~

Not My Fault! ~俺のせいじゃない!~

紹介記事:「進捗ヤバいプロジェクトに直面した経験がある人なら(多分)楽しめるカードゲーム「Not My Fault!」」

Fat Project

デスマーチとならないように注意しながら,クライアントの興味をひくようなITプロジェクトの要件を決めるカードゲーム。

紹介記事:「デスマーチを回避するITプロジェクトの要件定義ゲーム「Fat Project」がヴィレッジヴァンガード通販で発売。ブラックジャック風アナログゲーム」

「クラウド活用」「モノのインターネット」「人工知能」など、流行りの言葉や「過労死」「サポート切れ」「20万人月」などのつらいワードのカードが目をひきます。

7つの習慣

書籍「7つの習慣」を学べるボードゲーム。

7つの習慣 ボードゲーム ?成功の鍵?

7つの習慣 ボードゲーム ?成功の鍵?

公式サイト

Google Home、Amazon Echoを使ったソリューションを考える

他の3チームは「Google Home*5、Amazon Echo*6を使って何かやろう」とPepperに飽きた社長から鶴の一声でソリューションを考えるという設定でした。

今回は、Google Home、Amazon Echoというソリューションありき、つまり「Howからの突き上げ」*7(要求開発の用語では「戦略のリバース*8」も近いアプローチです)によるプロジェクトです。

各チームの気づき

各チームの振り返り発表や、懇親会でうまれたトピックをまとめておきます。

  • 方向性が決まるまでのファシリテーター

    さまざまなアイデアが出る中で、広がりそうなアイデアが出てくるまで、会話をウォッチしながら探る。広がりそうなアイデアが出てきたら、そこに食いつき深掘りする。「システムのデーモン*9のようですね」と高崎さんと懇親会で話していました。daemon*10はギリシャ神話に「守護神」で、ファシリテーターを「場の守護神」と考えると、イメージ通りではないでしょうか。

  • ファシリテーターの存在感がなくなるチーム

    ある盛り上がったチームに対して「ファシリテーターは誰だったんですか?」という質問がありました。「誰だっけ?いなかった!?」ということでしたが、実際は石田さんがファシリテーターだったようです。私も「ファシリテーター無色透明がよい*11」ということを良くいうのですが、本当に盛り上がるチームのファシリテーターは存在感がなくなるのかもしれません。

    また、先日「グラフィック・ファシリテーション」という手法について、オージス総研の赤坂英彦さんに話をうかがいました。

    グラフィック・ファシリテーションでは、はじめにファシリテーターが話の流れを絵に描き、そのあとはチームのメンバーがその絵を理想的なものに変え、ファシリテーターは何もせず場に任せるそうです。

    ファシリテーターの存在感がなくなる(いない)ということは、グラフィック・ファシリテーションのファシリテートに近いのかもしれません。

  • 該当のモデルを特定せず話しあう

    匠Methodの価値デザインモデルをやろう、価値分析モデルをやろうということではなく、盛り上がって話した内容をモデルに配置していったら自然に2つのモデルが出来上がったそうです。

    このチームは70分という時間の中で、2つのモデルを完成に近いレベルまでつくっていましたが、この方法は2つのモデル(価値分析モデル、価値デザインモデル)を別々につくるよりもスピードが上がりそうです。

最後に

今回はチームの課題が「匠Methodの良さを伝えて普及するには?」だったので、マーケティングの話になるかなと予想して参加したのですが「ゲームをつくる」という思ってもみなかった方向に話が進みました。

このように、匠塾ではチームで課題に取り組むので、人と話しているうちに思ってもみなかったような知識や学びが得られます

プロジェクトでは、チームでアイデアを話し合い、合意形成し、進めていく場面が多々あると思います。

そのような場面で、思うがままにブレストをするよりも匠Methodを用いて進めたほうが、何倍も速くチームメンバーが納得のいく合意形成につながります

匠塾は、そのような場を疑似体験できます。ときには話がうまく進まない場面にもなりますが、その雰囲気を疑似体験しておくと、実践では落ち着いて対応することができます。

チームの合意形成に課題をもっている方は、参加してみてはいかがでしょうか。

※匠塾は招待制の勉強会です。匠Methodに興味があり、匠塾に参加してみたい人は、にFBメッセージでお声がけください。

匠Methodについて書かれた書籍はこちら

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

*1:毎月開催されている招待制の匠メソッドを学ぶ会です。株式会社アクティアCOO 高崎健太郎さんを塾長とする有志によって開催されています

*2:会場は前回に引き続き、NTTコムウェアさん(品川)でした。

*3:固定的にテーマを構えるのではなく、議論したいテーマを自由に見つけて、それに応じて態を変えるという意味で「ヘンタイ」。異常という意味の「変態」ではない

*4:課題の解決や顧客ロイヤリティの向上に、ゲームデザインの技術やメカニズムを利用する活動全般

*5:グーグルホームはユーザーがボイスコマンドを喋ることで搭載されている「Googleアシスタント」を通じてサービスを起動させる事ができる。グーグル社製とサードパーティー製の両方の多数のサービスが統合されており、ユーザーが音楽を聴いたり、ビデオや写真を見たり、声で最新ニュースを受け取ることが出来る。グーグルホームはホームオートメーション機能を備えており、ユーザーのボイスコマンドでスマートホーム家電を操作することが出来る。複数の部屋に置かれたグーグルホームの音楽の同期再生が可能であり、2017年4月のアップデートで最大6人のユーザーの声を識別可能な複数ユーザーサポート機能が追加された。WikiPediaより

*6:エコーは音声コントロールのAIアシスタントのAlexa(アレクサ)に接続しており、名前のアレクサで反応する。「起動ワード」はユーザーによって「アマゾン」、「エコー」、「コンピューター」に変更可能である 。エコーは音声交流や音楽のプレイバック、to-doリストの作成、アラームの設定、ポッドキャストのストリーミング、オーディオブックの再生と天気や交通情報、リアルタイム情報などの提供ができる。また、エコー自体をホームオートメーションハブとして使用し複数のスマートデバイスを操作可能である。WikiPadiaより

*7:技術、ソリューションありきで、要求を創り出す、イノベーションを産み出す考えかた

*8:戦略からスタートして課題レベル、実行レベルに落とし込むのではなく、はじめに課題ありきでスタートしたプロジェクトにおいて、その課題の解決が企業戦略のどれに該当するのかを逆に辿るプロセス-「ユーザーの役に立つシステムを作る 本当に使える要求定義[改訂版](日経BP Next ICT選書)」P.31より

*9:UNIXなどのマルチタスクオペレーティングシステム (OS) においてバックグラウンドプロセスとして動作するプログラム

*10:dameon(守護神)とはギリシャ神話に登場し、神々が煩わされたくないと考えた雑事を処理した存在。WikiPediaより

*11:私は「ファシリテーターは意見を言ってはいけない」いうと意味でこの言葉を使っています。ファシリテーターが意見を言い、メンバーの意見の振り分けをすると、場をコントロールしてしまい、言っても聞いてくれないというような雰囲気が生まれ、メンバーのモチベーションも下がり、新しい発想がでてこなくなるためです。

今データサイエンスが必要とされる理由とPythonの役割〜BPStudy#121 その2

2017年9月26日にBPStudy#121が開催されました。

第2部は、辻慎吾さんにお話いただきました(※第1部はこちら)。

資料はこちら(PDFファイル)です。

f:id:haru860:20170926201302j:plain

以下は私のまとめです。

データサイエンスについて

データサイエンスとは

WikiPadiaによると、"data-driven science"(データ駆動型サイエンス)である。

サイエンスとは
  • (1)仮説を立てる
  • (2)仮説を証明するために実験や観測によってデータを収集
  • (3)データを解析して仮説を検証

(1)〜(3)を繰り返し、普遍的な原理を導き出す

  • 例1:フックの法則(F=-kx)
  • 例2:DNA配列
データサイエンスでは、とにかくビッグデータを集めることが重要
  • ヒッグス粒子の発見(Pythonを使用)
  • Webのユーザーの行動履歴
  • IoT(地理情報を含む行動履歴、エネルギー消費量など)
データサイエンスの必要性

データから普遍的な何かを導き出すこと

Pythonとデータサイエンス

  • データサイエンスの実際(プロセス)は、さまざまなこと実施する

    • データの収集と前処理
    • 統計解析
    • 後処理と次の計画 
  • さまざまなことを実施する必要があるので、各プロセス共通で汎用言語Pythonでデータサイエンスを実践できる価値は大きい

Pythonの急成長
データサイエンスで使うツール、言語のPython以外の選択肢
  • SAS
  • Mathematica
  • Matlab
  • R

※Pythonが唯一、オープンかつ汎用

Pythonはglue(のり)言語

scikit-learn、matplotlib、NumPy、seaborn、jupyternotebook、SciPy.org、pandasなど、Pythonを中心にして、オープンなエコシステムがある。

良いものをどんどん取り入れ進化が加速している。

Anacondaがおすすめ

Continuum Analytics社が配布するPythonパッケージ

RとPythonの比較
  • Google Trends でも、「Python data science」と「R data science」では、Pythonの方が上。(Rもdata scienceで中心的な存在)
  • それぞれの特技はある。Rは統計に強い。マニアックな統計関数が用意されている(Hosmer-Lemeshow検定など)

サイエンスと再現性

  • 2006年、Nature Medicine誌に掲載された論文

    • 辻さんは、教授に論文の再現を命じられた
  • 複雑な計算方法の詳細がかかれていない、業界の常識的な方法論で試す→再現しない

  • そのうち、世界中の研究者が疑い始めた
  • 完全なデタラメだった
サイエンスには再現性が重要

解析を完全に再現するには、オープンな基盤が必要→Pythonはオープンな基盤→再現しやすい

  • 「オープンサイエンス」という動きもある

データサイエンスで、なにがどこまでできるのか?

データだけで、普遍的な原理や知識を導き出せないことも多い。

  • 自然言語処理

    • 恋愛の相談→意味を漠然と捉えることはできた。が、しかし、漠然と捉えられただけであり有用かは分からない
  • 多様体仮説(学習)  

    • 計算してデータを加工するのは計算機、推測するのは人間

まとめ(私の感想)

辻さんには、データサイエンティストの立場から「なぜデータサイエンスでPythonなのか?」を説明いただき、その理由を知ることができました。

  • データサイエンスでは、データの収集と前処理、統計解析、後処理など、さまざまな作業を実施する必要がある。これらを共通の言語でできる価値は高い
  • サイエンスでは再現性が重要。Pythonはオープンなので再現環境をつくりやすい
  • データサイエンスのジャンルで、Pythonを中心として、オープンなエコシステムができている。良いものを次々と取り入れ進化が加速している

私も「なぜ、Pythonなのか?」を説明する場面がありますが、上記の理由を使わせてもらえればと思います。

辻さん、ありがとうございました!