べにやまぶろぐ

技術寄りの話を書くつもり

Mac でコーディングする人は「スマート引用符とスマートダッシュ」を OFF にしようという話

突然ですが問題です。

下記の一見同じに見える二つのクエリ、実は意味が異なるのですがその違いがわかりますでしょうか?

-- クエリ1
SELECT * FROM customers
WHERE customer_id IN ('0001', '0002', '0003', '0004');

-- クエリ2
SELECT * FROM customers
WHERE customer_id IN ('0001’, ’0002', '0003', '0004');

これでわかったらかなりの選球眼の持ち主です。

それでは試しにシンタックスハイライトをかけてみましょう。

-- クエリ1
SELECT * FROM customers
WHERE customer_id IN ('0001', '0002', '0003', '0004');

-- クエリ2
SELECT * FROM customers
WHERE customer_id IN ('0001’, ’0002', '0003', '0004');

いかがでしょうか?これでもよく見ないとわからないと思います。

正解は、クエリ1の customer_id の一致条件が 00010002000300044パターンなのに対し、クエリ2は 0001’, ’0002000300043パターンだということです。よく見るとクエリ2の IN 句内の最初のカンマが文字列の一部になっているのがわかると思います。

明らかに意図したクエリになっていないのですが、なぜそもそもこんなことが起きるかというと問題は Mac 標準の入力サポート機能にありました。

「システム環境設定」から「キーボード」を開くと「ユーザ辞書」のタブ内に「スマート引用符とスマートダッシュを使用」という項目があります。

f:id:beniyama:20150924232105p:plain

これが ON になっているとテキストエディタなどで SQL を編集した際に勝手にシングルクォーテーションや二重引用符を変換されてしまい、予期せぬ意味のクエリになってしまう可能性があります。

https://support.apple.com/kb/PH14294?locale=ja_JP&viewlocale=ja_JP によれば

まっすぐな引用符を体裁上適切な(「丸い」)引用符に自動的に置き換えます。

とあります。体裁上は適切かもしれませんがコーディング上は不適切なわけです。

自分のケースでは軽く Evernote 上でコピペと編集を繰り返しているうちに、上述のようなエラーにはならないんだけど意味が違うクエリが生まれてしまいました。検算して初めて問題と原因に気づいたので軽く冷や汗かきました。

ちょっとしたクエリなどは手元のエディタで編集して〜とやりたくなりますが、Mac を使われる場合はその前に一度キーボードの設定を見直そうというお話でした。

参考)

「学習ビッグデータ分析(LA:Learning Analytics)最前線 - グローバルな最新情報と学習理論からの考察 -」聴講メモ

先日、教育分野におけるビッグデータ分析の最先端トピックの紹介があるということで、表題にあります Asuka Academy 様主催のセミナーに参加してきました。

講演資料や動画は全て下記のサイトにて公開されています。

www.asuka-academy.com

放送大学の山田恒夫先生上智大学の田村恭久先生より講演がありましたが、両セッションを通して個人的に学びになったポイントおよび追加調査した事項を下記にメモしておこうと思います。

学習とは
  • 個体発生における環境への適応過程 (Adaptation)
    • 系統発生における適応は進化
Learning Analytics (LA) について
  • 定義 : Learning analytics is the measurement, collection, analysis and reporting of data about learners and their contexts, for purposes of understanding and optimizing learning and the environments in which it occurs.
  • 上流は配信、中流が LMS を使った学習ときて、下流が解析(= LA のフォーカス)
    • LMS (Learning Management System) : 学習教材の配信や成績の管理などを行うための学習管理システムのこと
  • フィードバックは学習者だけでなく指導者に対しても行われる
  • 認知の観点からみた学習スタイルの違い
    • Holist : 全体の構成の理解から入る(トップダウン)
    • Serialist : 逐次的に詳細を処理していく(ボトムアップ)
  • LA のアウトプット(一部抜粋)
    • Recommendation : 単元を戻って再学習を促すなど
    • Adaptation : 個々の特徴に応じた教材の組み替え
    • E-Portfolio : 学習者がどんなことができるようになったのかという証明
    • Prediction : 単位を落とした学生が留年・退学する確率の算出(大学運営の観点からも重要)
  • クライアントサイドのデバイス普及・技術進化により LMS では取得できなかったユーザの行動を記録できるようになった
    • ページめくりや心拍などの生体情報
  • 学習過程を記述し、再利用性を高めることで実験計画法による仮説検証の限界を超えられる可能性がある
    • ビッグデータ解析によるアプローチ
  • LA のデータ項目に関する規格
    • xAPI (Experience Application Programming Interface) : LMS ありきの学習に縛られずに多種多様な学習活動の履歴を記録・検索・抽出するための技術仕様。従来の e-learning システムの相互運用性を高めるために規定されていた SCORM (Sharable Content Object Reference Model) ではカバーできないユースケースを補完するために定義されている。
    • IMS Caliper : LA のフレームワーク。69 + 23 項目の例
    • 文科省・電通(非公開)
    • EDUPUB LA : 44 項目
情報源
参考

オレゴンに作ってしまった EC2 インスタンスを東京に移した話

自己紹介用のサイトをオレゴンに作ってしまった

大学で研究していた頃にいろいろな作品を製作していたのでそのポートフォリオサイトを作っておこうと思ったのですが、AWS の使い方をよく調べずにうっかり米国西部(オレゴン)リージョンにインスタンスを立ててしまいました。

f:id:beniyama:20150707181131p:plain

メニューは一緒でもまずリージョンを切り替えてから操作をしなければならないことに気づいたのは一通り起動し終わった後でした \(^o^)/

ちなみにオレゴンの場所はここだそうです。

流石に太平洋の距離は馬鹿にできなかったようで、日本からサイトを表示しようとすると画像の読み込みは目に見えて遅いですし、コンソールで操作しようとするとコマンド打って帰ってくるまでに明らかな遅延を感じていました。

英語コンテンツだから良い気もしていたのですが、日本からのアクセスの方が多いこともありましたので今回東京リージョンに移行することにしました。

移行対象となったサイトはこちらです。

beniyama.com

ほとんど静的&コンテンツの重要性も低いので冗長構成もとらず Web/DB/PHP (Wordpress) が1インスタンス (t2.micro) に収まっています。

リージョンをまたいだインスタンスの移行を試みる

インスタンス移行について調べてみると存外簡単にできそうな感じでした。

特に参考にさせていただいたのはこちらのサイト。

http://shakezoomer.com/?p=317shakezoomer.com

大まかな流れはこんな感じ。

  1. オレゴンでスナップショットをとる
  2. オレゴンから東京へスナップショットをコピー
  3. 東京でスナップショットからイメージを作成
  4. 東京でイメージからインスタンスを作成

とくにカーネル ID が大事!と書かれていたので移行元のインスタンス情報に目を凝らして見ますが

f:id:beniyama:20150707192112p:plain

ない!わからない!

疑問に思いつつもとりあえずデフォルトカーネルのまま立ち上げてみますが、上記サイト中でも言及されているカーネルパニックを起こして死んでしまいます。

ec2 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block

この後 Amazon EC2 CLI Tools をセットアップして カーネル ID を調べよう と試みましたが

$ ec2-describe-instance-attribute INSTANCE_ID --region us-west-2 --kernel

kernel INSTANCE_ID

とかなってやっぱりカーネル ID がわかりませんでした。そもそも CLI でわかるものはコンパネからもわかる様子。

そもそも仮想化タイプが違っていた

詰まってしまったので再度調べまわっていると同じように困っている人に遭遇。

stackoverflow.com

上記のようにカーネル ID を調査する方法を薦めていた人のコメントに追記があり、

edit: Just noticed this is an HVM; Not sure why you would want to make an image from a snapshot. If you create an image directly from the ec2 it will also create snapshots for you and then you can go to AMIs and make a new ec2 from the image you created and it will not ask for a kernel ID.

そもそも仮想化のタイプが HVM の場合はカーネル ID は関係なさそうな様子のことを言っています。もっと言うとスナップショット経由の必要はないとも。

そこで先ほどのインスタンス情報を確認してみると確かに HVM となっています。

f:id:beniyama:20150707192116p:plain

そして参考にさせていただいたサイトをよく読むと

SnapshotからAMIをつくって、ということをせずに、AMIをそのままコピーしてやればもっとすんなりいけました。

という追記を発見。

確かに手順を振り返ってみると、スナップショットからイメージを作成する際にカーネル ID に加えて仮想化タイプを指定する項目があります。

f:id:beniyama:20150707194502p:plain

ここで「準仮想化」ではなく「ハードウェアアシストの仮想化」を選んでカーネルはデフォルトのままで立ち上げたところ、少し時間はかかりましたが無事インスタンスを作成することができました。

スナップショットからイメージを作るべきではない

改めて手順を振り返ってみると、上述のコメントや追記にもあったように

  1. オレゴンでイメージを作成
  2. オレゴンから東京へイメージをコピー
  3. 東京でイメージからインスタンスを作成

とした方が上述の仮想化タイプの選択とか気にしなくて良いので確実です(イメージ作成時に自動的にスナップショットも作成されます)。

下記の「Amazon Machine Image (AMI) とスナップショットの違い」にもスナップショットからイメージ (AMI) を作成した場合、

アーキテクチャやカーネルの選択を誤ると正しく起動してこなかったり、動作が不安定な AMI が出来る可能性がある

とあります。

aws.typepad.com

仮想化タイプを問わず、インスタンス移行はイメージのコピーで実施した方が良さそうです。

HVM とはなんだったのか

余談になりますが準仮想化 (para-virtual VM) とハードウェアアシストの仮想化 (hardware-assisted VM) についてはこちらに詳しく書かれています。

docs.aws.amazon.com

HVM AMI は、完全に仮想化された一連のハードウェアを備えており、イメージのルートブロックデバイスのマスターブートレコードを実行することによって起動します。

PV AMI は、PV-GRUB と呼ばれる特別なブートローダーを使用して起動します。

HVM でカーネル ID が必要なかった理由は PV-GRUB というブートローダの仕組みに関係がありそうです。

Enabling User Provided Kernels in Amazon EC2 の「PVGRUB: A New Amazon Kernel Image (AKI)  」によれば、

To enable user provided kernels, Amazon has published AKIs that use a system called PVGRUB.  PVGRUB is a para‐virtual “mini‐OS” that runs a version of GNU GRUB, the standard Linux boot loader. PVGRUB selects the kernel to boot by reading /boot/grub/menu.lst from your image. It will load the kernel specified by your image and then shut down the “mini‐OS”, so that it no longer consumes any resources.  One of the advantages of this solution is that PVGRUB understands standard grub.conf or menu.lst commands, allowing it to work with most existing Linux distributions.   

とあり、 AKI に PV-GRUB 対応のものを指定することでそこから grub.conf / menu.list を読んでユーザが指定したカーネルを読ませることができるようになる、とあります。AWS 初期ではそもそもユーザがカーネルを改変することができなかった(AKI として別に管理されていた)という背景があるようです。

HVM はそもそも AKI を使わない = PV-GRUB AKI のカーネル ID が要らない という理解で良いのかなと思います。

docs.aws.amazon.com

Cluster AMI は PV-GRUB をサポートせず、また、必要としません。完全ハードウェア仮想化(HVM)が使用されるためです。準仮想インスタンスは PV-GRUB を使用して起動します。一方、HVM インスタンスボリュームは実際のディスクのように扱われ、その起動プロセスはパーティション分割ディスクとブートローダーを備えるベアメタルオペレーティングシステムの起動プロセスに似ています。

と書かれているように、物理マシンの直上に Linux をインストールしたときのようにイメージ内のブートローダから直接上がってくるとのことです。

詳しくは下記のサイトが参考になります。

kanny.hateblo.jp

まとめ
  • インスタンス移行はスナップショットから起こさずイメージで。
  • 仮想化タイプを確認する。HVM の場合はカーネル ID を気にしなくて良い。
  • システムログが真っ黒なときはまだ起動中。しばらく SSH できなくても辛抱強く待つ。

と書いていて、準仮想化のイメージをリージョンをまたいで移した際に、PV-GRUB AKI のカーネル ID の変換は誰がやってくれるのか疑問に思いました(同じカーネルでもリージョン間で ID は変わるため)。

転職します

3年3ヶ月働かせていただいたGMO インターネット株式会社を退職し、また別の事業ドメイン x エンジニアとしての役割にチャレンジすることにいたしました。

思えば元々 Nokia で組み込み系の研究職に従事した後一度大学に戻り、今度は何の経験もない Web の業界で働きたいと宣う奇特なミドルエイジを躊躇いもなく採用し、今日に至るまで育て上げてくれた次世代システム研究室には大変感謝しております。

個人的には今年のデブサミでの登壇発表が一つの節目であり、また手広く遊んでとっちらかりっぱなしの自分のスキルセットと今後の方向性を考えるきっかけの場でもありました。

beniyama.hatenablog.jp

これまでは初学者として良くも悪くも何の技術を触っても面白かったのですが、その結果どれだけの価値を社会にもたらすことができていたのか?と自問したとき、そろそろアプローチを変えなければいけないという思いを強くしました。

その結果が今回の転職なのですが、ポイントは教育というドメインに集中(フルコミット)することの一点に尽きます。組織横断の部署で様々な事業に携わった経験は間違いなくスキルの底上げになったのですが、一方でドメイン・体制・制度・取り組みを含めた没入感の限界も感じていました。技術とはまた違うレイヤーからの本質的なものづくりをしていくとき、この没入感は必須であると考えています。

ちなみに7月一杯はお休みして、8月から次の職場で働き出す予定です。昨日は色々な方にご挨拶させていただいたのですが、GMO のスタッフの方達は本当に気持ちの良い人がとても多い、という思いを新たにしました。また勉強会や金夜のバータイムなどで遊びに行けたらと思います。

3年前に採用面接受けた際に RoR でオンライン麻雀作りたいですって言って全然作ってなかったことを思い出したので、もしかしたらこの機会に着手してみるかもしれません。今後ともブログ共々どうぞ宜しくお願い致します。

f:id:beniyama:20150630232610j:plain

Chrome 拡張機能『今、どんな気持ち? for Facebook』を公開しました => 一日経たずに公開を中止しました

※ クマーは英語圏では幼児性愛の変態熊 (Pedobear) として認識されているとのご指摘をいただきましたので、広く公開することは不適当と判断し、当日中 (2015/6/7) にウェブストア・GitHubから取り下げました (参考)。


Facebook の『今どんな気持ち?』を見るたびに煽られてる感じがしてたので、いっそそのように書き換えてしまう Chrome 拡張を作りました。

Chrome ウェブストアはこちら。

このプラグインを入れた状態で Facebook の新規投稿欄を見ると

f:id:beniyama:20150607002054p:plain

これが例の AA になります。それだけです。

ソースは GitHub にあります。

例によってシングルページなので onHistoryStateUpdated 駆動が良いのかなと思いつつ、タイミングの問題か遷移後の書き換えがうまくいかなかったので今回は chrome.webNavigation.onCompleted を捕まえて書き換え処理をしています。(参考 : chrome.webNavigation - Chrome Developers

ただ一回の遷移に対して同一の textarea の再描画が複数回走っているように見えるのがやや気持ち悪いです。

『UX、デザイン思考、サービスデザインのためのユーザーインタビュー入門』参加メモ

最近、デザイン思考に興味を持ち始めてきたこともあって、こちらの勉強会に参加させていただきました。

uxd-hcd-waiwai-cafe.doorkeeper.jp

普段 UX 系ど真ん中なイベント(語弊があったらすいません)にあまり参加していないこともあって、デザイナーさんやサービス企画・リサーチに携わる人とお話しができて楽しかったです。UXD/HCD ワイワイCAFE というコミュニティのイベントで、過去にもとても面白そうなイベントをされていたことに今更気づいて後悔しております。もっと早く気づけばよかった。

イベントの内容としては、下記書籍の出版記念も兼ねているということで著者の方々が登壇されて実際にユーザーインタビューのデモンストレーション&解説があったり、参加者同士がワークショップ形式でそのテクニックを試してみたりしました。

その後にもパネルがあって懇親会と続いたのですが、このイベントでは常葉大学の学生の方々がグラフィックレコーディングという手法を用いてリアルタイムにどんどん議論を可視化していました。

例えばパネルディスカッションは

f:id:beniyama:20150523193323j:plain

のようになって、一目で今回のイベントの内容、議論の変遷や要点がわかるようになっています。そもそもそんな手法や研究分野があることを知らなかったので勉強になりました。

とはいえ自分なりにもいろいろメモしましたので、ここに書き残しておきます。

ユーザーインタビューのポイント(ライブデモ)
  • インタビューにかかる見込み時間を相手に伝えて安心感をつくる
    • その後盛り上がってももうちょっといいですか?で時間を延ばせる雰囲気作りに役立つ
  • 『気になっている事』はポジティブなことを思い込んでしまいがちだが、ネガティブなこともあるのでどっちでも大丈夫だという事を最初に明確に伝える
  • 次の質問などいろいろ考えて間ができそうなときはちょっとした言葉を挟んで沈黙しないようにする
  • 誰でもずっと見つめられたら嫌なので、メモをとりながら視線を外すこともする
  • 相づちなどの仕草はインタビューでは大げさにするくらいが良い
  • 自分がきちんと理解しているということを伝える・確認するために『おうむ返し』や『(はいかいいえで答えられる)クローズドクエスチョン』を挟む
  • クローズドクエスチョンだけだとただの選択式アンケートでも良いので、少し考えてもらわないと答えが出てこないオープンクエスチョンも使う
  • その人の考え方に寄り添って話を聞き出す、共感を伝える一言が大事
  • 脱線しそうであっても、一生懸命考えていってくれていることを否定しては駄目なので『ご自身のことを考えてみてください』などとして話を戻すのも大事
  • 笑顔で終わるインタビューが良い
  • 質問によって相手の思考が狭まってしまう事があるので、あえて迂回しながら聞くことも大事
  • インタビューのときは自己紹介をするのが基本
  • ここにいなかったら何をしているかなど、具体的にイメージしてもらうような質問も効果的
  • 『ごろごろしている』についておうむ返しするだけでなく質問を加える(ごろごろするのはなぜなのか?などもう少し聞きたいところ)
  • 相手の話を要約して租借しながら質問する
  • 一生懸命話してくれるときは声小さめでうなづく
  • 仮説をぶつけてみて現状を明確にする
  • 過去の時点について引き出した言葉を使って、未来についての質問をする
  • 会社目線の話から切り離して個人の視点に切り替えて話を聞こうとする時に間を使う
  • 『周りの人』ではなく『会社の後輩』や『同僚』というようにある程度具体的な言葉を使って聞く
パネルディスカッション
  • なんでこの仕事をしているのか?
    • 勝手に作られたものが多い、良いものを作りたい。人の事を知りたいと思って心理学を勉強
    • モノを作る前にいろいろ調べる = リサーチ
    • この会社で必要とされている UX デザインは何なのか、情報はたくさんあるけれど決めるのは自分
    • ユーザの顔が見えていない状況がわかるようになる
    • 毎回会う人が違う
    • 人に話を聞く方が安心していられる
  • インタビューはカウンセリングにも似ている
  • 想定外の事態(デジカメの電源を入れるのに40分かかる)など、計画通りにいかないことがある
  • インタビューの計画ができるようになるには時間がかかる
  • クライアントの意図を聞き出すこと自体がインタビュー
  • 話が合わなかったり盛り上がらないとき
    • 馬鹿のフリをする
    • 少しの反応に解釈を入れて話を広げて探る
    • 無口な若い男子のときなどはお母さんの立ち位置になってみて口を動かさせる
    • 相手とモードを合わせる(ハイな相手にはハイで接するなど温度差を意識する)
    • ただし自己一致していない:自分をつくっているとわかってしまうと相手とのコミュニケーションが崩れる
  • 人によって意味・鄭義の異なる言葉を聞き返したりして明確にしてみたりする

ワークショップ形式だと参加者同士でコミュニケーションが生まれて良いですね。あと、これらの手法や考え方はそのまま面接官にも適用できるのではないかと思いました。採用面接や評価面接もその人となり、または考えていることを聞き出すという意味では一種のユーザーインタビューなのでそういう業務をされている方々も一読の価値ありなのではないかなと。

ざっとメモ載せた感じですが、ワニ好きデザイナーさんのこちらのブログにはもっと丁寧にまとめられています。見習いたい。

takana8.hatenablog.com

『教育をハックする 教育×IT関係者で考える次世代IoTプロダクトをつくるテクノロジー教育の現場』聴講メモ

ここ数日、教育 x IT づいていますが SXSWedu の報告会 に引き続き今回はこちらのイベント、

http://peatix.com/event/82622peatix.com

に行ってまいりました。

先日の SXSWedu 報告会でもありましたが、イギリスのプログラミング必修化と対比して日本の技術家庭科でのプログラミング実習の話もあり、やはり教えられる先生が圧倒的に不足しているという危機感は共有されていました。また今回は SXSW (の Interactive) に関する話でより一層来年は参加してみたいと思える魅力的な講演でした。あと、基礎を教えて出口をきっちり見せると後は勝手に育つというのも印象的でした。

掲載の許諾をいただきましたので、以下講演メモです。

LEGO Education 正規販売代理店 Afrel 渡辺 登 様
  • 元々組み込み系、LEGO League Teacher Training の修了書も持っている
  • レゴマインドストームを活用した様々な活動を行っている
  • ET ロボコン : マインドストームを使いながら UML, MATLAB などのモデリング技術を学ぶ(社会人・大学生)
  • SMART DEVICE GP : リクルートが行っている学生向けコンテスト
  • はこだて未来大学はマインドストームを使ってシステムの要求定義などを学んでいる
  • ムサビデザインスタジオでもワークショップを行っている
  • キミのミライ発見 : 高校生に車のプログラミングの紹介。学校の先生が使いやすいように作った
  • Java for Students : Oracle がマインドストームを使って Java を教えている
  • 技術科の教材を作るなど、LEGO 社が作ったハードに Afrel が付加価値をつけて提供するビジネスモデル
  • World Robot Olympiad 2014
  • 霞ヶ関オープンデイ2014
  • Code for Japan 2014
  • Pile Drive : 小学生の子供達がタブレットを使いながらプログラミングできるような環境を提供する(東大発)
  • EV3 発表会では記者向け体験会を行ったりした
  • 順次・繰り返し・分岐・変数などを覚えていく
  • Arduino / RaspberryPi とマインドストーム EV3
    • EV3 はセンサー、モーター、フレームがあるのが良い
  • 日立ソリューションでワークショップを行ったりもした
  • ETロボコンを教えられる人も育成している
  • 5/17 にトレーナー研修会がある
  • コードでもっと幸せな国にする3年構想を抱えている
東京大学 産学連携本部 助教 菅原 岳人 様
  • アントレプレナーシップの教育者
  • TODAI TO TEXAS
    • 学生を連れて行くと教育効果が高い気がしている(教育をハックしているとも言える)
    • SXSW : インタラクティブだけで 1,100のセッション、2,377名のスピーカー、32,798名の参加者 (インタラクティブセッションのバッジは10万円以上)
    • SXSW Trade Show(4日間) : 568ブース、65,000展の出典
    • 斬新なアイデアやプロダクトがあるなら学生でもスタートアップでも試してみれば良い
  • 下川 俊成 氏 が TODAI TO TEXAS プロジェクト発足のきっかけを作った
    • OpenPool : Kinect を使って大乗にリアルタイム・プロジェクションマッピングするインタラクティブビリヤード
    • 2013夏 募集(〜11月), DemoDay(12月), SXSW出展(3月)
    • 2014 : 3チームを選抜・3チーム自費参加 : SKELETONICS / Moff / AgIC…
      • スケルトニクスがすごい評判だった・現地で超人気バラエティにも出演した
    • 2015 : 6チームを選抜・4チーム自費参加
      • 学部生 Trickey : カスタマイザブルキーボード
    • 電子情報機器学(通称びっくりドッキリメカ)
    • 基礎講義から自主作成まで。必ずイノベーションとは何かを教える。
      • 一度使い始めたら後戻りのできないハードウェアを生み出す事
      • 学生には基礎をしっかり教えて出口さえ示せば間は勝手に埋まる。
      • むしろそれ(つくっているもの)はイノベーションなのか?を何度も自問自答させる事が大事。
    • 東大はものづくり講義が充実している
    • 出展と同時に強制クラウドファンディング
    • 毎日100名くらいの来場者とインタラクション(開発者の学生さんにとっては初めての米国旅行だった)
    • NASA で3Dプリンタ作っている方が通りすがってコメントをくれたりする
  • 参加した学生の感想
    • 良い意味でクレイジーな、世の中を変える人たちの世界がわかった
    • 技術(だけ)ではなくてアイデア一本で世界が変えられることがわかった
    • 人に使ってもらう、買ってもらえる HW を作るのは難しい
  • 自分の作りたいものから世界に影響を与えるものへギアチェンジさせうる、ものづくり教育の一旦を担えないか?
  • SXSW は行くと人生観が変わる。特に TradeShow が重要 : ガチなイノベーターと4日間対峙すると誰でも考え方を変えざるを得ない
LITALICO Qremo事業部 島田 悠司 様
  • LITALICO 3年目でネット通信方式の研究をしていた
  • 小中学生の 6.5% に発達障害の可能性があると言われている
    • 学習や行動面に著しい困難
    • ハリウッドスターや発明家などの中にも識字障害を始めとする発達障害を持つ人がいる
  • Leaf : 多様な子供達に合わせた学習支援
    • ガンダムなど、それぞれの子供が興味のあるものに題材を置き換えて算数を教えたりしている
  • qremo : 興味関心を伸ばすデジタルものづくり教室
    • iPhone アプリを作ってもらうワークショップを行ったとき、学校のクラスで集中できない子供が3時間没頭がきっかけ
    • ソフトウェア・ハードウェア・デザインに横断して触れられるような機会の提供
    • レーザーカッターや 3D プリンタも使っている
    • 数学的に難しい弾幕シューティングを作って来たりする子供もいる
    • 解説1年で生徒数300名、77%が小学生、小学校・低学年が中心(未就学時もいる)。2歳児がタブレットのアプリから 3D プリンタを使ったりしている
  • 小学生の 65% は今存在していない職業に就くと言われている
    • そもそもどんな世界が来るかわからないので今ある知識を総結集して将来を生きる力を教える事が大事
  • 一つの答えを出す知識の教育は終わるのではないか、これからは新しいものを生み出せる力が必要
  • プログラミング教育の本質は創造性を高めること。qremo が目指していきたいのは新しいものをつかって新しい答えをつくりだす力
パネルセッション
  • 10年前、プログラミング教育はどう違っていたか
    • ここ5年くらいで arduino が出て来てだいぶ変わった
    • 組み込み業界がむしろ取り残された
    • 高校生以前に教育を受けてきた人たちはそもそも人種が違う
    • 大学で学ぶ知識は10年もすれば陳腐化する
    • 高校でプログラミングを教えられる先生がそもそもいない。趣味でやっている先生か、あるいは工業高校か工専でしっかりやっているかというのが現状。
    • 学生の IT リテラシー(プログラミングスキル)についても大学に入る前でだいぶ差がつきつつある
    • ライトな層がプログラミング(教室)に関わりつつある、例えば Drone や Pepper を使って開発をするのが子供達のステータスになりつつある。
    • 親の影響も要因だが、今は子供も自分でネットで調べて知識を吸収できる。
    • Minecraft はやはり流行っている
  • 海外との違い
    • マインドストームは普及度合いでアメリカとの差が激しい
    • 中東ではソフトウェア開発を政策としてやりつつあるが、日本ではそういう話が出ていない
    • 大きくなったスタートアップ (Facebook / Google など) の社長はエンジニア出身で、政策にも影響を与えている
      • 日本はエンジニア社長が少ないため経済界におけるエンジニアリングの重要性の認識が海外に比べて劣る
      • 日本は特に HW が絡む部分はまだ戦える
    • イギリスに続いてアメリカもプログラミング必修化が進んでいる。日本も文科省が動いている。
      • 海外では答えではなくクリエイティブさを評価しており、点数化しなくても OK という文化だが日本は必修科した場合は違うだろう。
    • TODAI TO TEXAS に行くメンバーは demo day の審査基準による
      • プロトクオリティ、インパクト、SXSW らしさ(審査員が全員 SXSW 経験者で SXSW に来るような人がまだ見た事ないであろうものを知っている)
  • 生徒が作って驚いたもの
    • マインドストームを使って義足を作ると言った生徒がおり、さらに足りない部分は 3D プリンタで作った
    • 作る過程を重視している、Trickey は過程の中で50個以上いろんなアイデアを出している
    • レシピをクラウドからダウンロードしてシェイカーを動かすハッカソンもあった
      • 例えば Moff には加速度センサしかないが、クラウドと連携することで価値を付加する
  • 子供達のクリエイティビティ
    • iPhone はゲームデバイスではなくツールとして与える
    • 情報系でない先生は講義も大変
    • スマホは GW としての役割・ラストワンマイルを補填することができる
    • WiFi の電波に関するアイデアが出てくるなど、大人が意識していないようなものが見えている
  • 中学校の技術科ではプログラミングが必修になっているがサポートが必要
    • 私立は良いが、公立は専門の先生がいない・プログラミングの面白さを教えられない
    • 先生がプログラミングの実習をスキップしてしまうのでそこを LEGO 社含め何とかしようとしている
  • マインドストームをどのように教師などに教えているか
    • 鳥人間などは顧問の負担が大きいので関わる先生がそもそもいなくなってしまう
      • 教員評価につながらないところを何とかやるように啓蒙する
      • 大学の先生の仕事は部屋で区切られてしまうので、誰かが辞めても引き継がれない可能性が高い
    • Kickstarter にしても基本的に参加者にやらせる、が大人お尻をふいてあげることも大事
    • もぐらたたきなどのようにやりたいと思えるテーマありきで、その中でポインタなど必要な技術を使えるようにしている
  • 生徒をより成長させるためのポイントは何か?
    • 子供達にあった教育、カリキュラムがあったとしてもそこから外れる子供の受け皿が必要
      • すてきな勘違いをしながら背伸びできるのは大事
      • 完璧を求めないでまず始めている人は面白そう、カチカチの事業プランやっている人はあまり楽しくなさそう
    • 普通だったらしゃべれない人としゃべらせるようにする。想像もできないような機会をどれだけ与えられるかに注力している
  • 子供達の間のコミュニティ作りをどう支援しているか?
    • 3人一組でペアプログラミングをやってみた。子供達でも学びがある。チームで作っていく楽しさと難しさを痛感しているようだった。
    • コミュニティとチームワーキングは別の話
      • チームワーキングは誰であろうと難しいが故に学びがある
    • Scratch でつくったプログラミングをシェアして皆がまた改造してという文化が成り立ちつつある
      • ロボコンは競争でシェアではないが、同じ課題に対して複数のアプローチがあることを学ぶことができる
      • ロボコンで自分の子の写真・ムービーだけを撮ってばかりいたら相手を研究できないと子供に怒られた親御さんがいたり、負けて学ぶということもあるので競争の場は大事
    • 大学生は利害関係もなく我が強い、イデオロギーが強くてコミュニティが発達しない
      • 競争の場を与えるとまとまる、大学生には競争の場が重要
  • それぞれが考える IT教育での成果とは
    • SXSW に行けるような子供達を育成できる事、スーパースターだけではなくいろいろな子供に理想の学びの場を提供できる事
    • 教育の成果の回収にはタイムラグがある、大学は最終教育機関なのでアウトプットが出るのは時間がかかる
      • 東大に入るのが官僚になるのではなく SXSW に行けるらしいということが目的になる、そして学生の底上げがされ5年後にグローバルな人材になると良い
    • 東大レゴ部に生徒が入ってくる、読み書きプログラミングと言われるような慣習化
  • 特定企業のリクルーティングに関与する事は悪い事と思われている?
    • インターンに参加させるなどは実質的にはやりづらいがインターンした先で最先端のことをやれるべき
    • シンガポール国立大学はスタンフォードと提携しており、授業を受けてベンチャーで働くと単位になる
  • ハッカソンについて
    • ベンチャー支援者という立場からいうと費用対効果は悪い
    • どちらかというと non profit / civic tech の方で効果を発揮するが、土壌が無いと価値のあるものはできない
    • 教育という意味ではレベル差のある人がチームワークをすることに意味がある。初学者が一緒にモノを作る体験を得る事ができる
  • 既に全てにおいて教師が生徒を上という状況に無い
    • ファシリテーションや発想法などそちらの方が必要になってくると思われる。エンジニアリング力を引き出す方に注力するべき
  • iPhone やアプリが当然だと思っていて裏側の仕組み・低級言語を知らない子供も増える
    • 将来的にそれを学習する機会はどんどん失われていくだろう
    • 開発系HWスタートアップなど競争力を出さないといけない方は低レイヤでのチューニングなどがより必要になる
    • 基礎教育としてやらないといけないか?これからの大学はそういった基礎をやる場になるかもしれない