こんにちは、Яeiです。
今回は現役エンジニアかつ一児のパパである私が、子どもにプログラミングを教える際に教材として使いたい言語について実際に試してみた結果をシェアしたいと思います。
学校ではプログラミングがついに必修化されました。
しかし、今までプログラミングをやってきていない先生や親にとっては悲痛な叫びとなるのではないでしょうか。
そこで、私達親世代も子どもに聞かれた際に答えられる程度にはプログラミングを学ぶ必要があるのです。
今回は子どもにプログラミングを教える際に、Scratchと呼ばれる言語は良き教材となり得るのか検証していきたいと思います。
そもそもプログラミングとは何かを理解されたい方は以下の記事を見てみて下さい。
目次
Scratchとは
Scratchとはプログラミング言語の一種なのですが「視覚的にプログラミングができる」という珍しい言語となります。
(珍しいといえどもいくつか種類はあります。)
どういうことかというと、プログラミングと聞いてイメージされるのは以下のようなテキストベースでゴリゴリとコードを書いていく作業かと思います。
しかし、Scratchでは次のように、文字を記載するのではなく視覚的にプログラミングを行っていきます。
これなら知識はそこまで必要としないながらもプログラミングを学ぶ事が出来そうです。
また、Scratchは複雑な環境構築もなく、動作もすぐに確認が出来るということもあってプログラミングの参入障壁が限りなく低いことも魅力の一つなのではないでしょうか。
Scratchを触ってみる
ここでは、実際に触ってみながら何となくイメージを掴んでいきましょう。
Scratchは以下のサイトにアクセスすることで簡単にプログラミングを開始することができます。
サイトにアクセスしましたら、今回はお試し程度なので「作ってみよう」を選択してください。
すると以下のような画面が表示されまして、ここでプログラミングをおこなっていきます。
チュートリアルもついてまして、作りたいものに応じて丁寧に動画形式で紹介されております。
試しに見てみましょう。画面上のチュートリアルを選択してください。
気になるものが多いですが、いったん簡単そうな「名前を動かしてみよう」に挑戦したいと思います。
(「さあ、はじめましょう」からチュートリアルを始めるのが筋な気がしますが)
すると以下のようなチュートリアル動画が表示されますので再生してチュートリアルを動画で見ることができます。
それではチュートリアル通りにまずは作ってみましょう。
画面右下の背景を選択します。
今回は「Forest」を選択してみました。
すると、おぉ!画面右上に選択した背景が反映されました。
これだけでもなんだかワクワクしますね。
次に、画面右下の「スプライト」→「描く」を選択します。
すると以下のような画面になりますので、テキストを選択して好きな文字を入力して下さい。
なお、ここで色や文字サイズ、文字の種類も一緒に変更可能です。
次に、画面上のタブ「コード」を選択してプログラミングしてみましょう。
例えば、チュートリアルに沿うと次のように左側からドラッグ&ドロップしましょう。
後は先ほどの文字をクリックすると音が鳴りますので試してみて下さい。
(クリックする場所によって若干感度が悪かったりするのでご注意下さい)
チュートリアルは以上ですが、こんな感じで視覚的・直感的にプログラミングができました。
(名前はまだ動いてないやーん!と思いましたが、チュートリアルを進めていくとたどり着けそうでした)
ちなみに、チュートリアルで遊んだところ、以下のようなチープなものが簡単にできました。笑
① 上の緑の旗をクリックすると謎のキャラクターが「こんにちは!」としゃべります。
② (普段は非表示が良さそうですが)5回クリックすると謎のキャラクターに怒られる。
しかも謎にリンゴを放出するという謎っぷり(このリンゴは謎のキャラクターが吐き出して右の彼方に消えていきます)。
ビジュアルですぐに確認できるのはやはり楽しいですね。
各スプライト(一個一個のキャラクター)ごとにプログラムが書けるようでして、このしょぼい素敵な作品は以下のようなコードになります。
(機能確認で作っているので参考にはならないと思いますが一応掲載しておきます)
はい、今回は作品というよりも無理やり制御文など使ってみて所感をつかんでみた次第です。
チュートリアルだけでも普通に楽しいです!
教材に使えるかの検討
良かった点
Scratchの良かった点は以下となります。
①環境構築が不要なのですぐにプログラミングを試せる
②視覚的にすぐに結果が分かるので楽しい
③チュートリアルも充実しており、簡単にプログラミングができる
何より手軽にプログラミングが出来るという点と、楽しいという点は高く評価すべきだと思います。
通常のプログラミングの場合、結果が見て取れるまでに必要な知識がかなりあります。
また、プログラミングの勉強をしたいのに、環境構築が初心者にとってはハードルが高かったりします。
その点スクラッチの場合は、すぐにプログラミングに入れて、かつ実際にキャラクターが動いている様子が分かりますので楽しいです。
子どものプログラミング学習として「楽しい」ということは何よりも大切だと思いますので、Scratchはかなり良さそうです。
悪かった点
Scratchの悪かった点は以下となります。
①教える人がある程度導いてあげないとプログラミングの勉強としてはあまり身につかない可能性がある
②エディタがすこぶる見辛い
③実はビジュアルプログラミングの方が難しい説
Scratchに限った話ではないのですが、「プログラミング学習」として取り組むにあたってはある程度有識者が導いてあげないとわざわざScratchをやっている意味は少ないかもしれません。
それこそ、何も意識しないでやっているのであれば、ゲームをやっているのとあまり効果は変わらないような気もします。
また、ある程度プログラミングをやったことのある方は「逆に難しい」と感じるかもしれません。
慣れの問題でもありますが、ビジュアルプログラミングの場合は機能の制約などが当然ありますので自由度が低くなります。
エディタも個人的には見辛く感じたので「わざわざビジュアルプログラミングを学ぶのであれば非ビジュアルな簡単な言語から入った方がよいのでは?」という意見もありそうです。
結論
キーボードタイピングが苦手なうちはScratchでプログラミングイメージをつけるのは全然ありだと思いました。
何より楽しいので子どもは夢中になって取り組むと思います。
そのため「プログラミングは楽しい!」と思ってもらうためにも最初の言語としてScratchを採用したいと思いました。
ただし、ある程度キーボードタイピングに慣れてきた際には、通常の非ビジュアルなプログラミングにシフトさせたいとも思いました。
結局、プログラミングは非ビジュアルが主流ですので、ビジュアルプログラミングを極めてもあまりお仕事にはつながっていかないのが現状です。
そのため、Scratchも背後ではプログラムコードが作成されて動いていることを示唆しつつ、自然な流れでシフトできるような計画を立てたいと思います。
当記事は以上となります。
子どものプログラミング学習としてScratchと呼ばれる言語はどうか検討してきました。
キーボードタイピングに不慣れなうちはScratchで楽しく学習するのは一案としてありだと思いました。
しかし、どこかのタイミングで本格的なプログラミング学習へと切り替えるタイミングは出てくるとも思いました。
とはいえ、まずは楽しくないと学習も続かないので皆様も検討してみてはいかがでしょうか。
他のビジュアルプログラミング言語より子ども教育の第一歩としてはScratchが良いと感じておりますが、機会を見て他のビジュアルプログラミング言語も検討してみたいと思います。
長々とお疲れさまでした!