Scratchとは
エンジニアの方が真っ先に思い浮かぶスクラッチは、ITのシステム開発時に一から開発する手法ではないでしょうか。ここで言うScratchは、ビジュアルプログラミングの言語です。
Scratch(スクラッチ)とは、マサチューセッツ工科大学メディアラボが小中学生向けに開発した教育プログラミング言語を指します。完全無料であり、多くの言語文字に対応しますので利用が拡大しています。日本語については、漢字とひらがなの双方に対応しますので幅広い層で利用可能となっています。 【参考】:Scratch
Scratchの利用状況
Scratchは、8歳から16歳をターゲットに設計されています。世界200カ国以上の国々で利用されており、70カ国以上の言語で提供されています。公式サイトの情報によると、2022年5月現在の利用者は9,000万人を超えており大変人気があります。 【参考】:Scratch Community statistics at a glance
Scratchリリースの変遷
Scratchもこれまで何度かバージョンアップを行っています。2007年に正式リリースされた初期バージョンは、Smalltalk環境の1つであるSqueakで動作しました。2013年に登場した2.0は、Adobe AIRに置き換えられました。2019年登場の最新版3.0では、HTML5ベースに置き換えられアプリ利用せずに利用できるウェブアプリケーションのため、利用者がさらに増えました。
利用者は気づきにくいとは思いますが、このようにバージョンアップとともにベースとなる動作環境や言語仕様も変遷を遂げています。
Scratchの幼児向け派生版
Scratchの派生版ですが、5歳から7歳向けのソフトウェアとなるScratchJrが、タフツ大学リサーチグループらとの共同開発で製品化されました。Scratchの簡易版の位置づけとなっており、お絵描きできるレベルから徐々にプログラムを学んでいきます。その過程で、幼児期の計算力や識字力を高めていきます。 【参考】:ScratchJr
Scratchの概要
scratchは、ビジュアルプログラミングという手法を用います。ビジュアルプログラミングとは、視覚的な図形や絵・アイコン等のオブジェクトを用い、矢印で連結しプログラム作成する言語手法を指します。
ビジュアルプログラミングの基本概念ですが、指示で用いる条件や具体的な動作が書かれたオブジェクトをマウス操作でつなぎ合わせ、必要となる動作を完成させていきます。組み合わせを工夫することで様々な動作をさせることができます。
Scratchは、ブロック型ビジュアルプログラミング言語です。基本操作の書かれたブロックを連結し、動きや見た目や音等に処理を表していきます。画像のコスチューム変更や音の変更もできます。
Scratchの特徴
Scratchは、感覚的に操作できるように設計されていますので、従来のコンピュータ言語で必要とされるような言語仕様を覚える必要がありません。プログラム知識不要で、幼児のコンピュータ教育から始められます。
Scratchは操作が簡単でありながら、漢字・ひらがな表示に対応しています。子供から未経験の大人まで実際にプログラミングし実行することができます。すぐに理解できますので、実行コード作成の操作を通じて論理的思考を学び、発想力やコミュニケーション能力が向上します。
Scratchでできること
Scratchでは、ゲームやアニメーション作成を簡単に行うことができます。イベントを登録することでインタラクティブなストーリー作成も可能です。完成した作品は、コミュニティで共有し互いに作業することもできます。アカウント登録なしでも公開作品で遊んだり、新規にプロジェクトを作成することができます。アカウント登録することで、作品を共有することもできます。
Scratchは、拡張機能があり外部装置との接続が可能です。この機能を用いてロボット制御を簡単に行うこともできます。LEGOによるロボット接続キットも販売されています。 【参考】:LEGO MINDSTORMS EV3 【参考】:LEGO BOOST
このようなScratchの操作を通じて、論理的思考の考え方を学び、問題解決やプロジェクト設計、アイデアの共有や交換の方法を理解することができます。
Scratchでできないこと
Scratchのプロジェクト作成から実行までの一連の流れは、Scratchの中で完結します。そのため、その中でScratch以外のプログラムを利用することはできませんし、他のプログラム言語でScratchのコードを実行することもできません。AndroidやiPadで動作する汎用コードの作成は、これまでのテキストベース言語に任せることになります。
Scratchの使い方
Scratchを始めるには、PCやタブレットのブラウザから誰でも始めることができます。スマホは閲覧のみで、プロジェクトの作成・編集はできません。ブラウザはPCでは、ChromeやEdge・Firefox・Safariがサポートされます。タブレットでは、モバイル用のChromeとSafariに対応します。
Scratchの推奨構成
PCやタブレットでサポートされるブラウザのバージョンですが、PC用ブラウザは、Chrome:バージョン63以降、Edge:バージョン15以降、Firefox:バージョン57以降、Safari:バージョン11以降がサポートされます。Internet Explorerはサポートされていません。
タブレット用ブラウザは、Mobile Chrome:バージョン63以降、Mobile Safari:バージョン11以降がサポートとなります。
ブラウザが対応しない場合は、アプリ版のScratchも利用可能です。必要に応じてインストールを行います。Scratchアプリは、Windows 10以降、macOS 10.13以降、ChromeOS、Android 6.0以降に対応しています。 【参考】:Scratchアプリをダウンロード
公式アプリはiOSに対応しませんが、ウェブアプリケーションのためSafariで問題なく動作します。派生版のScratchJrはiOS・Androidともに対応しています。
Scratchのプログラム作成と操作手順
Scratchのプログラム作成は、プロジェクトを作成し作業していきます。完成したら作品として公開することもできます。Scratchのホームページ最上部、左から2番目の「作る」あるいは「つくる」でプロジェクト作成のページが表示されます。
Scratchの日本語化
Scratchでは、言語が日本語の「漢字」と「ひらがな」に対応しています。「作る」あるいは「つくる」でプロジェクト作成の編集ページを表示させます。その最上部、左から2番目の地球儀のアイコンメニューから言語選択可能です。「日本語」では漢字、「にほんご」ではひらがな表示に設定されます。利用者の年齢に応じて選択し、使用します。
Scratchの編集画面構成
Scratchの編集画面は「コード」「コスチューム」「音」のタブを選択し、利用します。コード編集画面がメインの編集画面です。左側に提供ブロック一覧がパレット表示されており、中央にコード部分(スクリプトエリア)が表示されます。右側はステージと呼ばれる動作結果を表示する部分です。
コスチューム編集画面は、登場キャラクターを編集する画面です。音編集画面は、ブロック動作時の音を編集します。
Scratchのブロック
Scratchの指示や操作を実行するブロックは、カテゴリー分類されています。具体的には、処理系の「動き」「見た目」「音」、条件や判断の「イベント」「制御」「調べる」、演算系の「演算」「変数」に分類されます。
「動き」は、キャラクターに動きを与えます。移動歩数や移動先を指定できます。キャラクターを回転することもできます。「見た目」は、キャラクターが言葉を発したり、コスチュームを変更したりします。大きさや色を変更することもできます。「音」は、デフォルトの音や録音データを鳴らしたり、効果音を変えたりします。音量変更も行えます。
「イベント」は、プログラム実行のトリガーとなる動作を指定します。旗が押された場合や、特定のキー操作をトリガーすることができます。背景・音量・メッセージ受信等のトリガーも指定できます。「制御」は、所定時間待ったり、繰り返したりできるほか、条件分もブロックで定義されています。「調べる」は、キー操作やマウスポインタ―の接触やクリック等の状況を取り込みます。
「演算」は、四則演算や比較演算、論理演算、文字列演算等に対応します。「変数」は、変数の作成から値設定・表示等を行います。
上記ブロックで不足する場合は、「ブロック定義」で新たなブロックを作成します。
上記のブロックの他に「拡張機能」を搭載します。左下の青いボタンが拡張機能です。音楽やビデオモーションセンサーなど11種類の拡張機能が用意されています。LEGOと連動したロボット操作も簡単に行うことができます。
ファイルの保存と読み込み
ファイルの保存と読み込みは、「ファイル」メニューから行います。編集ファイルは拡張子”.sb3”です。Scratch 3.0に対応するファイルで、旧バージョンのScratch 2.0で用いることはできません。逆に旧ファイルの”.sb2”はScratch 3.0で読み込むことができます。
作品の公開
作品の公開は、Scratchの魅力の1つです。自身の作品を評価してもらうほかに、すでに多くのプロジェクトが公開されています。プログラミングの例として多数の作品に触れることは学習の手助けになります。公開プロジェクト(作品)は、リミックスすることができます。楽曲で言う編曲のようなイメージです。
チュートリアルの活用
Scratchの作成(編集)ページには、解説書となるチュートリアルが表示されています。必要に応じて処理方法を確認することができます。最上部中央付近に「チュートリアル」というメニューが表示されています。クリックすることで、登録済みチュートリアルが表示されます。概要から操作別・目的別に26のチュートリアルを利用することができます。 【参考】:Scratch アイデア
この他に、カテゴリー別の操作方法をコーディングカードにまとめており、やりたいことがすぐできるように工夫がされています。 【参考】:Scratch すべてのコーディングカードを入手する
Scratchの用途が広がっていきます
Scratchは、ScratchJrを含めると幼児からプログラミング未経験者の大人まで幅広く利用可能です。公式登録している利用者はすでに9,000万人を超えています。学校教育の他、多様性が求められる、博物館や美術館・図書館・公民館・コミュニティセンターでも実際に利用されています。
このように現実的に利用が拡大していることから、論理的思考能力の開発の用途に適していることは明らかです。Scratchコミュニティの活用だけではなく情報発信するなど、自身も貢献してみてはいかがでしょうか。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから