スクラッチ(Scratch)とは?
2020年より小学校でのプログラミング教育が必修化されました。それに伴い、プログラミングの早期教育に対するニーズが高まっています。プログラミングと聞いて思い浮かぶのは、英語が羅列されたプログラム画面。小学生には難しすぎるのではないかと思われる方も多いのではないでしょうか。Scratchは小学生でも簡単に操作でき、興味を持って取り組むことができるように開発されたビジュアルプログラミング言語です。プログラミング教育の世界ではもはや常識と言える「Scratch」とは、一体どのようなものなのでしょうか。
こちらの記事もオススメ 今プログラミング教室が人気な理由~新学期・新学年の習い事~ | ロボ団ブログ (robo-done.com)
世界最大の子ども向けコーディングコミュニティー
スクラッチの公式ホームページ(https://scratch.mit.edu/about)には「Scratchは、世界最大の子ども向けコーディングコミュニティーで、若者がデジタルな物語、ゲーム、アニメーションを作るために使っている、シンプルなビジュアルインターフェースを持ったコーディング言語です。Scratchは非営利団体Scratch財団によって設計、開発、維持されています」とあります。つまり「シンプルなビジュアルインターフェースを持った」=直感的に操作でき、「世界最大の子ども向けコーディングコミュニティー」=スクラッチを通して世界中の子供たちと交流することができます。スクラッチには自分で作ったプログラムやゲームを世界中に発表できるプラットホームが用意されており、自作ゲームを公開することはもちろん、世界中の「Scratcher」が制作したゲームを遊ぶことができ、感想をコメントで言い合ったりして交流することができます。このため子どもたちは常に刺激を与え合い、飽きることなくプログラミングに取り組むことができるのです。
MIT(マサチューセッツ工科大学)メディアラボで開発されたビジュアルプログラミング言語
「Scratch」が生まれたのは2006年、世界大学ランキングトップ10常連のマサチューセッツ工科大学メディアラボでのことでした。幼児教育と情報工学に関する開発を多く手がけるミッチェル・レズニック教授のグループは、それまでの「パソコンのモニターに淡々と文字を打ち込んでいく」というプログラミングのイメージを一新する画期的な学習ソフトをデザインしました。「Scratch」と名付けられた学習ソフトは「ビジュアルプログラミング」という特徴を活かして可能な限り簡単にプログラムできるようになっており、実際にコードを書く必要がありません。ブロック遊び感覚で学べるScratchは世界中の教育機関で注目され、その考え方や操作方法は多くのプログラミング教育に影響を与え、派生ソフトを産み出しました。
非営利団体Scratch財団によって設計、開発、維持されている
Scratchの理念の一つに「創造的な教育と学習、自己表現と協調、そしてコンピュータ利用における公平性を促進」とあります(スクラッチ公式ホームページ Scratchについて https://scratch.mit.edu/about )。この理念に基づいてScratchは非営利団体によって設計・開発・維持されています。目的は子どもたちの教育であり、特定の国と地域や企業に影響されないように寄付金やイベントの収益によって運営されているのです。
完全無料
そのためScratchは完全無料。2013年5月に発表されたバージョン2.0からはブラウザから使えるようになり、開発環境のインストールも不要になりました。さらに2019年1月に発表されたバージョン3.0からはスマートフォンやタブレット端末での利用もサポートされ、ますます気軽に始めることができるようになりました。Scratchを始める前に準備するものは端末とインターネット環境、メールアドレス。Scratch公式ページにアクセスし「Scratchに参加しよう」をクリックしてください。Scratchを気軽に始めることができます。
70以上の言語で利用可能
200ヶ国以上の国と地域で利用されているScratchは70以上もの言語で使用することができます。さらに、単に言葉を各国語に翻訳するだけでなく、アラビア語系の言語に設定すれば左右のレイアウトを入れ替える、といった細かい工夫がされています。「コンピュータ利用における公平性」がこういうところにも感じられます。
Scratch財団の想い「We believe in SCRATCH FOR ALL」
Scratch財団のトップページには「We believe in SCRATCH FOR ALL」というコンセプトと共に財団からのメッセージが書かれています。そこにはScratch財団は誰にでも無料でScratchを提供し、コーディングを通じてアイデアを形にする子どもたちをサポートするということ。スクラッチコミュニティを通じて技術革新や共同研究、そして学び続けることを応援するという思いが書かれています。
“SDGsなプログラミング言語
「Scratchは、計算論的思考と問題解決のスキル、創造的な教育と学習、自己表現と協調、そしてコンピュータ利用における公平性を促進します」”
2015年の国連サミットで採択された世界をより良いものにするための目標「SDGs」は17の目標と169のターゲットで構成されています。そのSDGsを達成するために大きな力として、ICTとそれを動かすプログラミングが注目されました。AIなどの新しいIT技術で食品ロスや廃棄、運送などのエネルギー削減ができるのです。しかし何より重要なのはプログラミング教育を通して身につく「プログラミング的思考」です。世界を持続可能な社会として成長させていくには「こうしてみたら、もっとうまくいく」というプログラミング的思考が不可欠なのです。スクラッチは「問題解決のスキル」と「計算的思考」を鍛え、「創造性」と「自己表現と協調の両立」を学ぶことができ、無料で使うことができるという「公平性」を実感することができるのです。
こちらの記事もオススメ プログラミング言語 | 役割別に紹介 | ロボ団ブログ (robo-done.com)
スクラッチ(Scratch)でできること
スクラッチは簡単なアプリ制作はもちろんのこと、ゲームやアニメーション制作など様々なコンテンツ作りに対応しています。アイデアはあるけど何をどうすれば良いかわからない……という場合も心配ありません。スクラッチにはゲームやアニメーションを作るためのチュートリアルが豊富に用意されています。子どもたちのアイデアを聞いて、見本になりそうなチュートリアルを探してみてください。さらに、様々なチュートリアルは眺めているだけで「こんなこともできるんだ!」と想像力を刺激します。最初はやりたいことが見つからなくても、チュートリアルに従ってサンプルを作っていくことで「あれは?これは?」と様々なアイデアが湧いてくるでしょう。
Scratchプログラミング言語でできること
スクラッチはコードを入力していく「テキストプログラミング言語」ではなく「ビジュアルプログラミング言語」というプログラミング言語を採用しています。これはあらかじめ命令が入力されたブロックを組み合わすことでプログラムしていくというもので、文字を読むことができれば使い方は簡単です。誰でもプログラミングを始めることができます。さらに日本語版には「ひらがな」モードもありますし、「Scratch Jr」(スクラッチジュニア)といって幼児向けバージョンも用意されています。
ゲームやアニメーションをつくることができる
スクラッチで子どもたちに一番人気なのがゲームとアニメーションです。チュートリアルに従えば、誰でも簡単にゲームやアニメを作ることができます。さらにスクラッチでは「スプライト」と呼ばれるキャラクターや様々な背景画像があらかじめ用意されています。素材が豊富に用意されているのですぐに作品作りに取り掛かることができるのです。もちろん、背景やキャラクターは自分で作ることもできます。オリジナルのキャラクターはもちろん、どこかで見かけたことのあるキャラを作って好きに動かすことができます。
ストーリーやプレゼンテーションをつくることができる
簡単なアニメやゲームを作れるようになれば、それらをもとにしてプレゼンテーションやストーリーを作ることができます。様々な機能を組み合わせて使うことで、自分が想像したことを表現できるのです。例えば細かいアニメやストーリーをつなぎ合わせて分岐点を作ることで、見ている人の選択によって結末が変わっていくインタラクティブなストーリーを作ることができます。子どもたちと話をしながらいろいろなアイデアを実現していきましょう。
プログラミング言語としてさまざまなものに応用できる
スクラッチはビジュアルプログラミング言語なので、小さな子どもでも操作ができます。キャラクターも子ども向けに可愛らしくデザインされています。しかしネコのスプライトに進む方向や距離・回転させる角度などのパラメータと呼ばれる数値を与えてという目的の場所まで移動させる、おそらくスクラッチを触って最初に行う動作は、現代プログラミングの主流である「オブジェクト指向」と深い関わりがあります。「〜なら〜する」というブロックも「if文」というプログラミングの基礎構文です。このようなプログラミング的「考え方」を学ぶことはhtmlやPythonなどのテキストプログラムを学ぶ際の基礎になるだけではなく、子どもたちこれからの未来を生きていく上で必要な「問題解決能力」の基礎になっていくのです。
Scratchオンラインコミュニティでできること
スクラッチにはその利用者のために、Scratchを開発した米マサチューセッツ工科大学(MIT)のライフロングキンダーガーテン(生涯幼稚園)グループが管理運営するScratchコミュニティーサイトがあります。ここではすぐにいつでも利用できるオンラインエディターだけでなく、ダウンロードしインストールして利用するオフラインエディターが提供されています。さらにユーザー登録することで、プロジェクトを自動保存したり、プロジェクトを自分のコンピュータにダウンロードして保存したりすることができるようになります。
世界中の人にスクラッチ(Scratch)プログラミング言語でつくった自分の作品を共有することができる
スクラッチが素晴らしいのは世界中の人たちを自分の作品をシェアすることができる点です。これは単に作品を「発表」するということではありません。スクラッチではあえて「共有」という言葉を使います。コミュニティに「共有」された作品は誰でも見て遊ぶことができるのですが、それだけではありません。画面右上の「中を見る」というボタンを押すことで、どのようにプログラムされているのか見ることができるのです。複雑に見えるゲームやアニメーションも意外と簡単な組み合わせだったりします。他の子どもたちが組んだプログラムを研究し、自分の作品作りの参考にしてみてください。
世界中の人のプログラミングプロジェクトをリミックスすることができる
さらに「共有」されたプロジェクトの一部を改造したりコピーしたりして作品を作り、自分のプロジェクトとして「共有」することが認められています。スクラッチは他の人のプロジェクトをリミックスすることは、プログラミングを学び、関心のあるプロジェクトを作るためのすばらしい方法だと信じているからです。リミックスを通し、創造的なアイデアがScratchコミュニティ中に広がり、みんなに恩恵をもたらすとスクラッチは考えています。DJが様々なレコードを組み合わせて曲を作っていくように、プロジェクトをつなぎ合わせて新たなプロジェクトを作っていくのです。「Scratch」というネーミングにはこのような願いが込められています。作品を「0」から作り上げることにはこだわらず、今あるものを「共有」し、組み合わせることで新たなクリエイティブを目指しているのです。
Scratchプログラミング言語が子どもプログラミング教育に人気な理由
スクラッチが世界中で子ども向けプログラミング教材として人気な理由。それは「直感的である」ということと「視覚的」であることが大きな理由のようです。では「直感的」「視覚的」とはどういったことなのか。実例をあげながら説明します。
こちらの記事もオススメ プログラミングを小学生の低学年から始めるとよい理由 | ロボ団ブログ (robo-done.com)
直感的に操作ができる8色のカラフルなブロックでコーディングができる
スクラッチでは「○○された時」「●●する」と言ったブロックを組み合わせてプログラミングしていくのですが、このブロックは8色で色分けがされています。キャラクターを動かす「動き」であれば「青」、「○○された時」のような「条件(イベント)」であれば「黄色」といった具合です。このため、ひと目で「このキャラクターはこういう動きをするんだ」ということが理解できます。テキストプログラミングのように、「どこにこの動きの命令が書かれているか」を探す必要がないのです。さらにブロックを色分けすることで「動き」の「青ブロック」が2度続けてくるのはなぜかといったエラーチェックをする感覚や、「二つ」のブロックをどうにかして「一つ」にまとめられないかといった、プログラミング的思考が身につくのです。
ゲーム感覚で遊びながらプログラミング的思考を学べる
スクラッチでアニメやゲームを作っていると、子どもたちは必ずあることに気がつきます。それは「作品作りは意外と面倒」ということです。凝った作品を作ろうと思った時、それぞれのキャラクターに「動き」と動きのための「条件」をつけていく作業はなかなか面倒です。しかし勘のいい子どもであれば「コピペすればいい」ということに気がつきます。コピペしたものを必要に応じて改良し、思ったものを作り上げるのです。このような「手間を減らす」上に「ミスを無くす」コピー&ペーストという手法は非常にプログラミング的な手法です。スクラッチはそのようなプログラミング的思考を自然と身につけることができるのです。
こちらの記事もオススメ プログラミング的思考とは|論理的思考との違いと学び方 | ロボ団ブログ (robo-done.com)
ブロックの組み換えでトライ&エラーが簡単にできる
スクラッチの画面は基本的に3つの領域でできています。命令が書かれたブロックが並べられているゾーン、実際にブロックを並べてプログラミングを行うゾーン、できたプログラムを実行するゾーンです。この3つが一画面に表示されているので、組み上げたプログラミングをすぐに動かして、その動作を確認することができます。このためトライ&エラーが簡単にできるのです。さらに現在動いているプログラミングのブロックが光るため、どの部分が思ったように動き、どの部分がそうでないのかをすぐに見つけることができます。この機能は「共有」された作品でも同じで、誰かが作ったアニメーションの、今どの部分が動いているのかを見ることができます。今動いているブロックを分解し編集することで、さらに自由な作品作りができるようになるのです。
縦に繋げていくブロックで本格的なプログラミング言語との親和性が高い
スクラッチのブロックは基本的に上から下に向かってしか組めないようになっており、命令も上から下への順番で実行されます。この原則は本格的なプログラミング言語でも同じで、上から下への命令系統の中に「もし〜なら」「〜でなければ」「〜まで繰り返す」などの様々な条件をつけることで複雑な動きを作っていきます。このように決まった順番で物事を積み重ねていき結論に到達するという手法は、プログラミングでも重要な論理的思考そのものです。スクラッチはその手法が自然に身につくように設計されているのです。
ロボ団の新しいカリキュラム ロボットにはSPIKEプライムを導入!
「好きを学びに」をテーマに掲げるロボットプログラミング教室「ロボ団」では、新たにレゴ®️エデュケーションのSPIKE™️プライムを導入しました。カラフルなレゴパーツと簡単に操作できるハードウェア、直感的なデザインのプログラミングソフトウェア、STEAM学習ユニットを組み合わせたキットは年齢や学習進度に関わらず、あらゆる子どもたちの関心を引きつけます。一人ひとりに異なる様々な学習環境や進度に合わせて柔軟に使用することが可能で、簡単に、楽しく学習をはじめることができます。ロボ団では教室でロボットを貸し出ししているので、購入する必要なく高品質な教材に触れていただくことができます。
こちらの記事もオススメ ロボットプログラミングが子どものプログラミング教育に良い理由 | ロボ団ブログ (robo-done.com)
新しく導入されたロボットSPIKEプライムにもScratchベースが採用されている
このSPIKEプライムで採用されているプログラミングソフトウェアのベースにはScratchが採用されていますので初めてでも簡単にロボットを動かすことができます。スクラッチでは画面の中でしかキャラクターを動かすことができませんでしたが、実際に触ることのできるロボットを思い通りに動かせる……子どもだけでなく大人まで、考えただけでワクワクしてしまいます。
詳しくはこちら レッスン内容・レッスンの流れ | 子どものためのロボットプログラミング教室 ロボ団 (robo-done.com)
3年目まで:Scratchベースのワードブロックでのロボットプログラミングのコーディングを学び
ロボ団では最長4年半のカリキュラムをご用意しています。3年目まではスクラッチベースのワードブロックを利用したロボットプログラミングを学びます。アイコンやイラストを使って物事を順序立てて考えることの練習をしたり、完成形があるロボットキットを組み立てたりします。この段階で大事なのは「エラーレスラーニング」であることです。まずはたくさんの成功体験を積み上げることで、子どもたちに「達成感」を味わい「自信」をつけることができます。プログラミングを楽しみ「好き」になってもらう期間です。
4年目から:段階的に本格的なプログラミング言語であるPythonで学ぶことができる
4年目からは段階的ではありますが、本格的なプログラミング言語であるPythonを学びます。PythonはWebアプリやデータ分析などに使われるプログラミング言語です。MacやWinなど特定のOS に依存することなく、スマートフォンやタブレットなどの端末の違いがあっても動作するように設計されているため、非常に便利で世界で最も注目・期待されているプログラミング言語のひとつです。このPythonを使ったロボット制御を学びながら、ギアやモーターなどのハード面の機構も学習することで、ロボットを思い通りに動かすことを目指します。何度も試行錯誤を繰り返し、諦めずにやり切る力を身につけることを目指します。
最長4年半のカリキュラム 基礎から本格的なプログラミング学習
ロボ団では団員(生徒の子どもたち)を学習進度や年齢によって大まかに5つの段階に分けています。それぞれの段階に必要な能力や教え方が異なるからです。入会時は「KINDER」「BEGINER」「CALLENGER」のいずれかからのスタートになります。子どもたち一人ひとりの理解度に合わせて、着実にステップアップしていきましょう。
詳しくはこちらから クラス・料金 | 子どものためのロボットプログラミング教室 ロボ団 (robo-done.com)
KINDER
KINDERで学ぶ子どもは就学前の年長さん(秋)を想定しています。アイコンやイラストを使って順序立てて物事を考えるトレーニングを行ったり、数の概念を学んだりします。同時にロボットに触れることで、まずはロボットの扱いに慣れていきます。
BIGINNER
KINDERを修了したか、小学1・2年生の子どもたちが対象です。手順通りにロボットを組み立てて動かしてみたりして、さらにロボットに親しんでいきます。順序立てて物事を考えるプログラミング的思考とそれを使ってロボットを動かすということを関連づけていきます。
CHALLENGER
BGINNERを修了するか小学校3年生以上の子どもたちはCHALLENGERクラスヘ進みます。フローチャートを用いたプログラムの作成やセンサーを活用したより高度なロボット制御を学びます。分岐や反復といったプログラミングの基礎を学習し、基本的なパソコンの操作も身につけます。
CREATOR
CHALLENGERを修了した子どもたちは、もう立派なCREATORです。図面を見て計画的にロボットを組み立て、モーターやギアなどのロボットの機構を学びます。ロボットの機構を知ることで、目的にあった最適なパーツや機構を選ぶことができるのです。プログラミングにおいても問題解決や効率的な設計を意識して、本格的なプログラミング的思考を身につけます。またPythonに触れることで、今までブロック単位で行っていたプログラミングではなく、より細やかな思い通りのロボットプログラミングを目指します。
INNOVATOR
CREATORを修了した子どもたちはINNOVATORとしてオリジナルのロボット作りに挑戦します。Pythonを使ったロボット制御を学び、卒業制作として今までにない、世界にただ一つだけのロボットを作るのです。実社会とプログラミングやロボットはどう繋がりどう活かすことができるのかを考え、新しい価値観を生み出す子どもたちはまさに社会を変える「イノベイター」なのです。
ロボ団の体験教室はこちらから 体験会 | 子どものためのロボットプログラミング教室 | ロボ団 (robo-done.com)