プログラミングを検討されてる方が色々検索をすると
プログラミングを習うことは
プログラミング的思考(論理的思考)を学べる

と言う事が出てくると思います
※プログラミング的思考とは?

子どもの習い事にプログラミング教室を検討するのは
水泳や英語、サッカーやピアノなどと一緒で
目的は「子どものこれからの為に、何か力(スキル)をつけてほしい」と言う事だと思います

その目的を達成するための1つとして
プログラミング教室があると言う事ですが
プログラミング的思考(論理的思考)をこのブログで体験してみませんか?

特にPCのスキルは入りません
やる事は
考える→分析(分解・構築・予想)→検証
です

「スクラッチ」を使えば無料で使えます
少しさわるくらいなら、アカウントも入りません
アカウントを作ると、自分の作ったプログラミングが保存できたりします
以下を読むだけでもできます

このブロック(プログラム)はネコ(スプライト)に指示をしており
「上向き矢印」キーが押された時に
「10」歩動かす
となっています

これを
「【左】向き矢印」キーが押された時に
「10」歩動くようにするにはどうすればいいでしょうか?

答えは言ってるようなものですが
「【上】向き矢印」を「【左】向き矢印」に変えれば良いのです

さあ、左向き矢印を押すとどうなるでしょう?
結果は「上に10歩動く」です

え?左に動かないの?と思いませんでしたか?

残念ながら左には動かないのです
ちなみに
「上」を上・下・スペース、他にもa,b,cでも
結果は全て「上に10歩動く」です
なぜでしょう?なぜなら、「そういうプログラム」だからです
人間なら、右なら右、それなら左は左に、上は上に、下は下にと思いますが
プログラムは「プログラムされた通り」にしか実行しません

なので、押された向きの矢印と同じ方向に進むようにするには
やり方はいくつかありますが
それぞれのキーが押されるブロックに対して
それぞれ進むブロックを付ける必要があります

青いブロックの内容が少し変わってるのが分かりますか?
昔習った「X,Y座標」が出てきます
中心をX,Yをそれぞれ(0.0)とした時にX軸は横移動、Y軸は上下移動をします

ここまでで
考える→分析(分解・構築・予想)→検証
を全て行いました
ここまでなら
小学生の低下学年の子でも特に抵抗なくできるし、
ここからカスタム(応用)もしていきます

例えば
スペースーを押したら
どこかの場所に行くと言うブロック
を使えば
プログラム通り、スペースキーを押したら
ランダムに移動します

今やってきたことは
主にブロックを使ってネコの動きを予想したり
動かしたりと思考を使ってきました

実は、小学生の低学年の子ではこれが勉強・知識として教えるなら
かなり難しいのです
まず「X,Y座標」が分からないし、「-10」の「マイナス」の概念がありません
ランダムに移動のランダムは「乱数」だし、高度の事をしているのです

しかし、大事なのは「X,Y座標」「-10」「乱数」ではなく、
・どうブロックを組み合わせたら思った通りに動くのか
・なんで思った通り動かないのか?なんでこんな動きをするのか
・ここを組み直したらどうなるか
を繰り返し
・ここを組み替えて、こうすればできた
と言う思考です

やっていくうちに「座標」「マイナス」「乱数」はもちろん
プログラムの知識として
変数」「条件分岐」「ループ処理」「アルゴリズム」なども習いますが
意外にも、子どもたちの方が
柔軟と言うか、そう言うものとすんなり受け入れていき
慣れてくるとゲームを見て、部分的にですが、どこにどんなプログラムが使われているか
分かってきます

当プログラミング教室としては、
現役のエンジニアが、未経験の子にも分かるようにカリキュラムを考えて指導をしています
長く学ぶ事で、もっと複雑なプログラムを組む事も可能ですが
この「スクラッチ」はあくまでもツールの一つなので
プログラムや考え方を学ぶにはとても良いですし、
次のステップに進む事で、より本格的なプログラム言語を学ぶ事もできますし、
「スクラッチ」を習う事で、この「思考」を生活や学校、部活や趣味にも活かすことができます

「スクラッチ」のツールが使えるスキルより、
「スクラッチ」を使って何をどう考えるか?

他のプログラミング教室も、そうだと思いますが、
スクラッチのスキルが上がれば、より複雑なゲームも作れるようになりますし、
プログラミングの基礎としての概念や、知識も養うことができます
プログラミングを学んで、これからどう成長していくか
もちろん、プログラマーやエンジニアとしてプロを目指す事も可能ですが、
少しでも興味を持ったり、やったら楽しかったと思えたり、興味を持ってもらえる人が増えれば良いなと思います