スクラッチプログラミングをはじめよう|Scratch超入門編

スクラッチプログラミングをはじめよう|Scratch超入門編 スクラッチプログラミングをはじめよう|Scratchスクラッチ 超入門編ちょうにゅうもんへん
Scratch《スクラッチ》の超入門《ちょうにゅうもん》レベルの使い方が分かります。

スクラッチとは、アメリカにあるマサチューセッツ大学(以下、MIT)メディアラボのミッチェル・レズニック(愛称はミッチ)を中心に作られたプログラミング言語です。

元々はマサチューセッツ工科大学のウェブサイトの数ある1つに過ぎなかったのですが、今では大学本体のサイトよりも多くのアクセスを誇ります。

1日3万個以上のスクラッチ作品が投稿されており、ユーザーは2500万人以上いるという巨大なコミュニティです。

単なるプログラミング言語というよりも1つの「文化」と言っても過言ではありません。

スクラッチが世界中で愛されるプログラミング言語となったのには理由があります。

  • 理由1.よく言われるように、視覚的なブロックを組み合わせる簡単さと学びやすさが特徴的だから
  • 理由2.クリエイティブ・ラーニングに対する哲学があるから
  • 理由3.子供ごとに個別化された創造体験に重きを置いているから
  • 理由4.オンラインコミュニティの運営陣に本気の大人おとなが揃ってる点も見逃せない
  • 理由5.すでに発表から10年以上経ち、スクラッチ育ちの子ども達たちがどんどんクリエイティブな大人おとなになっている現実があるから
  • 理由6.貪欲なまでにシェアによる学びを追求しているから

そんなスクラッチをとことん研究&深堀りした上で、サクッとまとめました。
でも能書は後回しにして、とりあえずゼロから始めるスクラッチ入門編を見てみましょう。

ゼロからはじめるスクラッチプログラミング

今回は超入門編ということで、限りなくシンプルなスクラッチプロジェクト(※)を作ってみましょう。

※ スクラッチでは作品のことを「プロジェクト」と呼びます。

正式名称

Scratch

公開日

2019年1月2日(ver3.0)(ver0.1の初公開は2003年)

価格

無料、広告もなし

ダウンロード

あり。Scratchデスクトップ

今回作るスクラッチ

まずは今回の超入門編で作るスクラッチのプロジェクトを見てみましょう。

スクラッチプログラミングの例

↑この緑の旗をクリック(タップ)してください。プロジェクトが実行できます。そのあとに文字をクリックすると色が変わります。

スクラッチプログラミングをはじめよう|Scratch超入門編を語るPERRY PERRY

アカウントの作成はとりあえず不要です。継続して使ってみたい人だけアカウント作成をすればOKです。

作成手順

具体的にスクラッチプロジェクトを初めて作成する手順を、一緒に確認していきましょう。

所要時間: 10分.

 ゴールは、文字をクリックすると文字の色が少しずつ変わるスクラッチプロジェクトを作ることです。

  1. スクラッチのホームページを開こう

    スクラッチはMITのホームページで完結するため、何かをダウンロードしたりインストールする必要はありません。インターネット接続があればすぐに始められます。アカウントの作成すら不要です。

    スクラッチ公式ホームページ
    https://scratch.mit.edu/

    scratch公式サイト
    scratch公式サイト

  2. プロジェクト作成画面を開く

    画面左上の「作る」をクリックします。

    スクラッチを作るためのリンクの場所
    スクラッチを作るためのリンクの場所

  3. プログラミングページが開きましたか?

    プログラミングするためのエディター画面が表示されます。

    スクラッチのプログラミングページ
    スクラッチのプログラミングページ

  4. スプライト追加画面を開こう

    画面右下にあるネコの絵が書いてある青くて丸いボタンをクリックします。

    これがスプライト追加ボタンです。
    スプライトというのは、みんなの命令で動かすことができるネコや文字のことです。

    スプライト追加ボタン
    スプライト追加ボタン

  5. 文字のスプライトを選ぼう

    たくさんのスプライトが見えると思います。
    マウスを使って画面を下の方までスクロールしましょう。

    または画面上部にある「文字」というボタンをクリックすると、文字だけが表示されます。

    文字のスプライトを追加
    文字のスプライトを追加

  6. 文字が追加されましたか?

    文字のスプライトが追加されました。

    文字スプライトが追加されました
    文字スプライトが追加されました

  7. ネコを消す準備をしましょう

    大きいネコではなく、画面下部にいる小さいネコをクリックして選択します。

    ネコのスプライトを消す準備をします
    ネコのスプライトを消す準備をします

  8. ネコを消しましょう

    選択するとゴミ箱マークが表示されるので、ゴミ箱マークをクリックしましょう。
    これでネコが消えます。

    ゴミバクマークをクリックしてスプライトを消す
    ゴミバクマークをクリックしてスプライトを消す

  9. 色を変える命令を追加しよう

    さて、ここからいよいよ命令を書いていきます。
    画面左側に並んでいるのが命令ブロックです。
    コードと呼びます。

    まずは「見た目」と書いてある紫色のコードを、マウスをスクロールして探します。
    紫色のコードが見つかったら、その中から「色▽の効果を(25)ずつ変える」というコードを見つけてください。

    見つけたら、そのコードを真ん中の何も書いてないエリアにドラックアンドドロップします。

    コードをドラッグ・アンド・ドロップする
    コードをドラッグ・アンド・ドロップする

  10. 文字が押されたら色が変わるようにしよう

    次に「このスプライトが押されたとき」という黄色いコードを見つけてください。

    再びドラッグして、紫のコードに近づけます。
    カゲが現れたら、マウスを離します。

    イベントを追加する
    イベントを追加する

  11. 文字をクリックしよう

    文字をクリックすると、色が変わるようになったと思います。

    文字をクリックする
    文字をクリックする

以上が入門的なスクラッチの作り方になります。

チャレンジ問題

・色を変える数字をを大きくしたり、小さくしたりしてみましょう

ブロックの数字を変える

・「色の効果を25にする」というブロックと交換してみましょう。どんな違いがありますか?

ブロックを交換する

・人間のスプライトの色を変えると何が起きるでしょうか?

スプライトを追加する

今回のプロジェクトは公式サイトの「コーディングカード」に掲載されています。コーディングカードは下記URLにある「PDFをダウンロード」ボタンをクリックすると入手できます。

https://scratch.mit.edu/ideas

改めてスクラッチとは何か

いつどこで作られたプログラミングか、という情報だけではスクラッチが何なのかはピンとこないでしょう。

冒頭で述べたとおり、スクラッチが愛されているにはいくつかの理由があります。

  • 理由1)簡単であり学びやすいから
  • 理由2)クリエイティブ・ラーニングに対する哲学があるから
  • 理由3)学びの個別化に挑戦し続けているから
  • 理由4)オンラインコミュニティがすごいから
  • 理由5)ビジネスとしてではなく、学習ツールとしての実績がある
  • 理由6)共有による学びを大切にしているから

スクラッチを語る上で外せないポイントを1つずつ紹介して正確な理解につなげたいと思います。

理由1)簡単であり学びやすい

ミッチはTEDトークに出演した際にこう言いました。

若い人はデジタル世代だと言われているが、新しい技術を操作することに慣れているにすぎない。それはまるで文字を読むことができても書くことができないのと同じようなものです。

ミッチェル・レズニック

読めるけど書けないとは上手いこと言ったなと思います。

とはいえ、今まではプログラミングは限られた専門家のツールでしたから、それも仕方なかったのです。

それを変えてしまったのがスクラッチです。古い表現ですが、まさにIT革命だと思います。

専門家しか扱えなかったプログラミングを、幼稚園児や83歳の女性(ミッチの母)でも使える簡単な物にしてくれたのです。

簡単とはどういうことかというと、専門家でなくても「見たらそこそこ分かる」ということです。

そして学習すれば誰でも「使えるように」なります。プログラミング言語を学ぶような覚悟も、数学的なセンスも、不要です。

スクラッチプログラミングをはじめよう|Scratch超入門編を語るPERRY PERRY

引用元になったTEDトークも埋め込んでおきます。音声は英語ですが、日本語字幕が用意されているので、興味がある方はどうぞ。(YouTubeの字幕は画面右下の字幕マークをクリックすると表示されます)

理由1のまとめ

スクラッチは、誰にでも簡単に使えるレベルまで簡便化された気取らないプログラミング言語だから愛されている。

理由2)クリエイティブ・ラーニングに対する哲学があるから

多くのプログラミングが「プログラミングを学ぶ」ことを目的としているのに対して、スクラッチは「プログラミングで表現する」ことを目的としています。

どんなに高度なプログラミングができるか、正しくできるか、早くできるか、生産性を高められるか、という一般的な上達は重要ではありません

それよりも「何を作るか」「なぜ作るか」といったことを大切にしています。

例を挙げておきます。

  • 母の日にメッセージを贈りたい
  • 大切な人形との思い出を残したい
  • アパルトヘイトに対する世界の理解を深めたい
  • 病気で苦しむ家族のために、病魔を倒すゲームを作って勇気づけたい
  • 夏休みに見た花火をアニメーションにしたい
  • 小学校を卒業するので、みんなで一節ずつ校歌を歌って録音し、写真と一緒にスライドショーのように流したい
  • 大好きなゲームのいいところを全て組み合わせたミニゲームを作りたい
  • クラスの全員が登場するストーリーを作りたい
  • 箱を開けると先生達の面白い口癖が聞こえてくるジュークボックスを作って、友達を笑わせたい
  • 有名な絵画を拡大したり色を変えたりできて、ボタンを押すと録音した解説が聞こえるようにしたい

このようにスクラッチを使って何を表現するのかを大切にしているのです。

スクラッチプログラミングをはじめよう|Scratch超入門編を語るPERRY PERRY

これらは大人も唸ってしまうほどに洗練された「なぜ・なにを作りたい」という発想ですが、もっとシンプルな発想でも構いません。

上で述べた発想だって最初は「ネコの色を変えたり、速さを変えたら面白そうだな」というちょっとした発想から始まるものです。

理由2のまとめ

「スクラッチは、かつて文字や絵画がそうであったように、子供が自らのアイデアや意見を表現するためのツール」です。子供が自由に発想して、自分自身の独自の課題に取り組むことを奨励しているプログラミング言語なのです。

理由3)学びの個別化に挑戦し続けているから

いわゆる学びの個別化は、世界中で多く語られている割には、合意の取れていない言葉です。

日本では文科省によって、学びの個別化に対してこのように語られています。(2018年)

医療で用いるカルテのような個人個人の学習の内容を蓄積していく「スタディ・ログ」から見えてくる自分自身にあった学びとして「学びのポートフォリオ」を活用する

文部科学省

しかし、ミッチはこういった個別化された学習プロセスに対して懐疑的であると述べています。

問題のひとつは、これらのシステムが、高度に規則化され、よく定義された知識が存在する対象領域においてのみ、うまくいく傾向があるということです。〔中略〕しかし、デザインの創造性、詩の美しさ、主張の倫理性を評価することはできません。〔中略〕学習プロセスのペース、方向、内容を制御する、コンピューター化されたシステムを、私たちは本当に欲しているのでしょうか?

ライフロングキンダーガーデン 創造的思考力を育む4つの原則

では、スクラッチにおける「学びの個別化」とはどう定義づけられているのでしょうか。次がその定義になります。

学習者自身による学習プロセスに対する選択と制御を、より多く与えるのです。

ライフロングキンダーガーデン 創造的思考力を育む4つの原則

素晴らしく聞こえますし、私自身も創造的な学びに合意していますが、この取組の問題もあります。

生徒に自由を与えれば与えるほど、学びをコントロールすることは難しくなるからです。

子どもたちはスクラッチで、欲しい物を何でも作ることができます。そのため、フィードバックやガイダンスを自動的に提供することは困難です。

ライフロングキンダーガーデン 創造的思考力を育む4つの原則

たとえ「自動化」ではなく「人力」だとしても、生徒に多くの自由を与える授業形態というのはハードルが高いものです。

この本では他にも「プロジェクトの時間を2倍にすべき」「個々人をサポートするメンターの存在が大切」なども語られています。また「ワークショップのゴールが保証されないことも是」としている点などが、学校の授業とは大きく違うとも述べています。

なかなか実現困難なことが伺えます。それはミッチも把握していて「重要なのは自由と規則のバランスだ」と述べています。

自由と規則の適切なバランスを見つけることが、創造的な学びのための豊かな環境を作り出すカギになります。

ライフロングキンダーガーデン 創造的思考力を育む4つの原則

理由3のまとめ

課題は承知しながらも、既存のカリキュラムなどの良いところも使いつつ、創造的思考を育む環境構築に挑戦している、挑戦を止めない、という姿勢が世界的に愛される一因と言えます。

理由4)オンラインコミュニティの運営に本気で取り組んでるから

広告がない

まず広告がありません。多くのプログラミングはビジネスと密接に絡んでいるので、様々な広告があります。しかし、スクラッチにはない。これはすごいことです。

ガイドライン

そしてガイドラインがあり、遵守しています。遵守しているという点がポイントです。コミュニティ内の投稿をモニタリングするスタッフも確保されている徹底ぶりです。

多様性

さらに、宗教の垣根もこえてるし、トランスジェンダーやマイノリティに対する受け入れ体制もあります。

強い宗教的信念を持つ一部のスクラッチャーは、同性愛は間違っていると主張するコメントやプロジェクトを投稿しています。私たちスクラッチチームのモデレーターは、そうした種類のコメントやプロジェクトを削除します。その際には次のように説明します。「スクラッチは、何歳であっても、どんな人種、民族であっても、能力に違いがあっても、どんな宗教を信じていても、どんな性的嗜好、性同一性を持っていても、すべての人々を歓迎します。スクラッチャーは、信念、意見、そして哲学を、自由に表現することができます。」

ライフロングキンダーガーデン 創造的思考力を育む4つの原則

その先の世界とつながっている

様々な企業と提携して、スクラッチをそのまま使ってロボットを動かしたり、ドローンを飛ばしたり、マインクラフト(ゲーム)ができたり、Googleと協力して翻訳機能などの拡張機能が、どんどん追加されています。

これからますますコミュニティ力が高まり、世界を席巻し続けることが予想できるプログラミング言語です。

早い段階からこのコミュニティに慣れておくことは、たんに英単語を覚えるよりもよっぽどグローバルな活動だと言えるでしょう。

スクラッチプログラミングをはじめよう|Scratch超入門編を語るPERRY PERRY

英語に慣れてなくても、面白いプロジェクトを見つけたらコメント欄に「nice!」と入れてみましょう。返信がもらえたときのワクワクを感じてください。

多くの反対を押し切ってチャットを禁止

2018年2月にスクラッチチームはチャット機能を全面的に禁止しました。それまでは作り方次第ではユーザー同士でゲーム内チャットができていたのですが、利用者の安全を守るために、これを禁止しました。

コメント欄でのコミュニケーションであればある程度の監視や違反報告ができますが、ゲーム内でのチャットまで管理するのは不可能と判断したためです。

これは多くのユーザーから猛反対を受けた決定でしたが「利用者の安全が一番」という方針によって断行されました。

私はこの決定を高く評価しています。

やはりスクラッチは「自己表現」や「作品のシェアによる良いフィードバック環境の構築」にこそ力をいれるべきだと考えます。大人や本職のエンジニアもユーザー登録していますが、主役は子供であるべきです。そう思えば、チャット機能の廃止は英断であったと言えるのではないでしょうか。

理由4のまとめ

本気の大人たちによってコミュニティが運営されている

理由5)学習ツールとしての実績がある

どんなに高尚な理念をうたっていても、どんなに本気でコミュニティ運営に力を入れているとしても、花火のように一瞬だけ世の中を賑やかして去っていくだけの学習ツールでは信頼できません。

その点、スクラッチが発表された2007年から今日に至るまで、一貫したクオリティでコミュニティが運営され、成長の度合いは時間が進むにつれて速くなっているように感じます。

理由6)シェアするまでがスクラッチ

その他のプログラミングと大きく異る点が「シェア」に対する貪欲な姿勢です。

スクラッチにとって「シェア」は最重要アクションの1つなのです。

それはクリエイティブ・ラーニング・スパイラルという哲学があるからです。

クリエイティブ・ラーニング・スパイラルとは

発想→創作→遊び→共有→ふりかえり→発想→…と続く一連のクリエイティブラーニングの活動を、クリエイティブラーニングスパイラルと呼んでいます。

このスパイラルでにある共有(シェア)はスクラッチの特異点と言えるでしょう。

プロジェクト作成画面にも目立つ色で「共有する」というボタンがあります。このボタンを押すと、ワンクリックでコミュニティ全体にプロジェクトを公開することができるのです。

さらに、他人の作ったプロジェクトを他の誰かが引き継いで変更した別プロジェクトを作るといったシェアの形も推奨しています。これをリミックスと呼びます。

自己表現をシェアする大切さは、かのポケモンをつくった田尻智さんも少年時代から大切にしてきたアクションです。

自己表現をシェアして大成功したストーリー
出典: ポケモンをつくった男 田尻智

中心人物であるミッチェル・レズニックとは何者?

「この1000年で最も偉大な発明は何か」という問いに対して「それは幼稚園である」と回答したミッチェル・レズニック。

MITにおける正式な肩書は「教育研究のLEGOパパート教授」です。聞き慣れないですね。

LEGOというのはレゴブロックのLEGOのことです。

パパートというのは、シーモア・パパートというLogoというプログラミング言語を作り、ミッチに多大な影響を与えた人物です。パパートを手伝い協同したことでLEGO社とのコネクションを得たことが、現在も続くスクラッチとLEGOの協力関係の礎となっています。

もっと尊大な肩書があってもおかしくない活躍ですが、この肩書を本人は気に入っているようです。

さまざまな支援者に恵まれたスクラッチとミッチですが、現在ではスクラッチ財団も設立されて、スクラッチが成長するための肥沃な環境が整っているといえます。

情熱と資本と才能と若者に支えられて、ますます注目のプログラミング言語となりそうです。

Scratchの歴史

scratchの歴史
青い線はScratchがGoogleで検索された数を比率で計算したもの。2019年のScratch3.0リリースを100としてます。徐々に上昇していますね。これからも上がっていくでしょう。

なんと2003年から始まっていた開発の歩み。長い年月をかけて洗練されてきたプログラミング言語だったのですね。

卒業生の言葉

先日とてもメッセージ性の高い作品を見つけたのでシェアします。

やっほーみんな、ひさしぶり〔中略〕今は大学を卒業して、こないだ大手映像会社から仕事をもらったよ〔中略〕8年前にスクラッチをはじめたときは、独りでずっと絵を描いてばかりだった。だけど今ではプロのアニメーターとして働いてます。いろいろ大変なことはあったけど、諦めないで続けるんだってやってきた。だからみんなもやってみたいことを諦めないでね?

https://scratch.mit.edu/projects/358939305/

次の一歩に進もう!

とりあえず先輩スクラッチャーの名作を見てScratchの可能性を知りたい方はこちら

それよりも、さっそく作り始めたい!でもどこから手を付けたらいいか悩んでいるという人は入門編から始めよう。