先生のためのアンプラグド・プログラミング教材(1)
アンプラグド・プログラミング教材
ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。
「アンプラグド」とは電源を入れない。つまり、ここでは「コンピュータを使用しない」という意味です。いきなりコンピュータを使用してプログラミングを学習すると、それが目的になりかねません。あくまでもプログラミングは手段であり、プログラミング教育を通して「思考力」を育成するのが目的です。アンプラグド・プログラミングは、紙と鉛筆だけで思考力を鍛えることができます。
アンプラグドの授業では、題材に対して机上で考えて「フローチャート」を描いていきます。また、完成したら終わりではなく、改良してみたり、より機能を増やして利便性を高めたりと応用や発展させ、それを実現するにはどうすればいいのかを考えて考え抜くことが重要です。
フローチャート(流れ図)とは
フローチャートは、処理や処理の流れを、図を用いて表現したもので、作図は「図解表現」という一つのスキルとなります。フローチャートは、「思考の見える化」には最適なツールであり、「共通言語」です。自分の思考を他人に伝える際に、このフローチャートによる図解表現によって、言葉のニュアンスの違いや曖昧さを排除することができるため、言葉や文章よりも理解を促進させるという大きな特徴があります。
また、一番簡単にプログラミング的思考を表現したり、見て理解しやすいツールは「フローチャート」を使う方法です。覚える図形は、「開始」と「終了」を除けば、「処理」「判定」「反復」の3つの図形だけ。それらを「矢印」でつないでいけばいいだけです。これは前述の「プログラム基本3要素」の「順次処理」「分岐処理」「反復処理」に準じています。
※主要な3つの図とその機能は、必ずマスターする必要があります。
フローチャートは、今後プログラムを作成するための「設計図」にあたるものです。
それでは順番に、日常の何気なく過ごしている生活をお題として解説していきたいと思います。
お題:スーパーで買ったものをレジで精算する
<ねらい>
プログラミング的思考の以下の能力を鍛える
・ものごとを一旦分解してから整理する能力(分解、分類、共通化)
・ものごとを単純化して重要な部分を捉える能力(抽象化、メタ認知)
・やるべきことを順序立てて論理的に考える能力(ロジック、コンテクスト)
1.まずは「順次処理」だけを考えてみる
順次処理:商品を通す → 合計金額を求める → 精算する
指導箇所:どのような流れ(順番)で処理されるかを正確に考えさせる
2.次に「条件分岐」を追加する
条件分岐:商品に割引があった場合、割り引いて合計金額を計算する
指導箇所:分岐のタイミングが正しいか考えさせる
3.「反復動作」は何かを考えてみる
反復動作:買い物かごにある商品数分、繰り返す
指導箇所:どこからどこまで繰り返し、いつまで繰り返すのか考えさせる
ポイント:「精算」は一番最後に行うので、反復動作の外になる
※反復動作にかかる「青い線」は通常は記入しないですが、
わかりにくい場合は書き入れてもいいでしょう。
4.【応用】他に「処理」や「条件」がないか考えてみる
条件:レジ袋は必要かどうか(必要な場合、合計に2円プラスする)
条件:駐車券がある場合で、かつ合計が2,000円以上なら駐車料金を無料にする
その他にもいろいろあると思います。スーパーによって違うので、
生徒に考えさせると盛り上がるかもしれません。
▼Amazonおすすめ本
▼次の教材はこちら
おすすめ記事
-
小学校プログラミング教育とは
プログラミング教育必修化 今回の学習指導要領改訂(2020年度から小学校で完全実施)による、小学校での教育の大きな変更点は 「外国語を、小学校5・6年生から教科とする」 「道徳を教科とする」 「プログラミング教育を導入す […]
-
プログラミング的思考とは
情報活用能力とは 学習活動において、必要に応じてコンピュータ等の情報手段を適切に用いて、情報を得たり、整理・比較したり、発信・伝達したり、保存・共有したり、といったことができる力です。 こうした情報活用能力を育むためには […]
-
プログラミング的思考力育成のその前に
プログラムとは何か プログラムとは、コンピュータ(パソコンやスマートフォンなど)にして欲しいことを、プログラム言語を使って「命令」という形で作成した機能をいいます。 その機能の集合体、完成したものがアプリケーション(アプ […]
-
プログラミング的思考力育成方法の提案
プログラミング的思考力育成方法 プログラミング的思考能力は以下の6つになります。 ものごとを一旦分解してから整理する能力(分解、分類、共通化) ものごとを単純化して重要な部分を捉える能力(抽象化、メタ認知) やるべきこと […]
小学校プログラミング教育とは
プログラミング教育必修化 今回の学習指導要領改訂(2020年度から小学校で完全実施)による、小学校での教育の大きな変更点は 「外国語を、小学校5・6年生から教科とする」 「道徳を教科とする」 「プログラミング教育を導入す […]
プログラミング的思考とは
情報活用能力とは 学習活動において、必要に応じてコンピュータ等の情報手段を適切に用いて、情報を得たり、整理・比較したり、発信・伝達したり、保存・共有したり、といったことができる力です。 こうした情報活用能力を育むためには […]
プログラミング的思考力育成のその前に
プログラムとは何か プログラムとは、コンピュータ(パソコンやスマートフォンなど)にして欲しいことを、プログラム言語を使って「命令」という形で作成した機能をいいます。 その機能の集合体、完成したものがアプリケーション(アプ […]
プログラミング的思考力育成方法の提案
プログラミング的思考力育成方法 プログラミング的思考能力は以下の6つになります。 ものごとを一旦分解してから整理する能力(分解、分類、共通化) ものごとを単純化して重要な部分を捉える能力(抽象化、メタ認知) やるべきこと […]