バナー画像

子どもに 「本物を最初から」で
なぜ 
エクセル マクロ なのか? 3つの理由

 「プログラミング教育にエクセルマクロを使う」といえば「そんなエクセルの中でしか使えないプログラムなんかは、それこそ本物のプログラミング言語ではないじゃないか。」という声が聞こえてきそうです。確かにExcel VBAが各種のプログラミング言語ランキングにのることはありません。
 しかしここで私のいう「本物」とは「現在大人の社会で使われている。」ということです。 まず、先生方に知ってほしいのです。そして使ってほしいのです。学校現場でエクセルを仕事で使う方はたくさんいますがマクロ(プログラム)を組む方はほとんどいません。しかしその仕事にエクセルマクロが使えると役に立つことがとても多いし さらにエクセルでプログラミング的思考を育てるツールも作れます。

 確かにプログラムの経験がない人にとってそれを学ぶことは簡単ではないかもしれません。しかしプログラミング専門家でない私たちがプログラミング教育をしなければならない以上、避けて通ることはできません。エクセルマクロなら実用的なものが作ることができ、しかもプログラミング教育をすることもできると考えています。

 勿論、エクセルだけがいいと思っているのではありません。たとえばスクラッチに興味がある。マインクラフトに興味がある。マイクロビットに興味がある。そしてそのプログラムを作る。あるいはそれを一部変えて教材化するというのはとてもいいことだと思います。ただ 今の学校教育でスタンダードなビジュアル型だけでなくテキスト型も考える必要があると思います。なぜなら社会一般はテキスト型プログラミングを使っているからです。今のままでは中学生高校生になってもビジュアル型が主流になり国のプログラミング教育政策とは反対にそれが後退する懸念があります。諸外国から取り残される危険性があるのです。なんといってもコンピュータの基本はプログラミングでありタイピングなのです。
 テキスト型プログラミングをやってみたいけど「Python」とか「 Javascript」という言葉を聞くと「何それ?」と思われる方、「本格的な」プログラミング言語は難しい という方はExcel マクロがいいかなと 思っています。


1 Excel自体にプログラミング環境を備えている。

 プログラミングを主な仕事にされてない方で アプリの開発などプログラムを組む方はそれぼどいらっしゃらないのではないでしょうか?プログラミングは難しく、ましてやそれを開発するためにまず開発のためのソフトを手に入れる必要があるのでハードルは高いと言わざるを得ません。しかしExcelなら最初から その開発環境がついているのです。
また、ステップイン機能 やブレイクポイントの設定など プログラムの開発になくてはならないエラーが起きた時のデバッグ環境もあります。ビジュアルプログラミングの代表であるスクラッチはそういう機能はほとんどありません。なぜならスクラッチはエラーをできるだけ起こさないように設計されたプログラミング言語だからです。
 またエクセルは ワークシートやセルという目に見えるものがあるので たとえば変数に値を代入していくなどの子どもにとっては理解が難しいことも実際のセルの値を見ることで理解が深まりやすい利点があります。


2 広く普及している。

 iOSやandroidの環境のパソコン(タブレット)がある小学校もありますが、やはり小学校ではWindowsパソコンが多く普及していると考えられます。さらに学校だけてなく社会にも普及していて20年以上の実績があり今後10年以上なくなることもないと思われます。
VBAのことを解説した本やネットのサイトがたくさんあります。それらは困ったときにとても役に立つし 困ったことを自分で解決する姿勢がアクティブ・ラーニングそのものなのです。



3 Excelプログラミング教材を自由に作ることができる。変えられる。

 研究授業を考えてみてください。授業は先生たちが話し合いながら指導案をたて工夫し教材を作成する力や授業する力をのばしてきました。
 ところがプログラミング教育はやったことがないし学んだこともないから「誰かのいう通り」「業者さんの作ってくれた指導案」のまま指導する。こんなことが起こってくるのでしょう。しかし,それだけではプログラミング教育の発展も先生方のアクティブラーニングの姿勢も生まれません。「業者さんの作ってくれたソフト・ロボット指導案セット」にもすばらしいものは沢山あるでしょうがそれは完成されたものであって先生たちは自由に変えられない。ここが一番の問題点になってくるのです。またともすると市販の教材は「先生受け」「子ども受け」つまり人気を一番に考えるので 先生にとって「簡単で」子どもにとって「楽しい」ことを一番に考える傾向があります。だから それさえやれば「プログラミング的」思考が身についたり、ましてやテキストプログラミングでコードが書けるようにはなりません。ビジュアルプログラミングではつかない力をテキストプログラミングの入り口として Excel VBAが良いかなと思っています。。

 ところでエクセルで「マクロ」と「VBA」は同じような意味でつかわれていますが本当は違います。「マクロ」というのはエクセルの操作を自動化するためのプログラムであり「VBA」というのはそのプログラミング言語です。厳密には[Visual Basic] というのが Microsoft社が開発したプログラミング言語それはExcelなどのアプリケーションのために作られたということで [for Application]その頭文字で「VBA」です。
 しかし、このサイトでは特にそれを意識して区別はしていません。

Copyright(C)2020 furutom