ハロー・ワールド!おもちゃ大好きエンジニアの大之助( @daivoy_x)です!
子供向けプログラミング教材でいちばん有名なScratchをご存知でしょうか?
公式サイトの統計データによると日本だけで約130万人のユーザーがいるようです。
Scratchはブロックを組み立てるようにプログラムを作るプログラミング言語で、初めての方でもプログラミングを学びやすいです。
というわけで本記事では「Scratch」とはなにか?から、使い方や考え方、作れるプログラムについてエンジニア目線で紹介していきます!
- 完全無料
- 直感的にプログラミングができる
- プログラムを実行する手順が簡単
- 作品の共有が可能
- 超有名なので書籍や情報がたくさんある
- 色々なロボットに使われている
- デバッグがしにくい
- ブロック定義の使い方がわかりにくい
- プログラムの編集画面を分割不可
Scratchとは?Scratchの基本情報
「Scratch」はブロックを組み立てるようにプログラムを作ることができるプログラミング言語です。そして作った作品を共有することができるオンラインコミュニティでもあります。
商品名 | Scratch |
メーカー | Scratch財団 |
ブランド | - |
希望小売価格(税込) | 無料 |
対象年齢 | 8~16歳 |
可能な基本処理 | 順次/分岐/反復 |
教材 | チュートリアルあり |
デバイス | パソコン | 【オフライン】Windows/macOS/Chrome OS 【オンライン】ブラウザ |
タブレット | 【オフライン】Android 【オンライン】ブラウザ |
|
スマホ | 不可 | |
ブラウザ | Google Chrome/Microsoft Edge/Firefox/Safari | |
インターネット接続 | 初回のみ必須。以降はオンライン/オフライン可 | |
プログラミング方法 | ビジュアルプログラミング(ブロックを組み立てるタイプ) | |
プログラミングソフト | Scratch | |
プログラミング言語 | Scratch | |
作れるプログラム | アニメーション、ゲーム、物語 |
この教材でできること
できることは下記のような「ゲームやアニメなどの製作」です。
- サイコロを使うすごろくゲーム
- キーボードで操作するアクションゲーム
- 席替えアプリ
- おみくじアプリ
パソコンやタブレット上で動くものなら基本的に何でも作れますよ。
この教材で遊ぶときの環境
この教材で遊ぶときはWEBブラウザを使ってオンラインでプログラミングする方法とデバイスにアプリをインストールしてオフラインでプログラミングする方法があります。
▼オフライン:アプリをダウンロードして遊ぶ場合
▼オンライン:公式サイトにアクセスして遊ぶ場合
Scratchの使い方
早速、どんな感じでプログラム作るのか紹介しますね。
画面構成~画面の見方を知ろう!~
まず、画面構成はこんな感じで、4つのエリアに分かれています。
左側にはプログラムを作るための「命令ブロック」があります。この命令ブロックをつなげてプログラムを作ります。
中央が「編集」エリアです。ここにブロックを置いてプログラムを作ります。
右上には「プログラムの実行結果」が表示されます。作ったプログラムを実行するとここのキャラクターが動きます。
右下は「スプライト(イラスト)」と「背景」のエリアがあります。
スプライトは猫のキャラクターだけでなく、たくさんのイラストが用意されています。
また、自分でオリジナルのイラストを作ることもできます。私は絵心がありません。。。
プログラミングの基本的な考え方を理解しよう!
Scratchの基本的な考え方は「スプライト(イラスト)を動かすためにプログラミングする」ということです。これを認識しておくとScratchを理解しやすくなります。
なので、昔懐かしのブロック崩しのようなゲームを作ろうと思ったら、ボールとバーのスプライトを追加して、それぞれの動きをプログラミングします。
ボールは画面の端に着いたら跳ね返るプログラムとバーに触れたら180度向きを変えて動くプログラムを作ります。
一方、バーはマウスの動きに連動して動くプログラムを作ります。
これらのプログラムを同時に実行することでブロック崩しのようなゲームを作ることができます。
Scratchのデメリット
私が感じたデメリットは次のとおりです。
- デバッグがしにくい
- ブロック定義(関数)の使い方がわかりにくい
- 編集画面を分けることができない
詳しく解説します。
デバッグがしにくい
デバッグとはプログラムの不具合(バグ)を取り除く作業です。
他のプログラミングソフトだと、プログラムを実行するときに1行ずつ(1命令ずつ)実行することができますが、Scratchは1行ずつ(1命令ずつ)実行することができません。
ブロック定義(関数)の使い方がわかりにくい
自分でオリジナルの命令ブロックを作る機能がありますが、その使い方がわかりにくかったです。
なので、使い方の解説記事を書きました。必要であればご覧ください。
編集画面を分けることができない
プログラムはスプライト(イラスト)別に作ります。なので、1つのスプライトのプログラムが複雑になると一つの編集画面にたくさんの命令ブロックが並びます。
プログラムが複雑になればなるほどわかりにくくなって、不具合を混入させる確率が高まるのはデメリットですね~。
Scratchのメリット
私がエンジニア目線でいいなと思ったところは次のとおりです。
- チュートリアルが豊富
- プログラムを実行する手順が簡単
- 作品の共有が可能
- 色々なプログラミングおもちゃに使われている
それぞれ解説します。
動画のチュートリアルがある
Scratchのチュートリアル(使い方節目)は全て動画形式です。
こんな感じの画面です。
プログラムを実行する手順が簡単
プログラムを実行する手順が簡単なのもScratchの特徴です。
例えば、「旗マークが押されたとき」という命令ブロックをつけると、右上の「旗マーク」をクリックするだけでプログラムを実行することができます。
また、命令ブロック単体の場合は命令ブロックをクリックするだけで、その命令を実行することができます。
作品の共有が可能
Scratchで作った作品を共有することができますし、他人が作った作品を遊ぶことができます。
また、他人が作った作品を改造(リミックス)して共有することもできます。
これらの機能を使うには無料の会員登録が必要です。会員登録の方法はこちらの記事で解説していますので、あわせてご覧ください。(編集中です)
色々なプログラミングおもちゃに使われている
Scratchはプログラミング言語なので、Scratchのサイトでプログラムを作るだけでなく、色々なモノのプログラムを作ることができます。
つまり、Scratchを勉強しておけば別のモノをプログラミングするときに、知識や経験を活かせるのでプログラミングに初めて触れるお子さんにおすすめですよ。
Scratchでプログラミングできるロボット
では、具体的にScratchでプログラミングできるロボットを紹介します。
代表的なものとして「レゴブースト クリエイティブ・ボックス」があります。
関連「レゴブースト クリエイティブ・ボックス」の詳細レビューはこちら
レゴブーストはあの有名なレゴブロックを使ったプログラミングおもちゃです。レゴブロックで組み立てたロボットをScratchでプログラミングすることができます。
Scratchでレゴブーストをプログラミングするにはレゴブースト用の命令ブロックを拡張機能から追加します。
レゴブーストの命令ブロックにはモーターを動かす命令やセンサーを動かす命令があります。
また、Scratchでプログラミングできる他のロボットもレビューしているのであわせてご覧ください。(下記記事の下の方です)
Scratchをおすすめできる人
「Scratch」はプログラミングに初めて挑戦するお子さんにおすすめです。
やっぱり、完全無料でわかりやすく、書籍やネットの情報が多いのはプログラミング初心者にはありがたいですね。
学校などの教育現場でScratchが普及してきているので、他のお子さんに遅れを取らないためにも早めに挑戦することは大いにありですね。
まとめ:Scratchでプログラミングを始めよう!
本記事は「Scratch」をエンジニア目線で紹介しました。
Scratchは関連書籍やネットの情報もたくさんあるので、プログラミングを初めて勉強するお子さんでも勉強しやすい環境と言えるでしょう。
下記にScratchの使い方をまとめているので、あわせてご覧ください。
これからの時代、プログラミングは必須スキルです。ぜひ、お子さんが子供の頃からプログラミングを体験させてあげてくださいね。
- 完全無料
- 直感的にプログラミングができる
- プログラムを実行する手順が簡単
- 作品の共有が可能
- 超有名なので書籍や情報がたくさんある
- 色々なロボットに使われている
- デバッグがしにくい
- ブロック定義の使い方がわかりにくい
- プログラムの編集画面を分割不可
▼おすすめプログラミングおもちゃまとめ(年齢別)