ロボットプログラミングスクール「ジーニアスクラブ」を開設した当時、よく考えていたことがあります。
それは「なぜプログラミングは、挫折する人が多いか?」ということ。
これさえ解決できれば、子供たちへスムーズにプログラミング学習を導入できるはずだと考えていました。
私がプログラミング学習をはじめた頃のことを思い出してみました。
大学の授業でのことです。
まず、パソコンは Windowsではなく、LinuxというOSを使いました。
そして、C言語というプログラミング言語を使ってプログラミングをするというものでした。
なぜこの組み合わせだったのか?
それは、今思えば、大学側の都合だと思います(笑
簡単に説明すると、Windowsの中でC言語のプログラミングができるようにするより、Linuxにしてしまった方が準備が楽だったんだと思います。
Linuxは、特別な準備を必要とせず、C言語のプログラミングができますから。
逆に、WIndowsだと、C言語でプログラミングする環境と整え、メンテナンスもしていかなければいけない。
パソコン管理者の方の負担を考え、Linuxにしておこう...
こんな流れだと思います。
プログラミングの授業も古典的なものでした。
クラスの名称は「データ構造とアルゴリズム」。
難しいですね(笑
実際、数学的な課題が多かった記憶があります。
例えば....
課題「1~30までの数字の中で『奇数』だけを表示せよ!」
課題「1~100までの数字の中で『素数』だけを表示せよ!」
課題「バブルソートを用いて、次の配列を昇順に並び替えよ!」
こんなノリです。
私は決して嫌いではなかったのですが、周りを見るとプログラミングの学習を憂鬱そうにしている学生が多いと感じました。
プログラミング学習へ前向きな人は、1割もいなかった気がします。
さて、ここからは、本来はどうあるべきか?というお話です。
私オーシマは、自分の経験から考えました。
それが、次の『挫折しないプログラミング学習 2つのポイント』です。
その一、簡単にプログラミング学習をはじめられる
その二、楽しい課題を用意する
まずは、苦労せずにプログラミング学習をはじめられることが重要です。
Linuxとか、論外です(笑
難しい設定、難しい操作、難しい覚え事なしで、いきなりプログラミング学習がはじめられること。
自分が今持っているパソコンで、すぐにでもプログラミングがはじめられることが重要です。
意外と「プログラミング学習のための準備」で挫折する人は多いと思います。
次に、課題が楽しいこと。
奇数や素数を列挙するような「何のためにプログラミングをするのか?」が分からない課題はNGです(笑
プログラミングした結果を楽しみながら確認できるような課題が必要です。
ジーニアスクラブで言えば「ロボット」。
ゲームプログラミング道場で言えば「ゲーム」。
ロボットやゲームを通して、プログラミングした結果を目で見て、感動する経験がプログラミング学習の挫折を抑制します。
正直、私がプログラミング学習をはじめた頃は、そんなプログラミング環境、課題はありませんでした。
少なくとも、私の周りにはなかった。
書店に行ってプログラミング関係の教本を探しても、どれも難しそうな書籍ばかり。
勇気を出して買ってみても、中身はやはり難し過ぎる。
2冊、3冊と買って、すぐに挫折し、それでもあきらめなかった人だけがプログラミングを続ける。
そんな時代でした。
しかし、現代には素晴らしいプログラミングの学習環境があります。
羨ましい!
羨ましすぎる!
この羨ましすぎる環境をぜひ生かして欲しい!
私オーシマは、そんな気持ちでプログラミング教育と向き合っております。