「プログラミング的思考」とは、問題を解決するためにプログラムを書くときの考え方を応用して、物事を論理的・体系的に考えることです。必ずしもコンピューターにコードを書く場面だけでなく、日常の問題解決にも使える思考法として注目されています。
もう少し具体的に言うと、次のような要素があります。
分解(分割)
複雑な問題を小さな問題に分けて考える。
→ 例えば「料理をする」を「材料を揃える」「下ごしらえする」「調理する」「盛り付ける」に分けるイメージです。
抽象化
必要な情報だけに注目し、不要な情報を切り捨てる。
→ レシピを見るときに「何人分なのか」「使う器具は何か」を考えますが、調理場にない情報は無視します。
パターン認識
似たような問題や状況を見つけて共通点を探す。
→ パスタをゆでる時間は種類によって違うけど「袋に時間が書いてある」という共通点があります。
アルゴリズム的思考(手順化)
目的を達成するための最適な手順を考える。
→ 料理で言えば、先に野菜を切っておくと炒めるときに効率がいい、という順番の工夫です。
「考え方のツール」のようなもので、プログラマーでなくても使えるのがポイントです。
もしご希望があれば、たとえば「子ども向けに説明する」「シニア向けに説明する」「ワークショップで使える例」など、用途に合わせて説明もできますよ!
とても良い質問です。
特に「慣れた分野の作業」で「プログラミング的思考ができない人」というのは、必ずしも能力の問題ではなく、思考パターンや習慣の違いとして見られることが多いです。
整理すると、次のような傾向のある人が該当しやすいです。