メインコンテンツへスキップ
見出し画像

エラーは失敗じゃない——小学生のプログラミング教育が、大人にも教えてくれること

    こんにちは🌸コスモスです。

    先日、姪っ子がタブレットに向かって何やら熱心にやっているなと思って見てみたら、スクラッチでゲームを作っていました。学校で少し習ったらしく、すっかりハマっている様子でした。

    隣で見ていると、少し手が止まって固まっていたので

    「困ってる?」と聞いたら、「うーん、なんかおかしいんだよね」と言いながら、ブロックを一つ外して、また試して、また外して。

    気づけば30分が過ぎていました。

    その集中力を見ながら、私はエンジニアとしてずっとその子と同じことをやってきたんだなと思いました。


    小学校で「プログラミング」を習うって、何をするの?

    2020年から小学校でプログラミング教育が必修になりました。「うちの子、プログラミングって言ってるけど、何をやっているんだろう」と思っている親御さんも多いかもしれません。

    実は、プログラミングの処理は基本的にたった3つの組み合わせでできています。

    ① そのまま処理する(順次)
    上から順番に、書いた通りに実行する。「まず右に3歩、次に前に2歩」という指示を、書いた順番通りにこなす。

    ② 条件で分岐する(条件分岐)
    「もし〇〇なら△△する、そうでなければ□□する」という分かれ道。「もし雨なら傘を持つ、晴れなら持たない」という判断と同じです。

    ③ 繰り返す(ループ)
    同じ処理を何度も繰り返す。「10回ジャンプする」を1行で書けます。

    これだけです。複雑に見えるゲームも、AIも、企業の基幹システムも、突き詰めればこの3つの組み合わせでできています。


    エンジニアが現場で怒りたくなる瞬間

    ここで少し、現場の話をさせてください。

    エンジニアとして働いていると、時々こんなエラーメッセージに出会います。

    「システムエラーが発生しました」

    ……それだけ?

    何が起きたのか。どこで起きたのか。何をすれば直るのか。何も教えてくれていません。

    正直、こういう設計を見ると、頭を抱えてしまいます…。

    でも、この怒りの裏側に、プログラミング教育の本質が隠れていると思っています。


    エラーは「失敗」じゃなく、コンピュータからの手紙

    プログラミングが他の勉強と根本的に違うのは、エラーが「正解への道標」として出てくる点です。

    国語や算数でバツをもらったら「間違えた」で終わります。でもプログラミングのエラーメッセージは、「なぜ動かないか」を教えてくれています。

    たとえばこんなメッセージが出たとします。

    「3行目:変数が定義されていません」

    これは「3行目に、まだ名前をつけていない箱を使おうとしていますよ」という親切な案内です。怖くない。むしろありがたい。

    私が新人だった頃、エラーが出るたびに「また失敗した」と思っていました。でも今は「情報をもらえた」と思います。エラーは失敗の証拠じゃなく、コンピュータからの手紙なんです。

    「システムエラーが発生しました」だけで終わる設計が腹立たしいのは、その手紙の中身を全部消してしまっているからです。


    諦めない力より、「原因を探す習慣」

    プログラミングで本当に身につく力は何か。「諦めない力」とよく言われます。でも私は少し違うと思っています。

    正確には、「うまくいかない時に、感情より先に観察する習慣」だと思います。

    スクラッチでキャラクターが思った通りに動かない時、子どもは(私も)まずこう考えがちです。「なんで動かないの!?」という感情。

    でも少し経験を積むと、こう考えるようになります。「どこで想定と違ったんだろう?」

    一連の処理を細分化して、「ここまでは合ってる、ここから違う、だからここが原因だ」と分析できるようになると、それはもうプロの思考です。

    この「観察→仮説→検証」のループは、プログラミングだけじゃなく、仕事でも、子育てでも、人間関係でも使えると思いませんか?


    親御さんへ——「わからない」は一緒に楽しむサイン

    「プログラミング、難しそうで教えてあげられない」という親御さんへ。

    教えなくていいんです。

    「なんでこうなったんだろうね?」と一緒に考えるだけで十分です。エラーメッセージを怖がらずに「これ、何を言ってるんだろう?」と読んでみる。ブロックを一つ外して、また試してみる。

    その姿勢を見せるだけで、子どもは「大人でもわからないことを、一緒に考えるんだ」ということを学びます。

    壁にぶつかった時に「逃げる」ではなく「観察する」

    「システムエラー」としか教えてくれないエラーに怒りを感じるのも、裏を返せば「ちゃんと教えてほしい」という気持ちの表れ。

    感情より先に観察する習慣。

    それをプログラミングは自然に教えてくれます。


    最後まで読んでくださってありがとうございます🌸

    もしこの記事が「なるほど」と思える部分があったなら、スキを押してもらえると励みになります。
    フォローしてくれた方、いつもありがとうございます。次の記事でまた会いましょう!

    画像

    #プログラミング教育 #エラー #論理的思考 #子育て #ITエンジニア #スクラッチ #親子 #エッセイ #毎日note #スキしてみて

    ※本記事は個人的な見解に基づくエッセイです。

    この記事が参加している募集

     
     
    📈投資を身近に 🎨AI創作で笑って 🌱交流でつながる。 コスモス🌸・ルーモ✨・エール💜の3人で楽しく発信中💕 気軽にコメントでお話しましょう😊 質問箱にて創作(物語、音楽、動画)の リクエストも募集中✨

    あなたへのおすすめ