A4の紙が、想像力の境界になる
フィンランドのプログラマーで、子ども向け絵本『ルビィのぼうけん こんにちは!プログラミング』の著者でもあるリンダ・リウカスさんが来日した際、直接お会いする機会がありました。私の記憶に強く残っているのは、こんな趣旨の話です。
「この紙に、好きな絵を描いていいよ」
幼児にA4の紙を渡してそう伝えると、子どもは紙の中に絵を描きます。それは当たり前のようですが、まだ何も制限していないつもりでも、A4という四角い枠が、いつの間にか発想の境界になっているとも考えられます。
では、「この床いっぱいに描いていいよ」と伝えたら、何が起きるでしょう。絵はもっと大きくなり、紙の外へ広がり、描くという行為そのものも変わるかもしれません。
私はこの話に強く感銘を受けました。プログラミング教育の話なのに、コードやパソコンより先に語られたのは、子どもの自由な発想を、最初から大人の用意した枠に閉じ込めないことだったからです。
この出会いとフィンランドの幼児教育から、私が学んだのは、幼児期から難しいコードを暗記することではありません。自由に発想することと、自分の行動をロジカルに捉え、仕組みにできる部分を見つける経験の両方が大切だということです。
ここで大切なのは、自由と仕組み化の順番です。発想するときは、A4のような無意識の枠をできるだけ外す。一方、思いついたことを実際に動かす段階では、必要な条件を意図的に定めます。
自由に発想したアイデアを、コンピューターが実行できる手順と条件に翻訳し、繰り返し使える仕組みにする。私は、それがプログラミングの本質の一つだと考えています。いわば、アイデアを定型処理へ落とし込む作業です。ただし、すべてを同じに固定するわけではありません。変わらない手順と、状況に応じて変わる部分を分け、それらをルールとして表すのです。
そのとき基本になるのが、何をどの順番で行うかという「順次」、どんな条件で行動を変えるかという「分岐」、何をいつまで繰り返すかという「繰り返し」です。自由な発想を先に広げ、その後で三つの基本に整理することで、アイデアは動かせる仕組みになります。
自由に発想する → パターンを見つける → ルールに整理する → 再現できる仕組みにする。
順次・分岐・繰り返しという三つの基本の中で、私が最も難しいと感じるのは、繰り返し処理です。同じ動作を繰り返すことではなく、目の前の別々に見える行動から、「これは繰り返し処理になるのでは?」と気づくことが難しいのです。
共通する動きを見つけ、変わる部分と変わらない部分を分け、どこまで続けるかを考える。この発想そのものが、ロジカルシンキングなのだと思います。幼児期から自分の行動をそのように眺める経験ができれば、プログラミングだけでなく、考えるための土台になります。
最近、AI開発の世界では「Loop Engineering」という言葉が注目されています。私には、これは突然現れた新しい考え方というより、日常の中から繰り返せる構造を見つける視点を、AIとの仕事へ広げたものに見えます。
そもそも、Loopとは何なのでしょうか。
Loopとは「同じことを繰り返す」だけではない
Loopは、日本語では「輪」や「循環」を意味します。プログラミングでは一般に、決めた処理を繰り返す仕組みを指します。
たとえば、10人に同じ案内メールを送る場面を考えてみましょう。一人ずつ宛先を選び、本文を入れ、送信する操作を10回行うこともできます。しかしコンピューターには、「名簿から一人ずつ取り出し、全員が終わるまで送信を繰り返す」と指示できます。これが基本的なLoopです。
一方、Loop EngineeringでいうLoopは、単なる反復より広い意味を持ちます。Google Chromeチームでの経験でも知られるAddy Osmani氏は、Loop Engineeringを、AIエージェントが仕事を見つけ、割り振り、結果を検証し、起きたことを記録し、次の行動を決める仕組みとして説明しています。大切なのは、一度AIに指示して終わるのではなく、結果を次の判断へ戻すフィードバックの輪を設計することです。
つまり、二つのLoopは区別しておくと分かりやすくなります。
- プログラムのLoop:決めた処理を、回数や条件に従って繰り返す
- Loop EngineeringのLoop:実行結果を確認し、記憶し、次の仕事を決める循環をつくる
どちらにも共通するのは、「いつ繰り返すか」だけでなく、いつ止めるかを決める必要があることです。止まる条件のないLoopは、プログラムでもAIエージェントでも、同じ失敗を延々と繰り返す危険があります。
参考:Loop Engineering — A New Discipline for Agentic Systems(Addy Osmani)
プログラミングを支える三つの基本
複雑に見えるプログラムも、考え方をたどると、主に「順次処理」「分岐処理」「繰り返し処理」の組み合わせでできています。
1. 順次処理——順番に進める
順次処理は、決められた手順を上から順に実行することです。
カレーを作るなら、「材料を切る」「鍋で炒める」「水を入れて煮る」「ルーを入れる」と進みます。ルーを入れてから材料を切るのでは、同じ結果にはなりません。

コンピューターは、人間なら常識で補える順番も勝手には補ってくれません。目的を実現するために、何をどの順番で行うのかを明確にする。それが順次処理です。
2. 分岐処理——条件によって選ぶ
分岐処理は、「もし○○ならA、そうでなければB」のように、条件によって次の行動を変えることです。
カレーを作るなら、味見をして「もっと辛くしたいなら唐辛子やスパイスを足す。子ども向けにまろやかにしたいなら牛乳やすりおろしたりんごを加える」と選べます。同じ鍋から始まっても、条件や目的によって次の行動が変わります。

「雨が降っていたら傘を持つ。降っていなければそのまま出かける」「会員なら割引する。会員でなければ通常価格にする」。私たちは料理以外の日常でも、無意識に分岐しています。
分岐を考えるときは、判断の条件が曖昧でないか、想定していない場合がないかを確かめます。これは業務ルールを整理するときにも欠かせない考え方です。
3. 繰り返し処理——終わるまで続ける
繰り返し処理は、決めた回数、または条件を満たすまで同じ流れを続けることです。
カレーを作るなら、「鍋を混ぜる」「味見する」「野菜のやわらかさを確かめる」という流れを、まだ固かったり味がなじんでいなかったりする間は繰り返します。十分に煮込めたら、繰り返しを終えて盛り付けます。

「クラス全員の答案を一枚ずつ採点する」「部屋がきれいになるまで、落ちている物を一つずつ片づける」といった行動も、同じように繰り返しとして捉えられます。
繰り返し処理の難しさは、同じ指示を何度も実行することより、まず繰り返せる構造を発見することにあります。たとえば、10人に案内を送る作業を10個の別々な仕事として見るのではなく、「宛先だけを変えて同じ手順を行う仕事」と捉え直します。
そのうえで、「何を繰り返すか」「どの部分が毎回変わるか」「続ける条件は何か」「どこで終わるか」を分けて考えます。ばらばらに見える行動から共通の型を見つけることが、繰り返し処理を考える第一歩です。
Loop Engineeringにつながるのも、この発見です。ただし、AIのLoopでは、その中に順次処理と分岐処理も含まれます。結果が合格なら終了し、不合格なら原因を調べて修正する、というように三つの基本が一つの循環になります。
より業務に近い例は、関連記事の非エンジニアこそ武器にしたい「3大要素+変数」の思考法でも紹介しています。
なぜ小学校でプログラミング教育が始まったのか
日本では、2020年度から小学校でプログラミング教育が全面実施されました。ただし、「プログラミング」という独立した教科ができ、全員が特定の言語を暗記するようになったわけではありません。算数や理科、総合的な学習の時間など、既存の学びの中で取り組みます。
文部科学省が重視しているのは、プログラムを書ける子どもを早くから選抜することではなく、「プログラミング的思考」を育てることです。文部科学省はこれを、自分が意図する活動を実現するために、必要な動きの組み合わせ、記号への対応、組み合わせ方、改善方法を論理的に考えていく力と説明しています。
社会のさまざまな場面がコンピューターに支えられるようになったからこそ、仕組みをただ使うだけでなく、どのような手順で動いているかを考え、自分の目的に活用する力が必要になりました。この力は、将来エンジニアになる子どもだけのものではありません。
参考:小学校プログラミング教育の円滑な実施のための取組(文部科学省)/小学校総合的な学習の時間におけるプログラミング教育(文部科学省)
フィンランドから学んだ「コードより前」の教育
『ルビィのぼうけん』には、プログラムのコードが一文字も出てきません。前半は、想像力豊かな女の子ルビィが、パパの隠した宝石を探す物語です。後半の練習問題では、大きな問題を小さく分ける、規則性を見つける、手順を考えるといった、コンピュテーショナル・シンキング(問題を分解し、解ける形にする考え方)に親子で触れられます。
この本は2014年、クラウドファンディングのKickstarterから始まりました。当初1万ドルだった目標に対し、38万ドルを集めて実現したと、リンダさんの公式サイトで紹介されています。私は、多くの支援が集まった背景の一つに、子どもを早くから「小さなプログラマー」にするのではなく、考える人、物語をつくる人として育てようとする姿勢への共感があったのではないかと感じます。
フィンランドの幼児教育も、「幼児にプログラミング言語を教える」と一言で表すと、本質を見失います。国の幼児教育カリキュラムでは、遊びを学びの中心に置きながら、デジタル能力を横断的な力の一つとして位置づけています。また、国の「新しいリテラシー(New Literacies)」プログラムは、プログラミングの力を幼児教育、就学前教育、基礎教育へ続く学びとして整理しています。
紙の大きさから自由にする。物語の中で問題を見つける。大きな問題を小さくする。友だちや大人と、別のやり方を試す。そこには、コードを書く前に身につけたいロジカルシンキングがあります。
子どもの毎日は、着替える、手を洗う、積み木を並べる、片づけるといった行動の連続です。それを「どんな順番で進めたか」「どんなときにやり方を変えたか」「同じ動きを繰り返していないか」と考えてみる。ばらばらに見える行動の中から、繰り返せる構造を自分で発見する経験に、私は大きな価値を感じました。
幼児期から自分の行動をロジカルに考えることは、自由な発想を抑えることではありません。思いついたことを実際の行動へ変え、試し、改善できるようにすることです。その小さなLoopを見つける経験は、私の中で、今の仕事やAIの動かし方を考えるLoop Engineeringへつながっています。
参考:Hello Ruby(Linda Liukas公式サイト)/『ルビィのぼうけん』をAmazonで見る/『ルビィのぼうけん』国立国会図書館サーチ/日本語版刊行時の紹介(翔泳社)/フィンランド幼児教育の国家コアカリキュラム/New Literacies Programme
欧米でも重視される、手順と問題解決の考え方
「欧米では」と一括りにせず、制度の違いも見ておきましょう。
イングランドでは、コンピューティング(Computing)がナショナル・カリキュラムに位置づけられています。初期段階からアルゴリズムや簡単なプログラム、論理的な推論に触れ、その後は順次・選択・繰り返しや変数を使って課題を解く構成です。日本の三つの基本とよく似た言葉が、学習内容として明示されています。
一方、米国では州や地域が教育内容を定めるため、日本の学習指導要領に相当する連邦政府の全国一律カリキュラムはありません。米国国立科学財団(NSF)はCSforAllを通じて、就学前から高校まで、すべての児童・生徒がコンピューターサイエンスを学べる機会を広げる研究や、研究者と教育現場の連携を支援しています。方向性は共有されていても、実施方法は国や地域で異なります。
参考:Computing programmes of study(英国政府)/教育における連邦政府の役割(米国教育省)/CSforAll(米国国立科学財団)
「これは繰り返しにできないか」から始まるLoop Engineering
生成AIは、一度の依頼でも文章やコードを作れます。しかし、仕事として使うなら、「何かを出力した」だけでは完成ではありません。要件を満たしているか、間違いはないか、別の部分を壊していないかを確かめる必要があります。
人が毎回AIへ次の指示を出し、結果を確認し、修正を頼んでいるなら、そこにも繰り返しがあります。「この一連の仕事は、Loopとして設計できるのでは?」と気づくことが、Loop Engineeringの始まりです。
Loop Engineeringでは、たとえば次の循環を設計します。
- 目的と、今取り組む仕事を決める
- 人やAIエージェントへ仕事を割り振る
- 実行する
- テストやレビューで結果を確かめる
- 結果と判断を記録する
- 合格なら止め、不合格なら次の修正へ進む
これは、人間をLoopから外す考え方ではありません。何を目指すのか、何を合格とするのか、どこで止めるのかは、人間が責任を持って設計します。AIが高速に繰り返せる時代ほど、目的や検証方法が曖昧なLoopは、間違った方向へも高速に進みます。
最初のA4の話に戻ると、自由な発想と論理的な手順は対立しません。発想するときには枠を外し、仕組みにする段階で、順次・分岐・繰り返しに整理します。
仕組み化のために設ける条件は、発想を閉じ込める無意識の枠とは異なります。自由に広げたアイデアを、実行し、検証し、改善できる形へ変えるための意図的な設計です。論理は発想を狭める枠ではなく、発想を現実へ運ぶ道筋なのです。
ロジカルシンキングは、エンジニアだけのものではない
順次処理は、仕事の段取りをつくる力です。分岐処理は、条件や例外を整理して判断する力です。繰り返し処理は、日常の中から共通する動きを発見し、結果を見ながら改善を続ける力です。
営業で顧客への提案を改善するときも、介護で一人ひとりの状態に合わせるときも、料理を作るときも、子どもが遊び方を工夫するときも、この三つの考え方は使われています。
プログラミング教育の価値は、全員をエンジニアにすることではありません。自分の考えを分解し、相手に伝わる手順にし、結果を確かめ、よりよい方法へ更新できるようにすることです。
自由に発想する。パターンを見つける。ルールに整理する。再現できる仕組みにする。
そして、動かした結果を見て、考え直す。
「これは繰り返し処理になるのでは?」と問いかけてみる。そこから、見慣れた行動の中に新しい構造が見えてきます。
Loopは、自由な発想を現実へ近づけるための仕組みです。そして、そのLoopを発見し、組み立て、改善していくロジカルシンキングは、エンジニアだけではなく、これからを生きる私たち全員のための力なのだと思います。

