プログラミング的思考力育成方法

プログラミング的思考能力は以下の6つになります。

  • ものごとを一旦分解してから整理する能力(分解、分類、共通化)
  • ものごとを単純化して重要な部分を捉える能力(抽象化、メタ認知)
  • やるべきことを順序立てて論理的に考える能力(ロジック、コンテクスト)
  • ものごとを解く方法やその手順を考える能力(アルゴリズム、組み合わせ)
  • 最適な方法かどうか分析・評価する能力(最適解分析、比較、対比)
  • 発見したパターンを他にも適用できないか応用する能力(一般化、仮説、類推)

これらの能力をいかに育むかを考えてみましょう。

プログラミング的思考力育成方法として主な手順を以下に挙げてみました。

 

という流れで実施するのをおすすめします。いきなり課題を与えて、ビジュアル・プログラミング言語「Scratch」を使って作成していくのは好ましくないです。

今回の導入はプログラミング教育ではなく、あくまでプログラミングを利用した思考力学習です。

アンプラグドプログラミングとは、電源を入れない、つまりコンピュータを利用しないで思考力を鍛えるというものですが、これは先程の流れでいう「設計」部分で活用すればいいのです。

一番簡単で理解しやすいツールとしては、「フローチャート(流れ図)」を使う方法です。

フローチャート(設計)からプログラム作成という流れが一番理解が深まります。

 

アンプラグドの授業ではカードを用いた学習に終始することが多いですが、その流れからプログラムを作成してみる。そして、それを改良してみたり、より機能を増やして利便性を高めてみたりするにはどうすればいいのかを考える。1つの課題に対して、深く深く考え抜く方が思考力育成には適しているでしょう。

 

プログラミング的思考の準備体操

そして、この流れに入る前の準備体操も必要でしょう。

いきなり科目の本題に入るのではなく、このフローチャートによるアンプラグドプログラミングを準備体操として実施することで、考え方を書き方を学ぶというステップが必要だと思います。

お題は、生徒も日常利用しているものが良いでしょう。
例えば、
・スーパーで買い物する流れ(レジでの精算まで)
・自動販売機で電子マネーを利用してジュースを購入
・電車に乗って目的地で降りる
・路線バスに乗って目的地で降りる
など、いくつもあると思います。

また、遊園地に2時間しかいられないという条件下で、ファストパスを利用してアトラクション3つに乗り、パレードも見ることができるか、時間など調べて検証するというのもいいでしょう。

これらのフローチャートを書きながらプログラミング的思考を鍛えます。先生もちゃんと書けるでしょうか?

プログラミング的思考力育成手順

いきなりグループ演習に入るよりかは、まず個人で実施してみて、グループ演習際に自分で書いた設計書を持ち寄り、間違えている箇所はないか、足りないものがないかを話し合って、改善していくのがいいでしょう。

0.思考の準備
日常の生活で行うことを題材にアンプラグドプログラミング(フローチャート作成)を実施する。
色々な「条件」や「機能」を追加して改良してみるなどの思考訓練を重ねていきます。

1.やりたいことを設計書として作成する
・全体の処理の流れ
・必要な画面の設計
・詳細な機能の設計

2.設計書をもとにプログラムを作成する
プログラミング言語「Scratch」を使って作成する。
設計書に書かれた処理の流れと機能がすべて作成されていること。

3.作成したプログラムをテストする
どうなることが正解なのかを理解して、テストしてみる。
テストに漏れがないかテスト項目を挙げて実施する。
※設計書通りに実行されるかどうかテストを行い、間違いがあれば設計書やプログラムを見直して修正します。
これの繰り返しになります。

4.メンテナンス(改良・改善)
・より効率的で、よりシンプルなプログラムにできないかを検証してみる
・これをさらに使い勝手をよくしようと思ったらどんな機能があればいいか
・より便利な機能があるとしたらどんなものがいいか
などを考えさせる

最後には、この演習での
・苦労した箇所
・工夫した箇所
・この演習で学んだこと
を、話し合う時間も設けて良いと思います。

 



▼Amazonおすすめ本

  

続きはこちら

おすすめ記事

情報活用大学