2020.01/11 間違いだらけのプログラミング教育(2)
プログラミング教育とは、既存の機能を組み合わせ、新たに求められる機能を機械も含めたその振る舞い(動作)としてうまく実現できる能力を養う教育である。
これは、真理を追究するために正しく論理を展開できる能力を養う科学教育とは思考のパラダイムがかなり異なる。
既存の機能を組み合わせ、あるいは新たな補助機能を創り出し、それらを組み合わせて新たな機能で動作するようにするため、その思考を科学的に行い目標を達成することも可能であるし、目標とする振る舞い(動作)を試行錯誤で非科学的に創り出すこともできる。
これは、プログラミング教育を行いながら、科学教育も進めることができるが、科学教育を行っていてもプログラミング教育を行うことができないことを意味している、というとわかりやすいかもしれない。
求められる振る舞い(動作)をどのように既存の機能を使い表現するのか、その方法は一つではない。これが今までの科学教育には存在しなかった教育する時の障害となる。
科学教育では一つの真理を導き出す哲学を教えてきたので、正しい答えが得られたかどうかで、その成果を判断できた。
しかし、プログラミング教育では、動作が目標を実現しているかどうか、あるいは正しいのかどうかだけでなく、既存の機能の組み合わせ新たな機能を実現できているかどうかも重要となる。
プログラムが、ただ、動くだけではだめなのだ。用意された機能を組み合わせて新たな機能を創り出して、プログラムの動作が仕様として求められている機能を実現できるかどうかを評価するスキルまで求められる。
単純な機能であれば、動作が機能を実現しているという判断も簡単であるが、複雑な機能になってくるとエラー処理の問題が入ってくる。怪しい機能で動作を実現しているようなプログラムは世の中に多い。
これが理解できていないとプログラミングを正しく教えることができないが、そもそも技術開発の経験のない先生に、このことを正しく理解できる方がどれだけいるのだろうか。
プログラミング教育で悩まれている方のご相談にも応じています。またプログラミング教育で何を教えなければいけないかについても技術者道をご指南いたします。
カテゴリー : 一般
pagetop