見出し画像

Scratchで本当にプログラミング力は身につく?―エンジニア目線で考えてみた

子どものプログラミングについて調べると、かなりの確率でScratchに行き着きます。

でも、エンジニアの立場から見ると、私も最初は少し疑問がありました。

「ブロックを並べるだけで、本当にプログラミングになるんだろうか?」

仕事ではGoやJava、Pythonのような文字で書くプログラムを扱います。Scratchの画面を見ると、ゲームを作る遊びのようにも見えます。

それでも、子どもの最初のプログラミングとしてScratchがよく使われるのには理由があります。

Scratchで学ぶのは「文法」ではない

普通のプログラミングでは、ちょっとしたスペルや記号のミスで動かなくなります。

Scratchではブロックを組み合わせるので、こうしたミスがかなり減ります。
その分、「どういう動きにする?」「どんな条件なら、この処理をする?」に集中できます。

条件分岐、繰り返し、変数、イベント、座標、メッセージ。
普通のプログラミングにもつながる考え方がたくさんあります。

あとでPythonに進んだときに、「これ、Scratchでやっていたアレか」とつながることがあります。

最初から文字でコードを書くことより、まず「動きの仕組み」を理解する。Scratchはそこに集中しやすい道具です。

ただ遊んでいるだけでは、少しもったいない

Scratchを使っていれば、自動的にプログラミングが身につくわけではありません。

おすすめは、

遊ぶ → まねする → 変える → 自分で作る

という流れです。

最初は人が作った作品で遊んでもいい。次にチュートリアルを見ながら同じものを作る。そして、そこから一つ変えてみます。

敵を増やす。スピードを変える。ライフを3つにする。ステージを追加する。

この「変える」がかなり大切です。

見本通りに作るだけなら、手順をなぞるだけでも完成します。でも、自分で一つ変えようとすると、「どこを変えればいいんだろう?」と考える必要が出てきます。

「動かない!」は、かなりいい教材

システムの不具合調査では、「どこまでは正常なのか」を確認します。

Scratchでも同じです。

「どこまでは動く?」と聞いてみる。

キャラクターは動く。敵も動く。でも敵に当たってもゲームオーバーにならない。

そこまで分かれば、見る場所をかなり絞れます。

最初から正解を教えるより、「どこまでは動いているか」を一緒に確認する方が、プログラミングらしい考え方につながります。

最初からPythonではダメ?

本人が興味を持っているなら、Pythonから始めても構いません。

ただ、「将来役に立ちそうだから」という理由だけで選ぶのは、少し慎重になってもよいと思います。

Pythonでは、キーボード入力、英単語、記号、エラーメッセージなど、作りたいものとは別のところでつまずくことがあります。

Scratchは最初の「できた!」までの距離が短いのが強みです。

もちろん、最初からPythonに夢中になる子もいます。大事なのは、「何歳ならこの言語」という順番に当てはめることではありません。

Scratchはいつ卒業する?

「何年生になったらScratchを卒業するべきですか?」という考え方は、あまりしなくてよいと思っています。

卒業のタイミングは年齢より、「Scratchでは作りにくいものを作りたくなったとき」です。

Webサイトを作りたい。AIを使いたい。本格的なゲームを作ってみたい。文字でコードを書いてみたい。

そんな欲求が出てきたときに、PythonやJavaScriptなど別の道具へ進めばいい。

エンジニアはつい、技術を「初級→中級→上級」のように並べたくなります。でも、それは大人が整理しやすい順番でもあります。

子どもがきれいな順番で学ぶ必要はありません。

AIが出てきて、Scratchの次も変わってきた

以前は「Scratchの次はPython」というルートが分かりやすかったですが、今はその間にAIを入れられます。

たとえば、Scratchで作ったゲームを見ながら、

「もっと面白くするにはどうしたらいい?」

とAIに相談する。

そこからアイデアを選んで、自分で作品を改造してみる。

AIに全部作ってもらうのではなく、自分の作品を改造する相談相手として使うのは、面白い学び方です。

Scratchで目指したいところ


教材を何冊終わらせたかより、「自分の作品をいくつ作ったか」を見たいと思っています。

小さなゲームでも、クイズでも、アニメーションでも構いません。

「自分で考えたものを作ってみた」という経験が増えていけば、Scratchは十分にプログラミングの入口になります。

Scratchはゴールではありません。

テクノロジーを使って、自分のアイデアを形にするための、最初の道具の一つです。

次の記事では、Scratch、Minecraft、micro:bit、Python、生成AIを比べながら、「結局、うちの子は何から始めればいいの?」を整理します。


いいなと思ったら応援しよう!