2016年09月02日
プログラミングの授業よりもアルゴリズムの授業を!
引き続き教育について思うところを好きなように書いてみる。
最近よく「プログラミングを義務教育で教えるようになった」と聞くが、それは本当かね?
僕は子供がいないので、最近の教育事情についてまったく知らない。
小学校の授業でプログラミングを教えているのだろうか?
僕はRaspberry Piを持っている。これはクレジットカードサイズのコンピューターで、OSにはLinuxが載っている。
もともとRaspberry Piは教育用ということなのだが、もしかしたら義務教育ではLinuxとプログラミングを教えるということか?
最近よく「プログラミングを義務教育で教えるようになった」と聞くが、それは本当かね?
僕は子供がいないので、最近の教育事情についてまったく知らない。
小学校の授業でプログラミングを教えているのだろうか?
僕はRaspberry Piを持っている。これはクレジットカードサイズのコンピューターで、OSにはLinuxが載っている。
もともとRaspberry Piは教育用ということなのだが、もしかしたら義務教育ではLinuxとプログラミングを教えるということか?
確かにプログラミングを教えるのであれば、WindowsよりもLinuxの方がいいのかも知れない。
Windows上でIDE(プログラム開発総合環境)を開いてやるよりも、Linuxでテキストエディタでプログラムを書いて走らせるほうが簡単であるし、Raspberry Pi自体も5000円程度で買えるので、教育にはちょうどいい。
Linuxを扱うことができ、さらにプログラムをバリバリと書ける小学生が普通になったとしたら、僕たちプログラマーの立場はどうなるだろうか?
あるいは彼らが成長して社会に出たとき、プログラムを書けない大人たちとの関係はどうなってしまうのだろう?
ここで、映画「ジュラシック・パーク」のあのシーンを思い出す。
シリコン・グラフィックスのワークステーションを前に、主人公の女の子が「Unixなら私にもできるわ!」と言って操作をし、電動ドアを開ける。
実際には、プログラミングを教えられる教師が本当にいるのか?という疑問を誰もが持っているのであろう。
おそらく現段階では、プログラミング教育を受けていない教師が急に生徒にプログラミングを教えるということは無理があるので、専門の教師がそれを行っているのだろうと想像できる。
そしてそれは、町にある年寄りやパソコンの扱いが苦手な人向けに開かれているパソコン教室のような風景になっているのではないだろうか?
プログラミングを教えるというよりも、プログラミングをするための操作を教える場になっているであろうことは想像がつく。
もし学校でプログラミングを教えるというのであれば、プログラミングの方法を教えるのではなく、アルゴリズムを教えるべきである。少なくともプログラミングの授業にはアルゴリズムを教える、ということを重視すべきである。
あるいは数学の中にアルゴリズムという分野を入れてもいいのかもしれない。
書いたプログラムが実際に動くかどうかを走らせてみる必要はそれほどない。
もちろん子どもたちの好奇心を刺激するためには、書いたプログラムが思ったとおりに動く、という経験はあったほうが良い。だがそのために操作法を教えることや専門の教師を用意すること、生徒一人一人にパソコンを用意することを考えれば、「机上でアルゴリズムを考える」ということを学ぶことの方が簡単にできるし、プログラミングそのものをすることよりも大切なことである。
学校で教える数学に図形や確率・統計などが含まれているように、アルゴリズムというものが数学の授業に取り込まれる時代がいつか来るのかも知れない。
Windows上でIDE(プログラム開発総合環境)を開いてやるよりも、Linuxでテキストエディタでプログラムを書いて走らせるほうが簡単であるし、Raspberry Pi自体も5000円程度で買えるので、教育にはちょうどいい。
Linuxを扱うことができ、さらにプログラムをバリバリと書ける小学生が普通になったとしたら、僕たちプログラマーの立場はどうなるだろうか?
あるいは彼らが成長して社会に出たとき、プログラムを書けない大人たちとの関係はどうなってしまうのだろう?
ここで、映画「ジュラシック・パーク」のあのシーンを思い出す。
シリコン・グラフィックスのワークステーションを前に、主人公の女の子が「Unixなら私にもできるわ!」と言って操作をし、電動ドアを開ける。
実際には、プログラミングを教えられる教師が本当にいるのか?という疑問を誰もが持っているのであろう。
おそらく現段階では、プログラミング教育を受けていない教師が急に生徒にプログラミングを教えるということは無理があるので、専門の教師がそれを行っているのだろうと想像できる。
そしてそれは、町にある年寄りやパソコンの扱いが苦手な人向けに開かれているパソコン教室のような風景になっているのではないだろうか?
プログラミングを教えるというよりも、プログラミングをするための操作を教える場になっているであろうことは想像がつく。
もし学校でプログラミングを教えるというのであれば、プログラミングの方法を教えるのではなく、アルゴリズムを教えるべきである。少なくともプログラミングの授業にはアルゴリズムを教える、ということを重視すべきである。
あるいは数学の中にアルゴリズムという分野を入れてもいいのかもしれない。
書いたプログラムが実際に動くかどうかを走らせてみる必要はそれほどない。
もちろん子どもたちの好奇心を刺激するためには、書いたプログラムが思ったとおりに動く、という経験はあったほうが良い。だがそのために操作法を教えることや専門の教師を用意すること、生徒一人一人にパソコンを用意することを考えれば、「机上でアルゴリズムを考える」ということを学ぶことの方が簡単にできるし、プログラミングそのものをすることよりも大切なことである。
学校で教える数学に図形や確率・統計などが含まれているように、アルゴリズムというものが数学の授業に取り込まれる時代がいつか来るのかも知れない。