「子どもがプログラミングをやってみたいと言い出した」「子どもにプログラミングをやらせてみたい」と思ったときに、調べ始めるとまずでてくるのが「Scratch」です。
本blogを運営するプログラミング教室MYLABは、子ども向けにScratchを使ったレッスンを、教室やオンラインでご提供しています。子どもたちが楽しみながらプログラミングのスキルを身につけていくために、完全オリジナルのカリキュラムや講師の指導のあり方を追求してきました。
この記事では「Scratchとは何か?」「Scratchでどんなことができるのか?」からはじめ、私たちプログラミング教室MYLAB活動の中でわかった「なぜ子どもたちがプログラミングを学ぶときにScratchがよいのか?」「Scratchで何が身につくのか?」「Scratchを使うことのデメリットはないのか?」などについて解説していきます。
目次
Scratchは、世界最大の子ども用プログラミング学習プラットフォーム
Scratch(スクラッチ)は、アメリカのマサチューセッツ工科大学(MIT)が作った子どもがプログラミングを学習するためのプラットフォームです。
子どもたちは、Scratch上でプログラミングを使ってゲームやアニメーションなどを作ることができます。
言葉で説明してもイメージがわきにくいので、どんなものを作ることができるのかがわかる動画と、実際に作品で遊ぶことができるURLを記載しましたので、実際にゲームを動かしてみてください。
上の動画の作品は、以下のURLから実際に操作して遊ぶことができます。
BOXES
https://scratch.mit.edu/projects/396399256/
上で紹介した他にも、Scratchにはたくさんの面白い作品がああります。このblogでは、いくつかScratchで作られた面白い作品をご紹介していますので、ぜひ実際に遊んでみてください。
Scratch(スクラッチ)で作られた魅力的で面白い作品たち ~その①~「テトリス」「スーパーマリオ」他
Scratch(スクラッチ)で作られた魅力的で面白い作品たち ~その②~「ファミスタ」「グラディウス」他
Scratchでプログラミングを学びはじめることのメリット
Scratchでプログラミングを学びはじめることのメリットは、以下の5つです。
- 準備が簡単! Scratchでプログラミングをはじめるまでに必要な時間はわずか10分
- 本格的なプログラミングができる
- 創造性を育むことができる
- 困ったときに解決策を見つけやすい
- Scratchの中で人とつながることができる
準備が簡単! Scratchでプログラミングをはじめるまでに必要な時間はわずか10分
Scratchの1つ目の良さは、準備が簡単であることです。
大人がプログラミングを学ぼうとすると、学ぶための環境を整えることがハードルになることがあります。
プログラミングを学ぶための環境を整えることができずに、プログラミングを学びはじめる前に挫折してしまうということもあるほどです。
それに比べて、Scratchは、インターネットにつながるパソコンと、Scratchのアカウント登録(10分ほどで可能)さえすれば、すぐにプログラミングを学び始めることができます。
本格的なプログラミングができる
Scratchでは、他の教材よりも本格的にプログラミングを学ぶことができます。
プログラミングの教材では、子ども用ということを意識しすぎていて、プログラミングの本質が失われてしまっているものがあります。
後ほど説明するパズル型のプログラミングアプリなどがその典型です。
Scratchで作品を作るプロセスは、プロのプログラマーがゲームを作る工程と似ています。
また、本格的なゲームやアニメーションを作ることもできます。大人でScratchを使っている方も多く、完成度の高い作品もたくさんあります。
創造性を育むことができる
子どもがプログラミングを学ぶことができる教材が大量に開発されました。しかし、その中には、プログラミング学習と言いながら、実は論理的な思考を養うパズルのようなものも多いのが現状です。
例えば、画面の中のキャラクターを目的の位置まで動かすような、パズル型のアプリなどがそれに該当します。
パズルを解くために自動化するプログラムを作ることも、プログラミングといえばプログラミングです。
しかし、論理的思考を養うのだけであれば、算数や数学でも同じ能力を養うことができるので、わざわざプログラミングを行う必要はありません。
算数や数学で身につけにくいのは、創造性です。
プログラミングを使ってゲームやアニメーションを作るためには、「自分が何を作りたいのか?」「作品を良くするために、どんな工夫をしたらよいのか?」を考え、実際にプログラミングを使って作品をつくる必要があります。
Scratchでは、そうした創造性を育みながら、論理的な思考力とプログラミングのスキルを身につけることができます。
困ったときに解決策を見つけやすい
プログラミングを学びはじめると、必ずわかないことや困ったことが出てきます。解決することができない時間が長いと、学ぶ意欲が失われてしまうことがあります。
そうしたときに、インターネットで検索して、解決策を探すことができることが重要です。
Scratchは使っているユーザーが多く、Googleなどで検索するとたくさんの役に立つ情報が出てきます。
例えば、下の画像は、Googleでキャラクターのジャンプの仕方を調べたときの検索結果です。「Scratch」と「重力ジャンプ」という2つのキーワードで、270,000件の検索結果がヒットしています。
この「Scratch」の部分を他のプログラミング学習ツールに置き換えて検索してみると、Scratchに関する情報がいかに豊富かを実感できるはずです。
Scratchの中で人とつながることができる
Scratchの良さは、Scratchの中で人とつながることができることです。
私たちのMYLABに通ってくれている子どもの中には、Scratchの中でたくさんの友だちとつながっていて、一緒に作品を作ったり、わからないことを教え合ったりしている生徒もいます。
インターネット上で人とつながることに対する不安を感じる方もいらっしゃると思いますし、実際にScratchのコミュニケーション機能を使っていてトラブルが発生することもあります。
しかし、それを補って余りあるメリットがあると思いますし、インターネット上でのコミュニケーションのとり方を学ぶことができるのも、Scratchの良いところです。
初心者でもできる簡単なゲームの作り方
Scratchがどんなものが変わったところで、さっそくゲームを作ってみましょう!
このBlogでは、Scratchでゲームを作る方法をいくつかご紹介していますので、以下の記事を参照しながら、実際にゲームを作ってみてください。
また、Scratchを学ぶ際に役立つ本をご紹介した本もありますので、もっと自分で学んでみたいという方は、こちらの記事もご覧ください。
Scratchの使い方の基本を学びたいという方は、以下の記事もご覧ください。
Scratchで何が身につくのか? プログラミングができるようになるのか?
ここまで読んでいただいて、ゲームやアニメーションを作ることで、「どんな能力が身につくのか?」「何ができるようになるのか?」と疑問に思った方もいらっしゃると思います。
そうした疑問に答えるために、Scratchで身につけることができることについて解説していきます。
プログラミングを使って作品をプロセスが理解できる
ゲームを作るプロセスやプログラムの基本的な考え方は、プロの方が使うツールでもScratchでもほぼ同じです。
具体的に説明すると、ゲームを作るときには、以下のような手順で作成していきます。
1.ゲームにどんなキャラクターが出てくるのか洗い出す
シューティングゲームであれば、自分の飛行機、敵キャラ、敵を倒すビームという3つのキャラクターが必要になります。
2.キャラクターの動かし方を考えてプログラムする
シューティングゲームであれば、敵が画面の上の方で左右に繰り返し動く、何かのキーを押したときに弾丸を発射して画面の上に向かって移動していくなどです。
3.キャラクター同士の相互作用や得点・タイマーなどを組み込む
「弾丸が敵にあたったときに、弾丸と敵キャラを消して爆発の効果を表示し、得点を増やす」「敵にぶつかったらゲームオーバーにする」などといったキャラクター同士の相互作用や、得点・タイマーなどを組み込みます。
この手順は、プロの方でもScratchを使っている小学生でも、まったく一緒です。こうした手順を学ぶことができれば、本格的なゲームを作るときにも役立ちます。
また、ゲーム以外のアプリやWebサービスなど作るときにも、作品を作る流れや基本的な考え方として参考にすることができます。
基本的なプログラミングスキルが身につく
ゲームをつくるためには、「繰り返し」や「条件分岐」など、プログラミングの基本的なプログラミングのスキルを身につける必要があります。
これらの基礎技術は、プロのプログラマがプログラミングをするときにも使うものです。
Scratchでは、ゲームやアニメーションを作ることを楽しみながら、こういったプログラミングの基礎的なスキルを自然と身につけることができます。
プログラミングの楽しさに気づき、自分はプログラミングが得意という自信や効力感が身につく
Scratchでプログラミングをはじめると、自分が思ったような作品を作ることが、いかに楽しいことか気づくことができます。
これまで、買ったゲームでただ遊ぶだけだった子どもが、「自分でゲームを作ることができる」という経験をすることで、自分の思い通りの作品をつくるプログラミングの楽しさを実感する事ができます。
また、作品が完成することで、「自分はプログラミングができる!」「自分はプログラミングが得意なんだ!」という自信や効力感がわいてきます。
高校生や大学生になったときに、初めてプログラミングをはじめる人は、プログラミングの難しさに目が行くことが多いと思います。
一方で、小学生のときにプログラミングの経験があり、楽しさに気づくことができている人では、プログラミングの学習へもスムーズに入っていくことができます。
よくある質問
最後に、私たちの教室によく頂く質問について見ていきます。
Q1:Scratchはインストールが必要ですか?
Scratchには、Google Chromeなどを使ってできる「ブラウザ版」と、パソコンにインストールして使う「Scratchアプリ」があります。
ブラウザ版のScratchでは、他の人が作ったゲームを自由に見ることができるメリットがあります。
一方で、Scratchを使っている間、インターネットに接続している必要があります。インターネットの接続が切れてしまうと、作った作品が保存できなくなってしまいます。
Scratchアプリは、インターネットに接続していなくても作品を作ったり、保存したりすることができますが、他の人の作品を見ることができません。
Scratchアプリで人の作品を見たい場合は、ブラウザ版から作品をダウンロードして、Scratchアプリに取り込む必要があります。
Q2:iPadなどのタブレットでもScratchは使うことができますか?
タブレットでもScratchを使うことができますが、機能的に制限されることがあります。
例えば、Scratchでは、スペースキーが押されたら弾丸を発射するなど、キーボード操作をよく使います。
タブレットでキーボード操作をする場合には、外付けのキーボードを用意したり、画面の中に操作用のボタンを作るなどの工夫が必要になります。
Q3:「Scratch」と「Scratch Jr.」は別なものですか?
「Scratch」と「Scratch Jr.」は別なものです。
Scratchは8歳~16歳を対象に、パソコンで使うことを想定して作られています。プログラミングの初心者から使用できますが、熟練した方なら、かなり本格的なゲームも作ることができます。
一方、Scratch Jr.は、Scratchは5歳~7歳が対象となっており、タブレットで利用することが想定されています。Scratchはまだ難しいという方で、アニメーションや簡単なゲームなどを作ることができます。