プログラミング教育
60年足らずの人生だけど、最も獲得してよかったと思う能力はプログラミング能力だと思う。
技術系の仕事ではプログラミング能力は必須だ。 しかし、職場の研修やOJTで、教育やトレーニングしようとするとなかなか難しい。
職場でのプログラミング教育の問題は
- プログラミング能力獲得の目的があいまい
誰もが職業プログラマになるわけではないから、手段としてのプログラミングを教えるべき。 - 講師がプログラミング能力獲得方法を形式知化していない
プログラミング能力を持っていても、その能力の獲得方法を形式知化していない者は他人に教えられない。
ことだと書いた。(プログラミングの講義(2019/02/01))
唐突だけど、
プログラミングの技能を車の運転に例えるなら、多くの人は問題を解決するための手段として運転技能を獲得している。 問題解決とは、目的地に移動するためや荷物を運ぶためとか趣味としてのドライブとか。
もちろん、バス・タクシーの運転手、トラックの運転手、F1ドライバーなどの職業ドライバーになろうとすると一定レベル以上の運転技能が必要なことは言うまでもない。 職業ドライバーには、安全に運転する、操縦しにくい車を運転する、速く運転する技能が求められる。
それらと比べて、普通の人は最低限の運転技能があればことが足りるということ。
普通の人にとって重要なのは、どこに行くのか、なぜ行くのかだ。 そして、車で移動することが合理的であれば運転する。 当然、徒歩や列車で移動することが合理的なら車は運転しない。
プログラミングに置き換えると、必要のないコーディングはやらない。アプリケーションソフトで問題が解決できるならアプリケーションソフトを使う。 Excelのような汎用ソフトを使うことが合理的ならば汎用ソフトを使えばよい。
重要なことは、
どの問題をプログラムで解決するのかを分析すること。 解決手段(既製アプリ、アプリ作成)を考えること。 そして、プログラミングが必要であればアルゴリズムを考えることだ。
注意しなければならないことは、
趣味で車を運転する人がいるように、趣味でプログラミングしている人がいる。
プログラミングすること自体が目的の人だ。 このような人に、教えてもらうときには注意した方が良い。 プログラミングは手段ではなく目的だからなぜプログラミングが必要かは教えてくれない。
さらに重要なことは
それと、何か聞いてみて、ちゃんと言葉で説明できない人は、人に教えることができないと思って間違いない。 プログラミング言語は曖昧さを排除した言語だ。 母語で明確に説明できない人は抜けのないアルゴリズムを考えられないし、正確なコーディングができないと思って間違いない。
« 学びを結果に変える アウトプット大全 | トップページ | 裸でも生きる3 輝ける場所を探して »
「プログラミング」カテゴリの記事
- AWSでサービス構築(2022.05.29)
- Excelの配列式(2022.01.06)
- ローコード・プログラミング(2021.11.07)
- すきなプログラミング言語ランキング(2021.04.12)
- テキストプログラミング <大人の先入観で決めてはならない>(2020.11.15)
コメント