まずは「抽象化」ですが、似ているものから共通するものを見つけ出す能力です。天ぷらうどんやきつねうどんなどいろいろな種類のうどんがありますが、共通しているのは「うどん」ということですね。これが「抽象化」です。

 今度は、月見うどんを想像してみましょう。どんぶりの中には、うどん、だし、卵、ネギが入っています。これらがひとつになると「月見うどん」ですが、その材料をひとつひとつ頭の中で取り出すのが「分解」です。

 では、先ほど「分解」した材料を使って、月見うどんを作ってみましょう。うどんを作るには、どういう手順で作ればいいでしょうか? ネギを刻んで、だしを作って、うどんをゆでて、どんぶりに盛りつけて、最後に卵を落とすのがいいですね。これが「順序立てて考える能力」です。

 では、実際にできたうどんを食べてみましょう。とてもおいしいですね。それはかつお節だけでなく、昆布もだしに使うとおいしくなりそうだと考えたからです。このように、どうしたらもっと良いものを作ることができるか、それを考える力が「分析する能力」です。

 せっかくなので、みんなにも教えてあげましょう。わかりやすい言葉で、誰でも作れるように説明するのが「一般化する能力」になります。

 こうした一連の思考を、より複雑な場面でも応用できるようにするのが「プログラミング的思考」となります。