いよいよ来年度からプログラミングを「情報Ⅰ」の中で学習していきます。
どんな授業を行うか、検証を兼ねて検討してきました。
これまでこのBlogでも、いくつかのプログラミング授業案を掲載してきました。
限られた時間数で何を教えるのか考えなくてはなりません。
前回、条件分岐を応用して1%当たりのシュミレーターを作りました。
今回は、Excelを利用して結果をまとめていきます。
PowerQueryを使うと、VBAをやマクロをわざわざ組まなくても取りまとめることができます。
授業展開
前回作成したプログラムを使って、生徒には何回であたりが出たのかシミュレーション結果をExcelに記録させます。
一人あたり10回シミュレーションします。
記録用のシートはかなりシンプルにしました。
Excelの関数の学習として、平均(Average関数)を求めます。
この段階でワークシートを用意します。
生徒には自分の結果を記入し、考えたことや気づいたことを率直に書いてもらいます。
そして、隣のペアの結果を確認して意見交換をしてもらいます。
ここでもワークシートにペアの結果を記入し、考えたことを書いてもらいます。
Power Queryでデータを整形する
Power QueryはMicrosoftのExcelに搭載されている機能です。
-
Power Query (以前のバージョンの Excel でデータを取得& 変換と呼ばれる) を使用すると、外部データをインポートまたは接続し、そのデータをニーズに合った方法で(列の削除、データ型の変更、テーブルの結合など) 整形できます。
とのことです。
これにより、統一されたフォーマットを利用して集められたデータを一つのシートに集約することができます。
そして、簡単です。
以前はマクロを組んだりしたものですが、わざわざここでプログラミングしなくてもいいですね。
Power Query操作手順
まずは入力されたデータを集めます。
私の所属ではSky社のシステムが入っているので、データの配布・回収が簡単にできます。
共有フォルダを作って、そこに提出させる方法でもいいです。
今回は、一つのフォルダにデータを入れておきます。
先程のフォルダと別の場所にデータを集約させるExcelのファイルを作成します。
Excel→データリボン→データの取得→ファイルから→フォルダーからを選択します。
フォルダーの参照から、データを集めてあるフォルダを指定します。
データの一覧が出てきます。
結合→データの結合と変換を選択します。
プレビューが表示されるので、問題なければ左上の「閉じて読み込む」を選択。
結果の確認と考察
10回のシミュレーションを10回(人)行いました。
100サンプルがあるのですが、一人ずつの平均値はかなりバラツキがあります。
全体としては
平均値 | 91.44 |
最大値 | 544 |
最小値 | 1 |
という結果が今回は得られました。
ここでワークシートを再び登場させます。
クラス全体のデータと自分やペアのデータの結果と比較して考察してもらいます。
50分授業だとこのあたりで途切れるでしょうか。
次の授業で、他のクラスの結果も紹介し学年全体のデータを作成し再度考察してもらいます。
ビッグデータとまでは言えませんが、だいぶミドルデータぐらいにはなるでしょうか。
まとめ
Power Queryでのデータ集約方法をまとめてみました。
同時に、シミュレーション結果をワークシートを利用して考察する授業展開の紹介です。
それにしても、1/100のくじなのですが、544回やらないとあたらないのもすごいですが、1回であたってしまうのもねぇ。
実際の懸賞などがどのようなアルゴリズムで作られているかわかりません。
しかし、まぁこんなもんでしょう。
課金したところで、全然当たらない時もあることに気づけると思います。
それよりも、人の手で毎回くじを引く手間をプログラムで比較的簡単にできてしまうところに感動してほしいです。
人の手で行う予定だったことを、乱数と数式によってモデル化しシミュレーションを行う。
一応、情報Ⅰの「モデル化とシミュレーション」「プログラミング」を網羅する授業展開のつもりです。
想定時間数は基本編2時間、シミュレーター作成1時間、シミュレーションと考察と説明2時間で計5時間。
先に用語の説明をするより、特に「モデル化とシミュレーション」のところは、実習後に説明した方がイメージがリンクするのではないでしょうか。
コメント