プログラミングを教えていると、
子どもたちがよくつまずきながらも楽しそうに取り組む“あるポイント”があります。
それは、
「人間の当たり前」と「コンピューターの考え方」は実はちがう
というところです。
■ 子どもたちが必ずぶつかる“最初の壁”
たとえば、
チェックマークをつける機能を作るときに、
最初に「押されていませんよ」という意味のデータを入れておきます。
すると生徒がよく言います。
「最初は空っぽでいいんじゃない?
空=押してないってことでしょ?」
これ、本当に自然な考え方です。
私たち大人も同じように感じると思います。
でも、コンピューターはそうはいきません。
“空っぽ” と “押していない” をしっかり区別します。
空っぽ → まだ決まっていない状態
押していない → 押していないと明確に決まっている状態
人間は感覚でなんとなく理解できますが、
コンピューターには曖昧さが通じません。
■ ここに、プログラミングの学びの本質がある
だから子どもたちは、
ひとつひとつ意味を考えながら進めていきます。
これは何を表しているんだろう?
今はどんな状態なのかな?
この考え方で合っているのかな?
こういう“少しの違い”を丁寧に整理していくことで、
自然と考える力が育っていきます。
学校ではなかなか触れる機会のないタイプの思考ですが、
プログラミングでは遊ぶように、楽しみながら身につけられます。
■ 小さな積み重ねが、未来につながる力になる
「なんでこうなるんだろう?」
「どうしたらうまく動くんだろう?」
生徒たちのこうした疑問は、
全部“考えるトレーニング”そのもの。
答えを丸暗記するのではなく、
自分で理由を探して、自分で動かしてみる。
そんな経験を積み重ねていくうちに、
どんな分野にも通じる“考える力・整理する力”が育っていきます。
■ 最後に
プログラミングは、ただのスキルではなく、
子どもたちの頭の中を整理する力や、
「自分で考える楽しさ」に気づくきっかけになります。
これからも子どもたちと一緒に、
“どうすればうまくいくかな?”
と試行錯誤しながら、楽しみつつ成長していけたらと思います。
