プログラミング的思考能力は以下の6つになります。
これらの能力をいかに育むかを考えてみましょう。
プログラミング的思考力育成方法として主な手順を以下に挙げてみました。
という流れで実施するのをおすすめします。いきなり課題を与えて、ビジュアル・プログラミング言語「Scratch」を使って作成していくのは好ましくないです。
今回の導入はプログラミング教育ではなく、あくまでプログラミングを利用した思考力学習です。
アンプラグドプログラミングとは、電源を入れない、つまりコンピュータを利用しないで思考力を鍛えるというものですが、これは先程の流れでいう「設計」部分で活用すればいいのです。
一番簡単で理解しやすいツールとしては、「フローチャート(流れ図)」を使う方法です。
フローチャート(設計)からプログラム作成という流れが一番理解が深まります。
アンプラグドの授業ではカードを用いた学習に終始することが多いですが、その流れからプログラムを作成してみる。そして、それを改良してみたり、より機能を増やして利便性を高めてみたりするにはどうすればいいのかを考える。1つの課題に対して、深く深く考え抜く方が思考力育成には適しているでしょう。
そして、この流れに入る前の準備体操も必要でしょう。
いきなり科目の本題に入るのではなく、このフローチャートによるアンプラグドプログラミングを準備体操として実施することで、考え方を書き方を学ぶというステップが必要だと思います。
お題は、生徒も日常利用しているものが良いでしょう。
例えば、
・スーパーで買い物する流れ(レジでの精算まで)
・自動販売機で電子マネーを利用してジュースを購入
・電車に乗って目的地で降りる
・路線バスに乗って目的地で降りる
など、いくつもあると思います。
また、遊園地に2時間しかいられないという条件下で、ファストパスを利用してアトラクション3つに乗り、パレードも見ることができるか、時間など調べて検証するというのもいいでしょう。
これらのフローチャートを書きながらプログラミング的思考を鍛えます。先生もちゃんと書けるでしょうか?
いきなりグループ演習に入るよりかは、まず個人で実施してみて、グループ演習際に自分で書いた設計書を持ち寄り、間違えている箇所はないか、足りないものがないかを話し合って、改善していくのがいいでしょう。
0.思考の準備
日常の生活で行うことを題材にアンプラグドプログラミング(フローチャート作成)を実施する。
色々な「条件」や「機能」を追加して改良してみるなどの思考訓練を重ねていきます。
1.やりたいことを設計書として作成する
・全体の処理の流れ
・必要な画面の設計
・詳細な機能の設計
2.設計書をもとにプログラムを作成する
プログラミング言語「Scratch」を使って作成する。
設計書に書かれた処理の流れと機能がすべて作成されていること。
3.作成したプログラムをテストする
どうなることが正解なのかを理解して、テストしてみる。
テストに漏れがないかテスト項目を挙げて実施する。
※設計書通りに実行されるかどうかテストを行い、間違いがあれば設計書やプログラムを見直して修正します。
これの繰り返しになります。
4.メンテナンス(改良・改善)
・より効率的で、よりシンプルなプログラムにできないかを検証してみる
・これをさらに使い勝手をよくしようと思ったらどんな機能があればいいか
・より便利な機能があるとしたらどんなものがいいか
などを考えさせる
最後には、この演習での
・苦労した箇所
・工夫した箇所
・この演習で学んだこと
を、話し合う時間も設けて良いと思います。
▼続きはこちら
アンプラグド・プログラミング教材 ここでは、アンプラグド・プログラミング教材案について書いていきたいと思います。現役の先生や教育学部の大学生の皆さんの参考になれば幸いです。 「アンプラグド」とは電源を入れない。つまり、こ […]
お題:交通系電子マネーを使って自動販売機でジュースを購入する <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重要な部分を捉える […]
お題:各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない) <ねらい> プログラミング的思考の以下の能力を鍛える ・ものごとを一旦分解してから整理する能力(分解、分類、共通化) ・ものごとを単純化して重 […]
お題:前回のお題を各視点に分けて考えてみる アンプラグド・プログラミング教材(3)のお題だった、「各駅停車の電車に乗って目的地A駅で降りる(ただし、A駅は終点ではない)」に対して、少し混乱を招く表現が存在するので、今回は […]