プログラミングする意味 ー特にGoogle Apps Scriptを踏まえてー

【4/13(火)】
午前中は、とにかく授業準備と高校の情報科におけるプログラミングの授業についての準備をしまくってた感じ。
午後は、業者との打ち合わせがあり、その後は午前中のこと+VR関連を進めた感じ。Oculusを設定したり、Thetaの360度データをYouTubeに載せるために変換したり、アップロードしたり。そしたら、解像度が下がる問題が発生。以下の部分が参考になるのか、と。

【プログラミングする意味 ー特にGoogle Apps Scriptを踏まえてー】

プログラミングの授業を考えていて、相手校からの質問等を踏まえて、色々と考えた。今回は、GASでSpreadsheetをコントロールする予定だが、プログラミングするのと、表計算ソフトを操作する違いとは?というお題をいただいて、以下のようなことを考えた。

GASはとても実用性があり、汎用性もある。Googleのメインで使っているアプリケーションは操作できると言っていい。Spreadsheetだけを取り出してしまうと、分かりづらいかもしれないが、Documents, Spreadsheet, Gmail, G Drive, Presentation, Formsは全て操作できる。私達が手で操作できることは全てできて、且つそれ以上のことができる。 「それ以上」は例えば、自分達の業務で言うと「生徒たちが出した提出状況を日時と名前で整理したい」「Gドライブのあるフォルダの中身を違うフォルダに一気に移動したい」とかがある。通常、手作業や力技でやるようなことを自動化できたり、作ったプログラムを似たような用途に移行できたりする。 「それ以上」というのを考えられるようになれればよいのだが、最初は難しいと思う。今回は、「データ処理」「グラフ作成」といった部分のため、Spreadsheetを手作業でできる部分はある程度ある。ただ、手作業でうまくできない部分があるのだが、そのような部分もGASだとできる。また、データを変えた場合において、手作業ではまた始めから作り直さないといけないところを、同じプログラムで処理できる、といった有用性もある。 そのような違いや良さも、生徒たちが気付けるようにしていきたい。

時間をかければ、規定ソフトの操作を覚えて実行し続ければ、業務をこなすことはできる。ただ、それを違う人にやってもらうためには、学習させる必要があり、学習させるための人・コンテンツが必要になってきて、学習する時間も必要とする。それをプログラムで用意しておけば、用途によってはマニュアルが必要になるが、基本的に実行させればよい。さらに、そのプログラムの仕組みが分かっていれば、改善もすることができる。プログラムの基本構造が分かっていれば、違う用途にも生かせる可能性がある。

一つだけを見てしまうと有用性が分かりづらくなる部分もあるが、幅広く見ていくことが必要なのかもしれない。

雑談