こんにちは。
iTeen和歌山駅前校の大野です。
今回のテーマは、「Scratch言語プログラミングの注意点」についてです。
今回はScratch言語でプログラミングを学習している方にとっては特に大切な内容になりますので、最後まで目を通していただければ幸いです。
~Scratch言語の良いところ~
当校でもプログラミングを学びたての生徒をはじめ、多くの生徒がScratch言語を使用しています。
Scratch言語の良いところは小さなお子様でも直感的にプログラムを組み立てることができるところです。
「テキスト型言語」と呼ばれる数字と英語と記号の羅列で構成されたプログラミングは小さなお子様はもちろん大人でも扱いが難しく、なんとなく近づきがたいものだと思っている方も少なくないと思います。
Scratch言語はそんな扱いづらいプログラミングをより分かりやすく、それこそ小さなお子様でも楽しく学べるような身近な存在であると思わせてくれる良い言語です。
~Scratch言語の注意点~
ここからが本題です。
上記の通り、Scratch言語はプログラミング学習の導入としては非常に頼りになり、学校のプログラミング授業でも利用されています。
しかし、Scratch言語で学習を続けていくと良くない習慣が付いてしまうことがあります。
それは、「直感的にプログラムを組み立てること」です。
先程は、良いところとして紹介した「直感的」というワード。これはプログラミング本来の「論理的思考」という考え方とは真逆なワードです。
プログラムは「組み立て」と上手く動かなかった時に「修正」を行うものです。
直感的にプログラムを作り続けると、「合っているかは分からないけどとりあえず直感的に組み立て、ダメだったら当たりを引くまでひたすらに直感的に修正をする」という「数うちゃ当たる戦法」を自分で編み出します。
この方法に頼るとほとんどの場合、次も同じ間違いをします。そしてまた直感的に修正し、また同じ間違いをする、というループになります。
これではプログラムが動いたとしても、問題を解決したとは言えません。
また、Scratch言語では、直感的に作業が出来てしまうが故に「数うちゃ当たる戦法」でなんだかんだプログラムが動いてしまいます。そうするとこれでプログラムが動くならこの戦法が通用すると思い込んでしまい習慣化してしまいます。
しかし、この戦法が通用するのは初めのうちや非常に簡単なプログラムだけで、本格的なプログラムの前では全く歯が立たなくなります。もちろん、Scratch言語でも難しいプログラムを作るとなると通用しません。
プログラミングに求められる能力は「物事を順序だてて考える力」「問題点を探し出し、解決策を考える力」つまり、「論理的思考力」です。
ここまでだと、Scratch言語で学習することに良くないイメージがついてしまうかもしれないですが、冒頭の通り、プログラミングを最初に学習するには非常に優れています。
また、直感的にプログラミングしやすいだけで、直感的にしかできないわけではありません。
Scratch言語も歴としたプログラミング言語のひとつで論理的に作業をしようと思えばいくらでもできます。
当校でも、各生徒の様子を見て、直感的から論理的に移行できるように少しずつ練習をしてもらっています。すぐに身につく力ではないので時間はかかりますが、論理的思考力が身についてきた生徒はより一層楽しそうにプログラミングを学習してくれています。
また、実力が付いてきた生徒にはScratch言語を卒業し、さらに本格的な「Unity」を使ったゲーム作成を学習していただいています。
~まとめ~
少し長くなりましたが、まとめると
Scratch言語で学習を続ける際は、直感に頼りきりになるのではなく、「なぜ、そう組み立てたのか」明確な理由を含んだ論理的思考力を身に付けながら学習を目指しましょう
という事です。
この目標を掲げながら一日でも早く良いプログラマーになれることを願っています。