コンテンツへスキップ

小学生が直面するスクラッチの難しさ:感覚的に操作できるがゆえの問題点と解決案

最終更新日:2024年3月3日

ad-earth-shop-online

スクラッチの難しさ

スクラッチは、ブロックをドラッグアンドドロップするだけでプログラミングできるという利点がありますが、それが逆に問題を引き起こすこともあります。特に、小学生が直面するスクラッチの難しさの一つに「同時実行処理を簡単にプログラミングできてしまう」ということが挙げられます。

同時実行処理とは

同時実行処理とは、複数の処理を同時に行うことです。スクラッチでは、緑の旗やキーボードなどのイベントブロックを使って、複数のキャラクターにそれぞれ別々の動きをさせることができます。これは、同時実行処理を簡単にプログラミングできるという意味では素晴らしいことです。

scratch-difficulty1

スクラッチでは、上記のように数個のブロックを使うだけで簡単に同時実行処理がプログラミングできます。このコードを実行すると以下のような結果となります。公衆電話をクリックすると、他の電話のプログラムが同時に実行されることが分かります。

感覚的に操作できるがゆえの問題点

同時実行処理は、とても難しいプログラミングの技術です。プログラマーとして働いている社会人でも、その概念を理解し、正しく実装できる人間は限られています。また、同時実行処理の結果は常に同じになるとは限らないので、あるときはうまくいき、あるときはうまくいかない、といった現象がよく発生します。そして何より、スクラッチには排他制御の仕組みがないので、同時実行処理を正しく実装することは不可能なのです。

解決案:シーケンス図を使って同時実行処理の流れを把握する

同時実行処理の難しさを解決する方法の一つは、シーケンス図という図表を使うことです。シーケンス図とは、時間の流れに沿ってイベントや処理を表す図表です。シーケンス図では、時間やオブジェクト(キャラクターや背景など)、オブジェクト間のメッセージ(イベント)を矢印で表します。シーケンス図を使うと、同時実行処理の流れが視覚的に分かりやすくなります。

記入例
記入例「背景が【戦闘開始】というメッセージを送ったとき」

もちろん、シーケンス図が同時実行処理の問題をすべて解決してくれるわけではありません。それでも、同時に実行されているプログラムを把握することでプログラミングがしやすくなりますし、デッドロック(同時実行中のプログラムが先に進まなくなる)になっているコードを発見しやすくなります。

まとめ

小学生が、同時実行処理や排他制御などの概念を理解し、プログラミングすることは難しいと思います。この難しさを解決する方法の一つは、シーケンス図を使って同時実行処理の流れを把握することです。独学で理解するには難しい内容だと思うので、プログラミング教室の先生などに質問してアドバイスを受けることをおすすめします。

最終更新日:2024年3月3日

おすすめの小学生向けプログラミング教室

ad-earth-shop-online

当教室をおすすめする理由

完全個人レッスンで、お子さま一人ひとりに合わせたアドバイスをします
月謝が安いので続けやすい
(月4回コース:7,000円、都度コース:1回につき2,000円 ※1回55分授業)
オンラインレッスンなので、送迎が不要
プログラミングの大会応募や検定受験などを中心に年間スケジュールを作成します
小学3年生から受けることができます
保護者の方がレッスンを見守ることができる

ゲーム作りを通して、楽しくプログラミングが学べます

「スイカゲーム」や「マインクラフト」、「フォートナイト」など、人気のゲームを作れるようになります。生徒が作りたい作品に取り組むので、プログラミングに夢中になる子もいます。保護者の方から、「授業がない日でもプログラミングをしています」という嬉しい報告を多数いただいています。

games

選べる「入会特典」

① 最初の月謝が無料

 55分のレッスンを4回無料で受講できます

② ディスプレイをプレゼント

 ディスプレイを二つ並べて作業効率をアップさせよう!

ad-earth-shop-online2

広告

最終更新日:2024年3月3日


E

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA