一つ目は,目的に合わせて必要な部分を抽出することである。抽象化の抽象とは,一部分を抽出するという意味である。同時に,抽出された部分以外は捨てられるので,それは捨象という。コンピューティングやベネッセの定義はまさに抽象であり,「正多角形の作図においては,正多角形の意味や性質の中から,『辺の長さがすべて等しい』『角の大きさがすべて等しい』という意味や性質を選 評価 (Evaluation) カレー粉などに分けることである。作業手順に注目して,玉ねぎを切る,人参を切る,いためる,お米を炊くなどに分けることもできる。 アルゴリズム的思考は,分解した手順を目的に合わせてよりよく並べることである。その手順は順次処理,分岐,反復の三つで構成される。カレーライスを作るときに,じゃがいもを切る→玉ねぎを切る→人参を切る→人参を炒める→じゃがいもをそこに入れる,というのは順次処理である。「ご飯がなければ→ご飯を炊く」「ご飯があれば→じゃがいもを切る」というように,条件によって処理が変わることが分岐である。具材に串をさし,通ることを確認するまで「熱を通す→串を刺す」というように,条件を満たすまで同じ作業を繰り返すというのが反復である。 一般化は,ある問題解決のためのパターンを他の類似した問題でも使えるようにしたり,使ったりすることである。つまり過去の問題解決のための手順を目の前の問題解決に応用したり,今作った手順を将来の問題解決に応用したりすることである。先述した具材に熱が通っているかを確認する手順は,他の様々な料理に使うことができる。 評価は,考えた手順が目的の達成に十分かを確認することである。あるいは手順が意図した活動になっているかを確認することである。問題があれば,原因を分析し改善方法を考えることでもある。 抽象化については,定義が分かれている部分である。整理したものを表1-2に示し,それらをもとに抽象化の機能を二つ示す。 表1-2 コンピューティング,ベネッセ,日経Kids+にお コンピューティング ベネッセ 日経Kids+ 物事の似ているものから,共通するものを見つけ出す能力問題を単純化するため,重要な部分は残し,不要な詳細は削除する。分割した動き(事象)の中から適切な側面・性質だけを選び出し, 他の部分を除くこと。いわゆる抽象化。小学校 情報教育 5 ぶなど」という例がベネッセによって示されている(18)。 二つ目は,詳細な情報を省き具体的ではない表現にするということである。日経Kids+における「物事の似ているものから,共通するものを見つけ出す能力」というのは,例をみると,「天ぷらうどん」「月見うどん」「きつねうどん」「山菜うどん」など6種類の異なるうどんがあった場合に,つまり「うどんである」ということ,と示されている。これは具体的ではない表現にするということでもある。抽象の対義語は具体であるので,具体的ではないようにすることは抽象化と言える。例えば算数科において「底辺4cm」や「底辺5cm」を「底辺△cm」と変数にすることも抽象化にあたる。これによって「底辺△cm×高さ○cm÷2=三角形の面積」のような一般化が行われる。 共通点を見つけ出すことは重要な思考である。Aという問題の解決のために作った手順の一部を他のBという問題に適応させる場合(一般化)には,Aの問題とBの問題の共通点を考えることで類似しているかどうかを判断し,類似していればAの問題の解決策が部分的に適応されることになる。または解決策のヒントを探す場合,類似する別の案件を参考にすることがあるが,類似するかどうかは共通点を見つけ出すことができるかどうかによる。一般化するにも,参考事例を探すにも共通点を見つけ出す思考は重要である。共通点を見つけだすことの問題解決におけるメリットは大きい。 以上のように,抽象化の機能は多様であり,その分,重要であるともいえる。本研究では抽象化について再定義し,5要素の定義について表1-3のように整理する。 表1-3 本研究におけるプログラミング的思考の要素 分解 (Decomposition) 抽象化(Abstraction) アルゴリズム的思考 (Algorithmic) 一般化(Generalization) 問題や事象をいくつかの部分に,理解や解決できるように分解すること。分割した複数の部分の中から,目的に照らしたり共通するものを見つけたりしながら必要な部分を選んだり,具体性を省いた表現・概念にしたりすること。問題を解決するために,明瞭な手順を組むこと。類似性からパターンを見付けて,別の場合にも利用できるようにすること。目的や意図に対して手順が最適かを確認し,修正・改善していくこと。55 ける抽象化の定義の比較
元のページ ../index.html#7