レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

Scratch 2.0 オンラインエディタ で 「ひらがな(にほんご)」にできないバグの暫定対処

 Scratch2.0を使っていて、急にひらがなにできなくなりました。

 
ディスカッションサイトでも話題になっていて暫定対処法がありました。
 
■Discuss Scratch 
 

"オンライン版のScratch 2.0 #456で現在「にほんご」(ひらがな)が正しく表示されない問題が発生しています。 
当座の回避方法としては、Shiftキーを押しながら地球アイコンをクリックして、「import translation file」を選び、オフラインエディターなどに含まれるひらがなの翻訳ファイル「ja_HIRA.po」を読み込みます。" 

 
以下に、弊社が持っているpoファイルをアップしておきます。
 
 

自分向けにソフトウェアを作ったことがないエンジニアと自分向けに料理を作ったことがない料理人

いままで、ITエンジニア向けの研修で「自分向け(または個人的に)どんなものを作ったことがあるか?」をアンケートすると一番多い答えは「特になし」。「これからどんなものを作りたいか?」を聞いたときすら「特にない」と答える人がいる。

技術は仕事のために習得しており。役割になりたい(プログラマになりたい、コンサルタントになりたい)ということを原動力に学ぶ。

しかし、他のプロの職人(たとえば料理人)に、個人的になにか作ったことはあるかと聞いたときに「特になし」なんてありえるだろうか。
他の職人は、何かしら個人的に作りたいものや作った経験があって、作ったことによる喜びも知ってるはず。人に喜んでもらうこともその一つ。
作る喜びがわかってると、自ずと新しいことに興味がわいて学ぶ意欲がでてくる。参考書を丸暗記するよりも効果が高い。

プログラミング講師としては「作りたいものを発見してもらうこと」が、「個別の技術を教える」よりもはるかに成長の効果があると感じる。
子供向けプログラミング教育でも同じことがいえる。

デジタルネイティブ世代はきたのか?

2000年初旬ごろ「あと数年もしたら、デジタルネイティブ世代がくるぞ!おまえらなんか仕事なくなるぞ!

と、当時IT業界で働いていた僕らは驚かされたものだった。


さて現在、確かに若く素晴らしいクリエイターが一部には存在する。

しかし、僕らが脅威的に思っていた「世代」とは異なると感じる。


そういうことを漠然と考えており、高校生にプログラミングを教える仕事をして、わかったことがある。

「消費者」と「提供者」の違いが、現代ではものすごく大きな溝となって立ちはだかっているのではないか。


例えば、スマートフォンだ。

スマホタブレットはデジタルコンテンツ消費者のためのデバイスといえる。

一部アプリがクリエイトをサポートするものがあるが、あのデバイスの哲学としては消費者に最適化しようとしていたと思える。


一方、デジタルコンテンツなどの価値を提供する側のデバイスは、MacWindowsといったPC向けOSを有するデバイスではないか。



中学生、高校生、大学生、はては新社会人ですらキーボードは得意じゃない。
課題や宿題も、できればLINEで出したいと思ってるようだ。


キーボード世代とフリック世代

この格差が、とても大きくなっている。

消費者はスマホでフリックを使い、提供側はキーボードでブラインドタッチを使う。


インプットデバイスの違いは、言語の違いに等しいほどの溝を生んでる。


生まれてすぐにテジタル製品に囲まれた世代は
デジタルを消費することにはネイティブと呼べるけど
デジタルを提供することに対してネイティブではなかった


デジタルネイティブはキーボードが打てないが、Webのサービスのアカウントは覚えきれないほど持ってる。

かれらデジタルネイティブを、消費者一辺倒から生産的な価値感をもたせるだけで、ちょっと日本は変わるような気がする。


その課題意識から、こんなアプリを作ってみている

CODE写経
http://app.levelenter.com/s

子供向けプログラミング教育をやっていて辿り着いた先

先に結論を言えば、プログラミングのスキルの根底にあるスキルは「読解力」なんだなと考えています。

プログラム言語は、やはり言語なので、国語的能力がとても大事だということなんです。

2歳になる娘が日に日に言葉を覚えていく様子を見ていると国語の習得のステップとして、以下のようになると感じています。

  1. 単語を覚えるステップ(ルールを覚える)
  2. 人のマネをしてみる(例えば親や友達のマネで語彙力が上がっていく)ステップ(受動的なマネ)
  3. マネのネタを増やすに読書をするステップ(能動的なマネ)
  4. 自分らしい表現ができるようになるステップ(オリジナル)

こういうステップを経ていると思うんです。
親のマネをしたり、絵本を読んだりアニメを観たりしていく中で語彙力が上がっていきます。


守破離」にも通じる、学びの本質だと思うんです。


さて、僕は子供や学生に向けたプログラミングの教育をやっています。

彼ら彼女らの学習の変遷をみているとやっぱり類似するステップがあります。

  1. プログラミングのルールを知るステップ(ルールを覚える)
  2. ルールとお手本に従ってマネしてみるステップ(受動的なマネ)
  3. マネの積み重ねから改造による新しいアイデアが生まれるステップ(能動的なマネ)
  4. マネのネタとして、書籍やオープンソースなどの他人のコードを読むことでスキルアップするステップ(能動的なマネ)
  5. イデアを先にだして、実現する手段としてプログラミングがあるステップ(オリジナル)


そうです。国語の取得と完全に類似するステップを経るのです。


僕自身も文系上がりのSEだったので、すごく国語力に助けられたSE人生でした。

最初はプログラミングのルールを覚えるのに四苦八苦しました。
そしていろんなモノマネや写経をへて、少しずつアイデアが湧くようになり、アイデアありきで形にできるようになっていきました。

これらのステップの中で、「ルールを覚える」や「受動的なマネ」は大人や教師が与えてあげなくてはいけない部分だと思います。
ですが、「魚を与えるよりも魚の釣り方を教えよ」という格言に従うと、次の「能動的なマネ」ができるようにしてあげるのが大事だと思います。

プログラミングの世界で言えば、一流のプロレベルのスキルを習得するときには、現場作業だけではなくいかに多くの人のマネをするかが分かれ目になるように思います。

オープンソース読めとか、ネットコピペではなく本を写経しろとか、
プログラムの達人たちがいう言葉を言い換えれば、「プログラムの読解力」なのかなと思います。

しかし、単にプログラムソースを読むということだけではなく、国語的な読解力を身につけていくことは大事だと思います。なぜなら、プログラミングを行うことは自然言語とコンピュータ言語の翻訳だからです。


ということで、子供や学生向けに教育をする際にも読解力というスキルを身につけてもらうことを大事にしていきたいと思っています。

アフターシンギュラリティの世界を生きる人へ

シンギュラリティ(技術的特異点)は近いと言われている。
技術的特異点 - Wikipedia

技術的特異点(ぎじゅつてきとくいてん、英語:Technological Singularity)、またはシンギュラリティ(Singularity)とは、人工知能が人間の能力を超えることで起こる出来事とされ、テクノロジーが急速に変化し、それにより甚大な影響がもたらされ、人間の生活が後戻りできないほどに変容してしまうとする .

僕ら大人達は、恐れている。

しかし、我らが子供達は、シンギュラリティを必ず迎える。
子らには、それを乗り越えた先の世界で生きる強さを持って欲しい。

シンギュラリティを超えた先の世界に生きる人たちに、生きる強さを教えることは
大人の責任じゃないだろうか。


そもそも特異点など恐れることはない、いままでもコンピュータの方が僕らより頭がよかった。
10年前に書いた恥ずかしい日記を僕は忘れているが、コンピュータは覚えている。
僕らの声は、せいぜい100人にしか届かないけれど、コンピュータとネットワークを組み合わせると1億人にだって届けることができる。
僕らは、100ほどの計算をしたら頭が疲れてくるけれど、コンピュータは1秒に100万回計算してもへっちゃらだ。

そういう意味じゃあ特異点はすでに経験してるともいえる。


未知の何かに怯えるのは人間の性だけど、コンピュータが起こした大革命ならすでに経験してるじゃないか。

それはインターネットが革命を起こす前夜を思い出せばいい。
インターネットが多くの職を奪うだろうといわれた。
実際そうなったが、それ以上に多くの職が生まれた。


インターネットが出てきた時には、すでに人間はコンピュータに能力的に超えられているけれど、僕らは恐れてはいない。使いこなすべき対象なだけだ。


AIが発達したとしても、コンピュータが苦手な分野がある。

例えば子供だ。
子供向けの教育をして、自分自身も親になってわかった。
子供は論理のかけらもなく、合理性なんか無視の究極のカオスだ。
愛情がなければ、関わるのもめんど臭いだけの非合理の塊。

でも、可能性の塊でもあり、多かれ少なかれ愛を感じざるを得ない存在だ。

愛を理解できるコンピュータができるだろうか。
できるなら、それはそれで希望にあふれている。


コンピュータが非合理性を理解して、非論理的に動きはじめたときに
初めてコンピュータは人間を超えるかもしれない。

しかしながら、そうなってしまうと我々にとってその存在とは、
とても論理的で融通が利かないけど、ある意味愛するべき友人という扱いになるのではないだろうか。
だったら、僕は酒をのみながら愚痴を言い合いたい。


僕は、シンギュラリティの先に、ターミネータースカイネットの存在を感じるよりも、
ドラえもんや、攻殻機動隊タチコマの存在を感じるほうだ。

人が作るものだから、驚異というよりも希望なのだ。
そんな世界なら恐れることはないだろう。

それが完成だとしたら、僕らが生きているうちには来ないかもしれない。
シンギュラリティ以降も、しょうもないバグに悩まされそうな気配はプンプンする。


しかし、そういった超越していながらもまだまだ不完全な世界において、我々の子供達は生きなければならない。

だったら、ドラえもんに道具を出してもらう方法を知ってる子供を育てたい。
できれば、多くの人がのび太になってほしい。

道具を求め、課題を提示した時にはじめてドラえもんは、役に立ってくれる。
ドラえもんへの頼み方を知ろう。子供達にそう教えたい。


スマートフォンは、とても身近なコンピュータで、接する時間もながい。
だけど、その機能を使いこなせる子と、そうでもない子がいる。
それが経済格差になってしまう可能性もある。
だったら、それこそ教育の出番じゃないだろうか。

シンギュラリティを超えた世界A.S.0001年を生きる人たちを育てる教育。

しばらく、我々大人たちはそういったテーマで子供の教育に向き合わないといけないだろう。

それこそシンギュラリティを超えるころまでの。