ロボット教室のプログラミングとは
昨日、フランチャイズに問い合わせがあった方と電話で話をしました。その中であったのが、
「ロボット教室のプログラミングと何が違うのか?」
という質問でした。
その際は、
「ロボット教室のプログラミングは、あくまでロボットを制御するものであり、使用するメソッドが限られる」
と答えました。要は、ロボットを動かすための処理だけなので、プログラミングの原理的なところは理解できるものの、処理のパターンに制限があるということです。処理のパターンに制限があるということは、思考のパターンが限られてくるということですから、そもそも養いたい力(論理的思考力、問題解決力、創造力)に制約が出てくるということですね。
また、
「Scratchはブロックを組み立てるだけなので、遊びの域を出ない(保護者の期待に応えられない)印象がある」
というコメントも頂きました、
これは、Scratchの開発者やビジュアルプログラミングの研究者やツールを使っている教育関係者からかなりの反論がありそうですが、要は「CUIでコーディングしているほうが何か難しいことをしてるように見えるので親の受けがいい」ということですね。これはそもそも論で、何が主目的とするかによるような気がしています。要は、難しいことをしているのを見せたいのか、先ほど言ったような思考力を養いたいのか、ということですね。
最後には
「フローチャートなどを書いてアルゴリズムの表現方法などを学ばないのか」
というようなコメントももらいました。これはよくよく聞くと、そのロボット教室のプログラミングのテキストにフローチャートの解説が書いてあるからの質問なのですが、これも基本的には先ほどと同じで、何を目的とするか、です。要は、書けるようになることを目的とするのか、思考力を養いたいのか、ということです。個人的にはあってもいいとは思いますが、コーディングを積み重ねることで、自然とフローチャート的な思考ができるようになっているほうが価値があると思っています。
もしかしたら、上記のようなコメントは現役エンジニアの方からみたらナンセンスな話なのかもしれません。このブログはどうやらエンジニアの方が多くみているようなので、もしご意見があれば頂戴できればうれしいです。また、ロボット教室のプログラミングについても、私は1社しか詳しくはみていないので、もしかしたら誤解があるかもしれません。もしロボット教室でプログラミングをされている方でいらっしゃったら、誤りがあったら御指摘いただければ有難いです。