2020年から小学校のプログラミング教育が必須化されました。
小学生は、コンピュータ上で動くプログラムを作りながら、その本質を学んでいきます。
小学生の子供さんをお持ちのご両親は、子供さんのためになにかやってあげたほうが良いのかなど関心をお持ちの方もいらっしゃると思います。
文科省公式サイトに掲載されてます小学校プログラミング教育の手引書によりますと、プログラミング教育はプログラミングと言いつつもプログラムを作ること自体が目的ではないそうです。
またその目的を達成するためは、机上の授業だけではなく、実際に教材を利用して体験しながら身につけていく教育方針となっています。
学校だけでなく、ご家庭でも子供さんと一緒に楽しみながらプログラミングを体験することがとても大切なことになりそうですね。
皆さんがご存知の「Scratch」(スクラッチと読みます)というプログラミングツールは、世界中の教育現場で使われている教材の中のひとつです。
今後、多くの小学生が「Scratch」を使用してプログラミングの基礎を学んでいくことになるでしょう。
文科省が作成した教員研修向けのとても分かりやすい研修教材が公開されていますが、そこでは「Scratch」が使われています。
本記事では「Scratch」の最新版であるバージョン3.0について、使い方やプログラミングの進め方、考え方、また例題などを交えてご紹介しております。
教育者としてではなくIT技術者という別目線で、「Scratch」をご両親など大人のかたに分かりやすく解説しております。
どなたかのお力になれれば幸いです。
※文科省のプログラミング教育関連のサイトのリンクなどは本記事の最後のまとめに記載しております
なぜ小学校にプログラミング教育を導入するのか
本題に入る前に、文部科学省が考えるプログラミング教育について、要点を簡単に解説したいと思います。
これをおさえていないと、Scratchがただのお遊び道具になりかねないからです。
コンピュータとプログラムの意識
最近は、家電や自動車など、ありとあらゆるものにコンピュータが内蔵されているのはご存知だと思います。
なんでもボタンをポン、で自動的にやってくれてとても便利ですね。
でもそれは、コンピュータの中に入っている人間が作ったプログラムのお陰であるということを意識されている方は、大人の方でも多くないと思います。
ましてや小学生の子供さんは難しいですよね。
コンピュータが内蔵されている機器をより適切に、より効果的に活用するためには、その仕組みを知ることが重要になってきます。
電子レンジを例に簡単に解説します。
電子レンジの中にはコンピュータが入っています。(①)
コンピュータの中にはプログラムが入っています。(②)
電子レンジのボタンを押すことで、コンピュータに命令が伝わりまして、その命令に応じたプログラムが動くことになります。
プログラムの存在を知らない方にとりましては、コンピュータは「魔法の箱」です。
ブラックボックスともいいます。
それを「魔法の箱」でなくすることがプログラミング教育の目的のひとつです。
コンピュータを道具として使える人材の必要性
プログラミングを意識することで、問題を解決したり実現したいことを叶えるためには必要な手順があることに気づきます。
その手順を意識することによって、どのような要素を組み合わせればよいのか、もっと良くするためにはどのように改善すれば良いのかなど、論理的な思考ができるようになることが期待できます。
これをプログラミング的思考と呼びます。
そのうえで、コンピュータをより良い社会づくりに生かそうという気持ちを持つようになっていくことを想定しているのです。
このような人材を育成する出発点として、小学校にプログラミング教育が導入されます。
プログラミング教育は、子供さんたちの将来の可能性を広げます。
今よりもっとコンピュータが発達した将来の社会で活躍できるキッカケになります。
コンピュータに使われる人材ではなく、コンピュータを使う側の人材を育むということです。
そのために私たち大人ができる限り協力していきたいですね。
では本題に入らせていただきます。
Scratch(スクラッチ)とは
Scratchは、アメリカのマサチューセッツ工科大学(MIT)で開発されましたプログラミング言語学習環境です。
世界40か国以上の言語に対応してまして、もちろん日本語に対応してます。
Scratchはビジュアル(プログラミング)言語のツール
プログラミング用の教材は、様々な種類のものがあります。
文科省では以下のように分類しています。
- テキスト(プログラミング)言語
- ビジュアル(プログラミング)言語
- タンジブル
- アンプラグド(プラグラミング)
- ロボット
- ゲーム
- その他(上記以外)
Scratchは、ビジュアル(プログラミング)言語に分類されます。
図形やキャラクターなど視覚的なものを使用してプログラミングを行う教材です。
プログラミングの学習を行う上で、一般的にどれが一番良いというものはなくて、対象者の好みや育成対象の種類などによって最適なものを選択して行います。
画面が大きめのパソコンが最適
Scratchのメイン画面は以下のとおりです。
※クリックで拡大します
命令のブロックを置く場所、命令のブロックを取り出す場所、キャラクターが動き回る場所など、1画面の中に色んなエリアがありますので、画面が広い方が作りやすいですし、動きも分かりやすいです。
ですので、デスクトップパソコンや画面が広めのノートパソコンをおすすめします。
タブレットも使えますが、私が持っています7インチのタブレットでは、画面が小さすぎて作る気になれませんでした。
Scratch(スクラッチ)を準備する
Scratchを動かすには、パソコンかタブレットが必要になります。
インターネットに接続されているもののほうが便利です。
Scratchを動かすための機器
Scratchを使うためには、以下の機器のどれかが必要です。
- パソコン(Windows10)
- パソコン(MacOS)
- タブレット(Android)
- タブレット(MacOS)
※スマホは対象から外しました。もし動いたとしても画面が小さすぎて使えないでしょう。
Scratchは、ブラウザ版とアプリ版があります。
2つともプログラムを作ることに関しましては、できることは同じです。
違いのひとつに、コミュニティ機能の有無があります。
Scratchでユーザー登録をすることで、マイページを持つことができまして、そこに作ったプログラムを保存することができるようになります。
さらに、保存したプログラムを世界中のユーザーと共有することもできるようになります。
現在世界中で4000万人(※)ほどのユーザーがいるそうです。(日本のユーザーは約40万人(※))
※2019年4月時点
ユーザー登録を行わずにScratchを利用することもできますが、その場合のプログラムの保存先は利用していますパソコンやタブレットになります。
本記事での解説には、Windows10のブラウザ(Google Chrome)のScratchを使用しております。
Scratchの公式サイトに接続する
ブラウザでScratchの公式サイトに接続しますと、すぐにプログラムを作ることができるようになります。
(参考)
※クリックで拡大します
上の画面左上の「作る」をマウスでクリックしますと、さきほどご紹介しました下のような画面が表示されます。
この画面を操作してプログラミングを行いまして、作ったプログラムを動かすこともできます。
※チュートリアルと書かれた小さなウインドウが表示された場合は、そのウインドウ内右上の「✖閉じる」を押して閉じてください
最初のScratch公式サイトの画面を再度表示してください。
ブラウザの「戻る」ボタンで大丈夫です。
画面右上にある「サインイン」をマウスでクリックしますと、「ユーザー名」と「パスワード」を入力する欄が表示されます。(上の図内の赤い矢印のところ)
この「サインイン」を行うことで、前項でご紹介しましたコミュニティ機能を利用することができるようになります。
Scratchのアカウント登録を行いますと、前の章で少しふれました通り、マイページが作成されまして、あなたが作ったプログラムをサーバーに保存したり、世界中に公開することができるようになります。
もちろん世界中の人の作品を見たりコメントを入れたりもできます。
アカウント登録は、「サインイン」ボタンの横にあります「Scratchに参加しよう」の部分をクリックして行います。
登録時の入力事項は、以下のとおりです。
- ユーザー名とパスワード
- 国籍
- 誕生年月
- 性別
- メールアドレス(フリーメール可)
Scratch(スクラッチ)の画面の解説
※本記事での解説では、Windows10のブラウザ版(Google Chrome)のScratchを使用しております。
まずは、Scratchの最初の画面構成から解説いたします。
上の画面内に各エリアについて説明していきます。
① ブロックパレット
プログラムを作るためのブロックが置かれています。
このブロックを組み合わせることによって、色々なプログラムを作っていきます。
ブロックを、次に説明しますスクリプトエリアにドラッグ&ドロップして使います。
② スクリプトエリア
ブロックパレットから使いたいブロックをスクリプトエリアに持ってきます。
スクリプトエリアでは、ブロック同士をつなぎ合わせることができまして、そうすることによってプログラムを組み立てていきます。
③ ステージ
ステージは、あなたが作ったプログラムを動かすためのエリアです。
最初はネコが表示されています。
そのまま使ってもよいですし、あなたのお好きなキャラクターやマークなどに変更することもできます。
スクリプトエリアに、ネコを10歩動かす、というプログラムを作って動かしますと、ステージ内のネコが10歩動きます。
④ スプライトエリア
スプライトといいますのは、ステージ内で動かすことができるキャラクターやマークなどのことを指します。
ステージ内に表示されているネコがスプライトです。
スプライトエリアには、あなたが使用するスプライトを置いておくことができます。
スプライトは、複数作って動かすことができますので、スプライトエリアに複数のスプライトを登録して、それぞれに動きをプログラミングしていくことが可能です。
⑤ ステージエリア
ステージエリアは、ステージの背景を置く場所です。
ステージの背景は複数使うことができまして、ステージの背景をプログラムを使って自由に変更することもできます。
Scratch(スクラッチ)でのプログラミングの進め方
それでは、これまで説明しましたエリアやブロックなどを使用してプログラミングの体験をしていただきます。
まずは、最初から表示されているネコのスプライトを動かしてみましょう。
Scratchの基本的なプログラミング方法
Scratchのプログラミングは、基本的に以下の流れで行います。
- 画面上にお好きなキャラクターを配置する
- キャラクターが動く場所の背景を決める
- キャラクターを動かすための命令をブロックで指定する
- 試しに動かしてみる
- 想定通りに動かなかったら命令のブロックを修正する
- 想定通り動いたら完成!
今回は、上の1と2は最初から用意されているものを使用します。
ですので3から始めます。
ブロックパレットにあります「10歩動かす」と書いてありますブロックの上にマウスを持っていき左クリックします。
そのままドラッグしてスクリプトエリアの下まで持っていって、ブロックをドロップします。
次にブロックパレットの「15度回す」と書いてありますブロックをドラッグして、スクリプトエリアに置いてある「10歩動かす」ブロックの真下に近づけます。
すると「10歩動かす」ブロックの下にブロックの影が表示されますので、そこでドロップしてください。
下のように2つのブロックが重なったと思います。
次に、「10歩動かす」ブロックの「10」を「100」に書き換えます。
「10」のところをマウスで左クリックしますと、10が選択状態になりますので、100と入力してください。
同じように、「15度回す」を「90度回す」に書き換えましょう。
これは以下のようなプログラムになります。
左に表示されているスプライトを、
① 向いている方向に100歩進める
② 向きを時計回りに90度回す
では、2つ並んでいるブロックのどこでもよいですので、マウスで左クリックしてみてください。
最初に左を向いていたネコが、左に進んで下を向きましたでしょうか。
もう一度ブロックをマウスで左クリックしてみてください。
今度は、下に進んで時計回りに90度回転したと思います。
もう2回ブロックを左クリックすることで元の位置に戻ります。
これで基本的な流れの4まで終わりました。
動く歩数や回す角度を変えてみて、再度ブロックを左クリックしてみましょう。
動きが変わりましたね。
これで基本的な流れの6まで終わりました。
このようにしてプログラミングを行っていきます。
感じはつかんでいただけましたでしょうか。
ステージの表示内容を元の状態に戻す
色々試していますと、スプライトの位置や向きが変な状態になってしまって、元の位置に戻したくなると思います。
ネコの位置は、ステージ内のネコのスプライトをマウスでドラッグ&ドロップすることでお好きな位置に移動できます。
向きは、ブロックパレット内にあります「90度に向ける」ブロックを左クリックすることで元のように左向きになります。
ちなみに上が0度で時計回りに90度180度270度となります。
実は、ブロックパレット内の個々のブロックは、スクリプトエリアに置かなくても、ブロック単品の動きでしたらいつでも動作させることができます。
子供さんと一緒にプログラミングを行う場合はまず課題を提示する
文科省の小学校プログラミング手引によりますと、プログラミング教育はプログラムを作ることが大切なのではなくて、やりたいことを実現するためにはどんなプログラムを作れば良いのか考えさせることが重要だ、としています。
ですので、まずは「やりたいことを決めて」から、「どんなブロックを組み合わせればよいか考え」てみて、「実際にプログラムを作って動かしてみて試行錯誤させる」という感じで進めるのが良いのではと思います。
「適当にブロックを置いてみたらなんか動いたーおもしろいー」ではあまり意味がないです。
もうひとつ重要なことは、同じ結果になるプログラムは無数に存在するということです。
課題をクリアできたプログラムが完成しても、別の方法で再挑戦させるのも面白いですし、考える力も向上すると思います。
面白そうな課題を出せるようになるためにも、まずお父さんやお母さんがScratchで遊んでみて、アイデア探しをされることをおすすめします。
Scratch(スクラッチ)で使えるブロックの解説
前章でScratchでプログラミングを行う際には、課題が大切とお伝えしました。
でも課題は、教育的な観点が重要になってくると思います。
私は教育者ではありませんので、教育をふまえた課題をご提供するのは難しいです。
本記事では、色んな課題をご紹介するのではなく、Scratch内のブロックについて詳しく解説したほうがお役に立つのではと考えました。
ご興味のある方は本サイトのScratch関連の記事一覧をご覧いただければと思います。
プログラミングスクールのご紹介
子供さんの中には、プログラミングを経験することで、自分の思い通りに動くものが作れるということに強い興味をお持ちになるかたもいらっしゃいます。
小学校のプログラミング教育では、思ったほど授業時間は多くないようですので、物足らなさをお感じになる子供さんもいらっしゃるでしょう。
ネット上にはたくさんのScratchのプログラムがあふれていますので、それを使って勉強できれば良いのですが、他人が作ったプログラムをマネしても意味がありませんし、それを見てご自分でアイデアを出せるほど最初は応用力も無いでしょう。
一番怖いのは、プログラミング教育の本筋と離れた方向にいってしまうことですよね。
プログラミングに強い関心をお持ちになった子供さんを満足させるには、やはりプロにお願いするのが一番だと思います。
関心の高いご家庭では、すでにプログラミング教室に通われている子供さんも結構いらっしゃるそうです。
おすすめの教室や塾をいくつかご紹介しますので、お調べになってはいかがでしょうか。
授業を無料で体験できるところも結構あります。
※順不同です
Tech Kids School
アメーバブログやAbemaTVなどを運営している国内トップクラスのIT系企業(株)サイバーエージェントのグループ会社である(株)CA Tech Kidsが運営する子供向けプログラミングスクールです。
所在地: 主に東京、大阪、沖縄 (左記以外にもパートナー教室あり)
対象年齢: 小学生 1年から6年
利用教材: Scratch 他
体験授業: 無料体験有り
LITALICO(リタリコ)ワンダー
学習塾から障害者支援事業まで教育・社会福祉などで貢献している会社(株)LITALICOが運営している子供向けスクールです。
子供の創造性を養う教育をメインテーマとして掲げています。
所在地: 東京、神奈川、埼玉
対象年齢: 小学生 1年から6年
利用教材: Scratch 他
体験授業: 無料体験有り
STAR Programming SCHOOL
本州を中心に幅広く展開してますプログラミングスクールです。
本スクール監修のプログラミング学習書「小学生からはじめるゲームプログラミング(実務教育出版刊)」が書店で発売中です。
所在地: 東京、神奈川、千葉、埼玉、茨城、福島、群馬、新潟、滋賀、静岡、愛知、奈良、大阪、京都、兵庫、広島
対象年齢: 小学生 1年から6年
利用教材: Scratch 他
験授業: 無料体験有り(一部の教室のみ。詳細はお問い合わせ)
Knocknote Education
Scratchはもちろんのこと、3歳から始められるおもちゃを使ったプログラミング教室やロボット・電子工作、本格的なプログラミングまで幅広い教室を行っています。
skypeを利用したオンラインレッスンもあります。
所在地: 東京(四谷)
対象年齢: 小学生 1年から6年
利用教材: Scratch 他
体験授業: 体験有り(有料)※期間限定無料キャンペーン中
Switch
想像力と創造力を育む教育を理念においているプログラミング教室です。
Switchが独自開発したタイピング練習アプリでコンピュータ操作の基本を学べるのも特徴のひとつです。
所在地: 主に東京、大阪、愛知
対象年齢: 小学生 1年から6年
利用教材: Scratch 他
体験授業: 無料体験有り
子供さんの性格でお好みのスクールも異なってくると思いますので、体験授業をお受けになることをおすすめします。
ちなみに、大勢でワイワイ楽しくというスクールがご希望の場合は、 Tech Kids School【テックキッズスクール】 が良いと思います。
少人数制がお好みの場合は、 IT×ものづくり教室【LITALICOワンダー】 が良いかもしれません。
まとめ
「コンピュータを理解し上手に活用していく力を身に付けることは、あらゆる活動においてコンピュータ等を活用することが求められるこれからの社会を生きていく子供たちにとって、将来どのような職業に就くとしても、極めて重要である」と文科省の公式サイト内の解説記事に載っていました。
ご存知の通り、AI技術が激しく進化しています。身近なものだと自動車の自動運転技術でしょうか。
プログラミングに関して意識が低いと、AIに任せっきりになりがちです。
でも、自動車を作る人々と自動車に乗る人々のどちらもプログラミング教育を受けているとしたら、きっと素晴らしい車社会になるのではないでしょうか。
ぜひScratchを使いこなして、子供さんたちの明るい未来の創造のために一役買ってみませんか。
最後までお読みいただきありがとうございました!
参考:
コメント