読者の方から、子供のプログラミング教育について問い合わせがあったので、scratchで自習させることを薦めておきました。
子供が習い事としてプログラミングを希望しているとの事。調べてみるとロボットを動かす系のものが見つかったが、それて良いのかというものでした。
まず乏しい私の経験から言ってしまうと、プログラミング教室の様な所で基礎から教えて貰って、それなりのプログラムが書ける様になったという人を見た事が無く、プログラミング教育自体が、そもそも無意味なのではないかと考えています。
まあ、いわゆるIT系の企業では、教育して戦力の育成をしているかとは思うので、ある程度のレベルに持っていくことは不可能ではないだろうという気はするんですが、どうなんでしょうね。
まず、プログラムを教える場合、基本的な使い方から始まって、対象となる言語の関数の使い方や制御構造など、基本的な文法事項を教えて、実際に簡単な例題を解かせる事になります。でもこれって本を一冊与えて自習させれば出来てしまうんですよね。これが人に教えて貰わないと出来ないなどという人は、この先に進もうとすると無理なので、教育自体、意味が無いと考えています。
ただ、このレベルでプログラミングが出来る様になったと思い、コンプレックスを克服できるのであれば、まあ意味が無かったとは言い切れないのかも知れませんが。
次のステップは、この様なプログラムを作ってくれと具体的な仕様が与えられた上で動くものを作れるレベルになる事です。ある程度のボリュームのソースを書いて、bugを取れる所までがこのレベルです。ここに到達すれば、IT業界で下っ端として働けるレベルかと思います。ただし給料は激安でしょうが。ここに至るには、場数が必要です。自分で沢山コードを書く必要があります。基礎的な事を学んだ上で、それを活用する訓練をする事になるんですね。なので教えるといっても教える事はあまりありません。この段階で必要なのは教育ではなく、自分から作りたくなるテーマなんです。
ここで注意が必要なのは、変に独創性を発揮してしまうと収拾が付かないクセのある物を仕上げてしまう様になるので、ダークサイドに落ちない様に気を付けるという点です。そのためには書法に関する勉強が必要で、ここで教育の余地があります。ただここでの教育は、変な方向に進んでしまったものを正しい方向に修正する事なので、教える事はそう多くありません。自分が作った物の添削を受ける程度になるので、教室で勉強するのは効率が悪いかなと思います。また自分で考えた方法を否定される事になるので、それを受け入れられる生徒の気質も教育効果に大きな差が出てしまいます。
次のステップは、「こんな事をしたいんだけど、実現できないか?」といった設問に対して、実現方法を一から考え、運用まで考慮してシステムとして作り上げられる様になる事です。その過程で、そもそも依頼者が言っている通りにすると発生する問題を見抜き、解決しておく事が望まれます。でもこれが出来る人って、そもそも限られる様な気がするんですよね。教育で何とかするのは、そもそも無理だと思っています。
という事で、プログラミング教育って、最初のステップとしては存在しうるものの、本を一冊買い与えて自分で勉強させ、自分からテーマを見つけて調べ解決させるのが一番ではないかと考えています。
最初に提示したscratchだと、キャラクターを動かしたりして自分の書いたコードの成果が視覚的に確認出来る上、他の人が作った作品を見て刺激を受ける事が出来るので、入門、自習にとても良いなと思っています。
0 件のコメント:
コメントを投稿