プログラミング学習の意味 (4)

前回のブログに引き続き「プログラミング学習の意味」についてお伝えしていきます。 よろしければ(1)から見て頂けると幸いです。

前回は「プログラマ職はシステムの設計を行う役割にシフトしていく」「コーディング作業はAIに任せていく」とお伝えしていました。

今回はコーディング(プログラミング)を行わないのに「プログラミング学習に意味があるのか」という芯の部分を考えていきます。

これまで同様、AI(ChatGPT, Gemini)に以下のような質問をしてみました。

コーディングを行わないのであれば、プログラミング学習は不要になるのでは?

その回答を意味が変わらないように抜粋します。

プログラミング“思考”としての学習は今後さらに重要になる」 [ChatGPT]

プログラミング学習を通じて身につく論理的思考力や抽象化能力は、複雑な問題を分解し、効率的で保守性の高いシステムアーキテクチャを設計するために必要です」 [Gemini]

プログラム・ソフトを作るためには、コーディングの前に設計や要件定義(システムの機能や要求を明確にする工程)を行います。

論理的思考」や「(抽象化力などの)プログラミング的思考」はコーディングに限らずそれらの工程でも必要となるスキルです。

これまでも実務においては コーディング → 設計 → 要件定義 と経験を積んでいく流れは一般的でした。

コーディングで論理的思考・プログラミング的思考を身に付けたあと、設計・要件定義に進むというのは実は理にかなったステップアップでもあるのです。

「未来のかたち」でもプログラミング学習の最後には要件定義や設計の要素を課題として取り入れています。 コーディングの機会が減少してしまうからこそ、プログラミングの学習がより重要になると言えます。

またそれ以外にも理由があります。

AIが生成したコードを扱う際、バグや脆弱性を発見・妥当性を判断・(他システムと)正しく連携するよう修正、するコードの読解力が不可欠です」 [ChatGPT]

プログラミングの基礎知識がなければ、AIの出力を評価・検証し、問題点を見つけ、必要な修正を加えることができません」 [Gemini]

つまりAIが生成したコードを鵜呑みにせず、理解・検証する力が必要ということです。

でなければ「AIを使う」のではなく「AIに使われている」ことになりかねません。

そのような本末転倒なことに陥らないためにも、必要な知識・スキルを身に付けるためのプログラミング学習は欠かせませんね。

ということで、数回に渡って「プログラミング学習の意味」についてお伝えしてきましたが、感じていただけたでしょうか。

最初から読んでいただいたみなさま、ありがとうございます。

本編としては以上になりますが、次回は番外編としてもう少しだけあれこれお伝えしたいと思います!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!