先日、某所で行われた親子プログラミング体験教室に参加してきました。応募したら当たったので。「親子」と銘打っていますが、実質的には子どもが主体。小学校4年生から中学2年生までの子供と保護者が15組参加していました。子どもは男女半々くらい。この記事、公開するかどうか迷ったんですが、私の関心領域であり、自分自身の考えをまとめるために備忘録的に書きました。教育については色々な考えや方法があるので、今回の主催者を批判する意図はありません。子どもたちにとってwの豊かな教育環境とは何かを考える糸口にしたかったのです。2時間ではプログラミングの入り口にもたどり着かないだろうなあ、でも「体験」だからなあ。プログラミングのおもしろさをちょっとでも実感できればいいよね、と。定刻になり、主催者の方がまず自己紹介。ある地域でプログラミング塾(その方が「塾」という言葉を使っていました)を開いている会社だということがわかりました。続いて参加している子どもたちが自己紹介。驚いたのは、自己紹介の項目で「好きなゲームまたは好きなユーチューバー」というのがあったこと。今時の小中学生はユーチューバーの一人や二人は知っているということか。ユーチューバーを答えていた子も2人いました。知らない名前だったけど。チェーンソー男とかおでんツンツン男の名前はなかった。私の世代からは、ユーチューバーが視聴者に何かを与えてくれることはほとんどないだろうし、娯楽としても洗練されていないと思えて、あんまりそういう風潮におもねらなくても・・・と感じてしまいました。年寄りの僻みでしょうね。そんなこんなで2時間のうち30分が過ぎていました。塾で「継続的に同じ場所で共通の目標を持って学んでいく仲間」集団を作る上では参加者同士が互いを知るのは大事だと思いますが、1回こっきり、2時間だけ場を共有する子たちに、1/4の時間を割くのはもったいないなあ。体験の内容は、ゲームを作ること。子どもがプログラミングをするなら、興味のありそうな「ゲーム」は王道のカテゴリーですね。「連立方程式を解く」とか「世界史年表作成ツール作成」とか、イヤだもん。(そういうのが大好物という子どもがいたらステキだけど)プログラミングの画面はこんな感じ。(クリックで拡大)左のウェルでプログラムを編集し、それが右の画面で走る、というシステム。プログラミング言語はたぶんC系。すみません、私はBasicとLispとLOGOしか知らないので、それ以上はわからない(^_^;)あらかじめほとんどのプログラムは書かれています。編集画面には見えないモジュールもありますね。子どもたちが編集するのは、この画面に自分で作成したキャラクター(32dot*32dotのドット絵)を登場させ、ジャンプさせる部分。フリーのドット絵作成サービスを使って書きます。隣の女の子(同じく中2)の作品(クリックで拡大)すごいね・・・あとはそのキャラクターを、あらかじめ定義された実行命令に入れ込んで、ちょこっとパラメータを指定したら出来上がり。プログラムでキャラクター(MSX用語では「スプライト」)を動かす!実際帰り際に講師の方にそう言うと、同意なさっていました。思ったこと息子は「楽しかった」と言っていました。他の参加親子も楽しそうでした。私自身もまあ楽しかった、かな。私としては違和感がありました。それは、この教室の教育的な目標が「ゲームを作るためにプログラミングする学習」だったことです。いや、それがいけないとうことではありません。子どもたちの多くは、「ゲームを作れるようになりたい!」と思っているでしょう。そのニーズにあった体験教室だったと思います。ゲーム業界やIT業界ではプログラマー不足が問題化しています。いう教室を通して多くのプログラマーが生まれることは悪いことではないでしょう。教育の世界で「プログラミング学習」という場合、それは「論理的思考を身につけるための学習ツールとしてのプログラミング」が有効である、あるいは有効とされている、という文脈で語られ議論されています。実は私も今回の体験教室について、そのような議論の参考になるかと思って参加しました。(息子よ、巻き込んで申し訳ない)教育、特に初等教育の文脈でプログラミングを学習するツールを考えると、今回のようなCUI(文字でのプログラミングUI)ではなくGUIのツール(プログラミング環境)の方が目的にかなっていると思います。ここにそのようなプログラミング環境が紹介されています。wepli.2もうちょっと低年齢向けにはLOGOのプログラミングをGUI化したサブセットとも言えるアプリもあります。僕はそれは魔法使いだと思うんだよね」という紹介をしたことでした。うん、言わんとする事はわかります。(今回の文脈では)ゲームという世界を作り、変えていくことができるもの、ですから。今回の教室の流れから行くと、その魔法使いは参加者に「自分では意味がわからない呪文(実行文)を発すると、なんだかわからないけれど世界が変わった(キャラクターが動いた)」という経験をさせたのだと思います。私は昔、マイコン雑誌(ベーマガとか:古い!)に紹介されていたプログラムをそのままパソコンに入力して楽しんだ経験があります。そのプログラムの実行文、最初はよくわからなかったけれど、いくつも入力していたらそれぞれのコマンドなどがだんだんと分かっていった経験があります。最初は意味の分からない「呪文」でも、わかるようになって使いこなせるのだという考え方もあるでしょう。私がシコシコ入力していたプログラムはすべてのモジュール(サブルーチン)も明示されていました。今回は深いレベルのモジュールは隠されていて見えませんでした。すると、ほんとうの意味でのプログラミングに達するにはわりと高い壁があるのではないでしょうか。「いや、GUI系のプログラミング環境でも深いレベルのモジュールは隠されている」と言われるかもしれませんが、論理的思考を身に着けてもらうという狙いなら、隠されていても良いように思えます。今回の体験は、狙いは論理的思考ではなくて「ゲームを作る」のだから、実行に必要なモジュールは見えていたほうがよいだろうなと感じます。それを理解するには時間が足りませんけれど。う〜ん、書いているうちに何を言いたいのだかまとまらなくなりました。コメントをキャンセルメールアドレスが公開されることはありません。最近の投稿ニッポン放送「ラジオパーク」というイベントに行ってみたら楽しかったKyenoteプレゼンテーションを直接WordPressやサイトに埋め込めるようになった!親子プログラミング体験教室に参加してみて思ったことVRビューアを試したらすごく良かった(今さら)宮ヶ瀬ダムに行って堪能してきた。FoghornTop。