ビスケットのあれこれ

ビジュアル言語ビスケット(Viscuit)に関するあれこれを書いてゆきます.

Scratchのここが嫌いだ(1)

2013-10-24 11:46:02 | 1
今までは,一般人に対するプログラミング教育の重要性を共に説いて行く仲ということで,表立ってScratchの批判はして来なかったのですが,安倍首相までがプログラミング教育を言い出したので,そろそろ良いかと思って,ちょっと書いておきます.(1)となっているのは,この先何回続くかわからないから.

コンピュータ科学を専攻している人は,この先を読む前に自分でScratchとViscuitを比較してみるのもよいかと思います.良い勉強になるはずです.

まず,こういうツールには(特に子供向けと言っているツール)伝えたいメッセージというのが必須です.

僕はViscuitを作ったときに子供たちに伝えたかったメッセージは
 コンピュータは君たちのものだよ
 こんなに可能性があるんだよ
ということでした.この二つをかけ算すると,この可能性を切り開くのは君たちなんだよ,ということです.

それと,逆にこれだけは伝えたくないというメッセージもあります.それは,
 コンピュータはこんなに便利ですよ
です.なぜこれを伝えたくないかというと,便利なのは誰か大人が作ったコンピュータだからです.「君たちの」とは真逆.それと便利さは教育的にはまずいことも多いです.例えば電子辞書は急いで意味を調べたいときには便利ですけれど,世の中の知の世界の広大さは全く伝わりませんよね.本棚に重くて分厚い全12巻の百科事典があって,そこに書かれていることの多様さに圧倒されたこと.そういう経験をして,10回か100回はその百科事典で調べたいものを調べて,その後じゃないと電子辞書は使ってはいけないと思います.今の大人が考えた「しょぼい便利さ」なんかで発想を狭めてしまわずに,君たちはコンピュータの本質からスタートして,もっとすごい便利なものを発明してもらいたいのです.

こういうことは,まあ文系的なというか素人向けに言ってるんですが,そういうかけ声だけじゃプログラム言語は作れませんよね.ちゃんとコンピュータの専門家向けに分解すると「どういう性質をどのようにして伝えるか」が大事になります.

まず「誰が作っても同じプログラムになるのはいや」でした.同じになっちゃうと,コンピュータは自分のもの感,自分で作った感が大きく損なわれます.

Scratchは最初に猫が出てきますが,まずそこが嫌いです.最初に絵を置きたい気持ちはよくわかるんですが.Viscuitを教えてて,特に高学年の男子に多いのですが,絵を描くのを極端に嫌う子がいます.他人に自分の絵を見られるのが怖いというか.この現象はそのまま大人の男性にまで及ぶのですが.こういう人を育ててしまっているのは美術教育の最大の課題だと思いますが.そういう人のために最初に絵を用意しておくと教えやすいというのは確かにあると思います.それから単に一斉に教えるときの技術的な問題として,時間が短くてロジックを重視して教えたいときには,最初に絵を用意された環境からスタートすることがあります.絵を描く時間は人それぞれまちまちなので,それを最初の方に持ってくると,描くのが遅い人を待たないといけないということです.それで,絵を用意することはあります.だけど,それは特殊なケースであって,基本は絵がないものからスタートします.

動いている絵がそもそも違うので,誰がやっても同じプログラムにはなり様がありません.

動き方の指定もそうです.Viscuitではメガネにいれた部品のずらし方で動きが決まります.その指定がアナログ的なので同じ動きにする方が難しいです.Scratchだと10ステップ前へ動くというやつですが,まず数値で表現しているのもあれですし,初期値として10が入っているというのもあれです.

Viscuitでは初期値に関してはかなり気を配っています.絵を描く画面で実は最初に選択される色はランダムです.もう少し正確に言うと,明度と彩度は0.5から1の間のランダム,色相は360度のランダムです.これらの幅はViscuitの初期設定で変えられることができて,どんな初期値でやればどのように全体の作品が変わるか,ということも実験できるようになっています.ただ24bitの色をランダムに割り振ってだと,こんなに奇麗にはなりません.

なぜそうしたかというと,絵に深い関心のある人は,初期値の色なんて関係なく自分の選びたい色を選ぶのですが,絵にあまり関心の無い人は,最初に選ばれた色を何も考えずに使います.そんな人たちばかりが集まって作品を作ったとき,全体として色のバランスがとれるようになっています.

線の太さは,わざと太めの初期値にしています.幼児がクレヨンで描くくらいの太さです.この太さだと,誰が描いても上手く描けないので,絵の下手さがバレないというのもあります.僕らは普段は線の太さを変える方法をわざと教えていません.太さが嫌な人は,一番最初に線の太さを変える機能を探すことになるのですが,自分で見つけ出す,というのは結構重要で.子供は自由に勝手にやりますけれど,少し大きくなると,言われたことしかやらなくなりますから.必要な機能は自分で探せ,というのはコンピュータに対するもっとも基本的な姿勢ですよね.

自分で作った感を大切にしつつ,出来上がった作品はなんか上手く行った.これが裏で支える技術の重要さってものです.

Scratchはあまりその辺はこだわっていないですよね.だけどできた作品は,もちろん手をかければオリジナルっぽくなりますけど,さらっと作るとみな同じになっちゃいませんか?

プログラミング言語の話なのに,どうしてこんなに絵のことばかりかというと,例えば文字の言語だったらキャメルケース(BlueFishみたいな書き方)かスネークケース(blue_fishみたいな書き方)とか,インデントの段数とか,そういうこだわりに相当すると思ってください.

Scratchの悪口というよりViscuitの宣伝になってしまいそうですが,(2)に続く.

最新の画像もっと見る

9 コメント

コメント日が  古い順  |   新しい順
はじめまして! (ドロマス)
2013-11-14 07:21:11
とても感動しました!!

僕はScratchそのものが大嫌いで、これからの教育でこんなソフトが使われでもしたらと悲しくなり、自分以外の批判的な意見を記事を読みたくてたどり着きました。

viscuitは、ここに来て初めて知りました。検索をかけて、こんなのもあるんだと思い、記事に戻ると、作者さんであったとのこと。

僕はさっそく悪い癖で覇権争いか何かの怒りかな? と思ったんですが、大きな間違いでした。
絵を描くことから始まること、線の太さ、また色がランダムで出ることのこだわりに感銘をうけました。

僕も近い理由で、scratchの猫の絵が嫌いです。
理由は、それが誰から見ても猫にしか見えないから。

そもそも、こんな子供だましを教材に使うことがゆるせません。児童の気持ちを考えた気になり、これならば児童がとっつきやすいという思い込みによって作られたものです。
子供達は、ほんの一時、scratchに触れますが、プログラミングに興味を持ったからではありません。

そもそも大人もscratchをまるで良いものだと思わないのに、子供にさわらせることが許せません。誰も、あのころscratchを学んでおいてよかったなと振り返ることはないでしょう。
たとえば、その道に歩まなかったとしても、リコーダーの授業は、音楽を体験するために、無駄だったとはとても思えません。
しかし、scratchを触った時間は、いったいなんだったのでしょうか。本当にただの子供だましです。
とっつきやすさの面では子供だましであっても、本質的なところでは、大人が感心するものでなくてはなりません。
つまり、子供が、本当の意味で騙されてなくてはいけません。

全ての大人が、くだらないと思い、どのプログラマーも障る気になれないscratchを、子供に体験させることに何の意味があるのでしょうか……。


viscuitは、これでプログラムを学ぶとかの以前に、すばらしいソフトだと思いました。
残念ながら・・これは残念ながらなのですが。viscuitでは、自分が想像できなかったような奇跡が、画面の中で起きてしまいます。
誰にでも起こせてしまえます。

プログラミングはせめて、自分が命令に対して、自分の思い通りに動くことで喜ばなくてはなりません(いや、実のところはわかりません。)
しかし、どうしても自分の考えうる範囲から飛び出したくなってしまいます。

この弊害をたとえるのに、ゲームになってしまって申し訳ないのですが。ぷよぷよをご存知でしょうか。これはパズルゲームですが、一種のアルゴリズム的なものの学習も可能です。これからプログラミング学ぶ人たちにとっての、入り口としてぷよぷよで遊ぶことが、全く何の足しにもならないとは思いますが、プログラムやアルゴリズムを抽象的に理解させるために扱うならば、適していると思っています。
それは、ぷよぷよの世界には現実にあるような重力があり、下のぷよぷよを横から消すことで、落下させ、落下したぷよぷよがまた消える、連鎖という現象を起こせます。
この連鎖の仕組みを理解することはわりと困難です。
しかし、順調に学んでいけば、確実に覚えられるものですし、初期配置をみただけで、どのように消えていくかを追うことだって可能です。

つまりぷよぷよは、その初期配置がコードとなります。実行することでコードそのものが変化して行きますが、どの瞬間を切き取っても、それは絶えずコードでありつづけるのです。コードは徐々に短くなり、最後には全て消えてしまいます。

しかし、もうひとつの遊び方があって、多くのプレイヤーがその罠に陥り、成長をやめてしまいます。
でたらめにぷよぷよを組み立てて、ある程度たくさんたまったろころで消すと、いわゆる、vicuitで話したところの奇跡が起こるのからです。
苦心せず積み上げたぷよぷよですが、花火のように消えていく様は爽快です。


viscuitは、プロのデモンストレーションによって、あるいは今までにそれで作られた作品をみせることによって、児童はviscuitが無限に秘めている可能性を目の当たりにするでしょう。
計算しつくされたオブジェクトの配置や、傾きが、生み出すものは、Scratchでは起こりえない芸術になるからです。
Scratchを子供に触らせるなら、デモンストレーションなどはせずに、最初に猫の絵を見せるにとどめておいたほうがよいでしょうね。
Scratchで開発されたものを見せれば見せるほど、子供はプログラムに興味がもてなくなるでしょうから。


viscuitには惹かれる要素がたくさん詰まっていました。(それがプログラムの興味や、理解につながるとは別にしてですが。)
また、アプリケーションの扱い方を学ぶにも、これ以上ないぐらいのソフトだと思います
返信する
教育に使うのは反対・・・だけど (ドロマス)
2013-11-14 07:23:08
僕はプログラミング教育にもコンピューターを学ぶにしても、そもそも反対の立場なのですが。根本的な部分で意見が違っているにしろ、教育現場でのviscuitがどう扱われるべきかという見解があれば、伺ってみたいです。
(僕はもしも、パソコンを使った授業があるなら、タッチタイピングや、文章を打つ早さを学ばせたり、パソコンを扱うときの姿勢。を、教えることが重要だと思います。10年も20年もパソコンを使っていて、タッチタイピングが出来ない人がいるのは本当に悲しいことです。これは義務教育で学ばないからではないですか?)
もしかしたら、他のページで詳しく書かれていることかも知れませんが。viscuitと作者さんの思想に興味をもったので、これからいくつかの記事を読んでみようと思いますが!!

僕はやっぱり、教育現場で扱うには難しいソフトであるとも思います。viscuitでは直感的な操作と、極めて単純な命令によってですが、行われることは複雑です。

(教育の)カリキュラムは、どんなに出来の悪い先生にも、子供に感動を与えられるように作られているべきですからね。
返信する
viscuitガンバって! (ドロマス)
2013-11-14 07:24:51
viscuitがScratchに勝る、最も重要な点は進展性です。
これがプログラミング言語だというのなら、実行してみたい命令は全く足りていません!!
子供たちは尺取虫を、サイクロイド曲線で動かしたがっていますよ。

もっともっと大規模なプロジェクトになる要素が秘められています。これには十何人かの開発になるでしょうが、企業は新しい商品が発売されるたびに、たった数秒のイメージを作らなければならないことに苦労しているのです。

シェイプはもちろん、インパクトが与えられる演出が出来れば。それからもっとアイデアを試したり、一度使った演出の再利用ができればな~~。

位置によってグラデーションさせたり(ある一定のラインに近づくほど明度があがれば、そこに光が当たっているように見えますよね。)ライン自体が動いたり(ライン自体が、または、照らされたものが動いているようにみえます。)
一度作ったプログラムは、保管されている限り何度でもよみがえります。
もちろん、この前とは違った角度での実行も可能です!

いま大人たちが喉から手を出して欲しがるアプリケーションを子供だけで独占しているなんて……。


例えばですが、viscuitを紹介したいときに、それを印象付けるわずか1-2秒のイメージをはじめに表示してから、viscuitのロゴを出したいとします。

 海面に向かって3体くらげが浮かび上がって行き、それぞれの後を気泡がついづいしているアニメーションが、真っ白にフェードアウトしていく。そしてロゴが出る!
 というものだったとしますよ。

 そのアニメーション部分をviscuitで作ることが可能なのです。それも本当に手軽に!!


同じテーブルの中で遊べるのも魅力的です。
友達の邪魔をしたり(そういうことも出来るのかな?)、友達の描いた絵と並べて動かすことが可能なんて!!
見てください。この水槽に浮かぶ魚達は、プログラミング言語を使って会話しているようですね。

本当にviscuitが与えてくれるイマジネーションがつきることはありません。これならきっと教材としても応用可能なのではないですか?
私にはどうしても想像できなかったのですが、きっと良い方法があるはずです。
だからScratchではいやだ。もっともっとviscuitを売り込んで欲しい
返信する
コメントありがとうございます (原田)
2013-11-14 20:08:43
ドロマスさん,コメントありがとうございます.前のブログへのコメントも合わせて,そういう風に言っていただけると大変勇気づけられます.

実際に,子供たちにやらせながら教え方や遊び方の工夫をしているので,けっこういい感じになってきてます.

おっしゃっていることは,大体他の記事に書いたりしているのかな.僕も教育にコンピュータを導入するということは相当慎重に考えてますし.
返信する
scratchからきますた ((^ω^))
2013-11-25 22:34:37
scratchはゲームづくりにはいいじゃないか(迫真)
教育用ならVBでおk
返信する
scratch最高! (Unknown)
2017-12-18 17:17:23
biscuitはいいと思うけど、scratchのような複雑な動きは出来ない!
返信する
はじめまして! (Unknown)
2018-01-12 18:02:25
そもそも大人もviscuitをまるで良いものだと思わないのに、子供にさわらせることが許せません。誰も、あのころviscuitを学んでおいてよかったなと振り返ることはないでしょう。
たとえば、その道に歩まなかったとしても、リコーダーの授業は、音楽を体験するために、無駄だったとはとても思えません。
しかし、viscuitを触った時間は、いったいなんだったのでしょうか。本当にただの子供だましです。
とっつきやすさの面では子供だましであっても、本質的なところでは、大人が感心するものでなくてはなりません。
つまり、子供が、本当の意味で騙されてなくてはいけません。

全ての大人が、くだらないと思い、どのプログラマーも障る気になれないviscuitを、子供に体験させることに何の意味があるのでしょうか……。


scratchは、これでプログラムを学ぶとかの以前に、すばらしいソフトだと思いました。
残念ながら・・これは残念ながらなのですが。scratchでは、自分が想像できなかったような奇跡が、画面の中で起きてしまいます。
誰にでも起こせてしまえます。

プログラミングはせめて、自分が命令に対して、自分の思い通りに動くことで喜ばなくてはなりません(いや、実のところはわかりません。)
しかし、どうしても自分の考えうる範囲から飛び出したくなってしまいます。

この弊害をたとえるのに、ゲームになってしまって申し訳ないのですが。ぷよぷよをご存知でしょうか。これはパズルゲームですが、一種のアルゴリズム的なものの学習も可能です。これからプログラミング学ぶ人たちにとっての、入り口としてぷよぷよで遊ぶことが、全く何の足しにもならないとは思いますが、プログラムやアルゴリズムを抽象的に理解させるために扱うならば、適していると思っています。
それは、ぷよぷよの世界には現実にあるような重力があり、下のぷよぷよを横から消すことで、落下させ、落下したぷよぷよがまた消える、連鎖という現象を起こせます。
この連鎖の仕組みを理解することはわりと困難です。
しかし、順調に学んでいけば、確実に覚えられるものですし、初期配置をみただけで、どのように消えていくかを追うことだって可能です。

つまりぷよぷよは、その初期配置がコードとなります。実行することでコードそのものが変化して行きますが、どの瞬間を切き取っても、それは絶えずコードでありつづけるのです。コードは徐々に短くなり、最後には全て消えてしまいます。

しかし、もうひとつの遊び方があって、多くのプレイヤーがその罠に陥り、成長をやめてしまいます。
でたらめにぷよぷよを組み立てて、ある程度たくさんたまったろころで消すと、いわゆる、vicuitで話したところの奇跡が起こるのからです。
苦心せず積み上げたぷよぷよですが、花火のように消えていく様は爽快です。


scratchは、プロのデモンストレーションによって、あるいは今までにそれで作られた作品をみせることによって、児童はscratchが無限に秘めている可能性を目の当たりにするでしょう。
計算しつくされたオブジェクトの配置や、傾きが、生み出すものは、Scratchでも起こりえる芸術になるからです。
るでしょうから。

scratchには惹かれる要素がたくさん詰まっていました。(それがプログラムの興味や、理解につながるとは別にしてですが。)
また、ネットリテラシーを学ぶにも、これ以上ないぐらいのソフトだと思います
返信する
Unknown (原田)
2018-01-12 19:36:52
スクラッチが好きという方のコメントはどうぞご自由になんですが,ビスケットを触らせるのは許せないというコメントには反応せざるを得ません.そもそもこの記事は何年前に書かれたのかしってますか?いまのビスケットがどういうプログラムが作れるかしってますか?

一番新しい情報だと
https://devroom.viscuit.com/2017/12/14/post-1379/
こんなのがあります.小5の子供が迷路の最短経路のプログラムを作れる言語は他にありますか?
返信する
最短経路について (Unknown)
2019-05-21 00:48:14
普通にscratchで作れますよ
いまの(昔からそうですけど)scratchがどういうプログラムが作れるかしってますか?
返信する

コメントを投稿