事例146

席替えを題材としたソーティングアルゴリズムの授業実践 3年の移り変わり

二松学舎大学附属柏中学校・高等学校 阿部百合先生

本日は、アンプラグドの取り組みについてお話しします。まだ十分に固まりきっていない取り組みなので、みなさんからアドバイスをいただければ、ありがたいです。

 

難しいアルゴリズムを理解してもらうには?

今回の取り組みの背景には、このような研究会でも、アルゴリズムを扱っている先生方が増えてきたという印象があり、やはりアルゴリズムを教えなければいけないなと感じたことがあります。

 

研究会の発表では、アルゴリズムをプログラミングの中に組み込んで教えるという先生が多かったように感じます。アルゴリズムだけでも難しいのに、プログラミングと抱き合わせることで、さらに難しく感じさせているのではないかが気になり、私はもう少し簡単にやってみたいと考えました。

 

「易しくない、時間がない、わからない」……生徒にとってのアルゴリズムは、まさにないないづくしです。教える側からしても、「時間がない、難しい、教えなくていい」という、分野になってしまっています。でも、アルゴリズムとは、手順を示すものですから、日常的に使っているはずです。むしろ、手順を考えないで行動している人の方が少ないのではないでしょうか。

 


 

席替えは「並べ替え」~アルゴリズムで解決できそう

私の情報の授業では、毎学期席替えをしています。グループワークのテーマごとに、それぞれ新しいグループで作業をするためです。その際には、背の順や部活動順、誕生日順となどを使って行っています。

 

そうすると、よく考えないで「よし、やるぞ」と言って全員がザっと席を立ち、右往左往してしまうというクラスが出てきます。30分待っても、1時間待っても席替えができず、結局「じゃあ、今学期は席替えなしで」ということになってしまうこともあります。

 


ところが、生徒たちにしてみれば、席替えはしたい。そうすると、勘のいい子が出てきて、「はい、みんな、こういうふうに分かれて」と、指示を出し始めます。これはちょうどアルゴリズムじゃないかということに気づき、この取り組みを始めました。

 

バブルソートから始まり、流れ図の作成へ

1年目は、そういうことに気づきもせず、並び順を考えてから動きなさいと、一言言ってから席替えをしました。

 

「これはアルゴリズムです」という説明は一言もしません。そうすると、生徒たちはだいたいバブルソートを選択して席替えをしていました。

 


2年目は「これはアルゴリズムだ」と気がついたので、まず席替えの前に、アルゴリズムという言葉の説明をしました。アルリズムに「ソート」をプラスして検索すると、いろいろな手法が出てくるから、その中からよさそうなものを使っていいよ、と生徒たちに伝えました。

 


また、情報の授業以外のふだんの生活でも、アルゴリズムを使えることに気づいた生徒もいました。

 

係の生徒の中で、授業が終わったあとに毎週行われる英単語の小テストは、出席番号順に回収することになっています。しかし、席替えをしているので、生徒が集めたプリントは、出席番号順にはなっていません。係の生徒が5分以内に番号順にしないと、みんなが待ちくたびれて、早く帰りのホームルームを終わらせようとプレッシャーをかけてきます。そこで、ソーティングを使えるじゃないかと分類して、マージソートを使って回収する生徒が出てきました。

 

3年目の今年は、初めて資料を作り、流れ図を書いてからソートを実践することにしました(※)。いきなり流れ図を描くのは難しいので、まず「おにぎりのにぎり方」流れ図を作成しました。流れ図ができたら隣の人と交換し、その流れ図でおにぎりが握れるかどうかを確認し合いました。

 


※資料は下記からダウンロードしてください

 

DL資料1.アルゴリズム①ワークシート.docx
Microsoft Word 33.7 KB
DL資料2.ソート席替え流れ図ワークシート.pdf
PDFファイル 406.7 KB

 

図で示すことのメリットは、言葉で示すよりも表現の揺らぎが少ないという点です。しかし、流れ図を描くのはなかなか難しく、全然描けない生徒やイラストの方がよほどわかりやすい生徒もいました。

 

中には、一列のリニアな処理で全部が終わっていたり、ループが回っていなかったりというおかしな流れ図を書いた人もいました。

 

 

日常の中にあるアルゴリズムに気づいた生徒たち

ここまでの活動の評価点としては、アルゴリズムは日常生活に合わせて学ぶことによって、生徒たちが「私たちはその単語の意味を理解して使えているよね」と、自信を持てるようになったことです。アルゴリズムは易しい、面白いと感じた生徒も一定数見られたのも収穫でした。

 


また、他の人が作った流れ図は、理解しやすいということに気づいたということもありました。描くのは大変ですが、見る側からすると、説明としてとてもわかりやすいので、見る人にわかる説明が意識できたという意見が見られました。

 

これからの課題としては、流れ図の描き方に慣れる必要があるということです。生徒たちにとっては、流れ図の描き方は難しく、とても雑なのです。中学校で学んできた人はある程度きれいに描けますが、初めての生徒は「この枠の形が大事」と説明しても、なかなかその枠の形に慣れることができないところがあります。

 


もう一つの重要な問題が、どうなったら正しく並べられているのかを検証する方法です。いろいろな描き方があるだけに、「こう描けば正しい」という確認方法を考えることは、大きな課題と言えます。

 

悩みとしては、アルゴリズムの教え方は、本当にこの程度でよいのかということがあります。これについては、今後も実践を重ねるとともに、先生方のご意見をいただいて改善を図っていきたいと思います。

 

※神奈川県高等学校教科研究会情報部会 情報科実践事例報告会2019 ポスター発表より