アルゴリズムとソート

-紙コップを用いたソート実習-

1 はじめに

 コンピュータのソート処理においてさまざまなアルゴリズムがあることを知り,代表的なソート法を実習を通して学ぶ。

2 目標

 コンピュータは物事を判断して処理する場合,必ずあるアルゴリズムに従って処理を行っていることを理解する。またアルゴリズムの意味について知り,ソートにおける代表的なアルゴリズムとその仕組みについて実習を通して理解する。

3 指導内容

 ・プリントにソートの用語を埋めさせながらアルゴリズムについての意味を理解させる。
 ・ソート実習を通して代表的なソートのアルゴリズムとその仕組みについて理解させる。
 ・自己評価シートを記入させ,単元のまとめを行い理解を深めさせる。

4 指導の流れ

  学習内容・学習活動 指導上の留意点
導入
(10分)
・アルゴリズム及びソートの意味を理解し,プリントに用語を記入する。 ・アルゴリズムを「手順」や「ルール」などの言葉に置き換えてイメージしやすくする。
・並べ替えを行う場合,一定の手順(アルゴリズム)が必要であることを理解する。 ・クラス40人を出席番号順に並べ替える場合,どうしたら効率がよいかと生徒に考えさせる。
展開
(30分)
・3人ずつのグループに分かれて,グループ内でそれぞれの役割(ソート係,計測係,記入係)を決める。 ・グループ3人の机をつなげさせる。使用する道具(紙コップ10個,ストップウォッチ,記入用紙)を代表者に配布する。授業前に班ごとに仕分け準備しておく。紙コップの内側の底に数字を記入しておく(伏せた状態では外側から数字が見えないようにするため)。
・ソート係は自分が行うソート方法(交換ソート)の手順を理解する。 ・教員が「交換ソート」について教卓で紙コップを用いて手順を踏んで実演する。
・それぞれの係について準備を行う。スタートの合図でソートを実演する。
・全員の準備が整ったことを確認の上,スタートの合図をかける。
・ソートが完了したら,計測係は時間を記入係りに伝える。また,記入係は計測時間を記入用紙に記入し,教員へ提出する。 ・教員は提出された各グループの記入用紙を集約(Excelへ入力,自動で平均,差が表示される)する。
・係を3人で交代して,同様に「選択ソート」「挿入ソート」についても同じ作業を行う。 ・ソートの手順が分からず作業が中断している生徒がいないかどうか机間指導を行う。
まとめ
(10分)
自己評価シートを記入し,授業のまとめを行う。 ・どのような場合にどのソート法が効果的か考えさせる。

5 評価規準

評価規準

  関心・意欲・態度 思考・判断・表現 技能 知識・理解
単元の評価規準 ・アルゴリズムとソートについて関心をもっている。 ・データ配列によって適しているソート法を判断することができる。 ・手作業でソートを行い,データの並べ替えを行うことができる。 ・アルゴリズムとソートについて理解できる。
・手作業によるソートの実習を通して,ソートの特徴と手順について理解できる。
学習活動に即した評価規準 ① 手作業によるソート実演に興味・関心をもって意欲的に取り組んでいる。 ① それぞれのソート法について,どのようなデータ配列に適しているのか判断している。 ① 紙コップを用いてそれぞれのソート法を実演できる。 ① アルゴリズムとソートについて意味を理解している。
② それぞれのソート法の特徴と手順について理解している。

指導と評価の計画

時間 学習内容および活動
(指導上の留意点)
観点別評価内容 評価規準との関連 評価の方法
関心

意欲

態度
思考

判断

表現
技能 知識

理解
発表内容 提出物の内容 授業態度
1時間目 ◎ アルゴリズムの理解とソート実習
・アルゴリズム及びソートの意味を理解する。 ・アルゴリズムとソートについて理解しているか。          
・プリントに用語を適切に記入できているか。          
・「交換ソート」「選択ソート」「挿入ソート」について,それぞれ実演を踏まえて理解する。 ・それぞれのソートについて違いが理解できているか。  
・自己を振り返って理解度をチェックできているか(自己評価シート)。          

6 実践結果の考察

 それぞれのソート法を実演した者が、そのソート法の理解度が一番高いとは限らないという結果となった。

ア 各ソートの実演者別の交換ソートの理解度
 各ソートの実演者別の交換ソートの理解度は以下のとおりである。やはり,実際に交換ソートを行った者の方が理解度は高いことが分かる。交換ソートは手順が比較的容易であるため,交換ソートではなく選択ソートを実演した者でも理解できた割合が多かった。しかし,挿入ソートを行った者は交換ソートの理解度があまり高くないことが分かった。これは,交換ソートについて頭では理解できていたつもりではあったが,挿入ソート実演が難しく上手くいかなかったため,交換ソートについても自信をもって理解できたとは言えなかったのではないかと考える。

イ 各ソートの実演者別の選択ソートの理解度
 各ソートの実演者別の選択ソートの理解度は以下のとおりである。実際に選択ソートを行った者とほぼ同じ割合で交換ソートを実際に行った者も選択ソートの理解度が高いことが分かった。しかし,上記の結果と同様に挿入ソートを行った者は交換ソートの理解度があまり高くないことが分かった。これについても,選択ソートについて頭では理解できていたつもりではあったが,挿入ソートが難しくうまくいかなかったため,選択ソートについても自信をもって理解できたとは言えなかったのではないかと考える。

ウ 各ソートの実演者別の挿入ソートの理解度
 各ソートの実演者別の挿入ソートの理解度は以下のとおりである。挿入ソートについては,上記二つの結果とは違い,実際に挿入ソートを実演した人の方が理解度は低いことが分かった。逆に挿入ソートを実演していない人の方が,仕組みが理解できたと多く回答している。これについては,挿入ソートは最後(交換ソート,選択ソートの後)に実演していることが大きく影響したのではないかと考える。そして,交換ソートと選択ソートに比べ,挿入ソートはソート方法が複雑であるということも起因するであろう。

7 おわりに

 今回3通りのソート(交換ソート・選択ソート・挿入ソート)について紙コップを用いて実習を行った。すべての生徒にそれぞれのソート方法を実演させたかったのだが,用具と時間の関係で一人につき一つのソート法しか実演させることができなかったことが残念である。上記のアンケート結果から,基本的には自分が実演したソート方法の理解度が高いという傾向にあるが,挿入ソートに関しては実演した者のほうが「あまり理解できなかった」という回答が多かった。ただし,このアンケートだけでは本当にソート方法について理解しているのかどうかは読み取ることができない。これについては,ソートについての小テストを実施し自己理解度を点数化するとよかったと感じる。ただ今回の結果においては,「アルゴリズムを理解する上で実際にその実習を行うことが大きく影響する」と感じる。教科情報の授業においてコンピュータを使うことが当たり前になってきている今日,すべてをコンピュータに頼るのではなく,原点に返り「実際に手作業を通して学ぶ」というアンプラグドコンピューティングを大切にしていかなければない考える。