事例142

情報Iを少しだけ見据えた授業実践集 ~プログラミング 情報デザイン データサイエンス

神奈川県立横浜翠嵐高校 三井栄慶先生

「だれもができる授業」を目標として

私の情報科教員としての経験は15年目です。

 

最初に勤めた学校では情報Aを担当し、1学期にWord、2学期にExcel、3学期にPower Pointという、ソフトウェア操作のみを授業で取り上げていた数年間を過ごしました。しかも、その時は数学科での採用だったこともあり、数学が20単位、情報は4単位というアンバランスな時間数でもありました。

 

その後2校目に移籍し、「情報B」と「情報の科学」を、3校目である現任校では3年生で「社会と情報」を担当しています。

 

私の特徴は特徴がないこと。個性がないことも個性、好きな関数はと聞かれればaverageと答えるような、いかにも普通の教員だと自己紹介しています。

 

授業スタイルで目指すのは、「誰もができる授業」です。このスタイルゆえに、こうして皆様の前でお話する機会を頂戴したり、内容を受け入れていただけたりしているのではないかと思います。

 


教科書選定を見据えた授業設計をしてみる

情報Ⅰで、今何よりも課題だと考えているのは、2年後の2021年に控えた教科書選定です。その際にあらかじめ何をどう教えたら良いのかというイメージを持っていないのは、とても危険だと思っていました。

 

そんな時に関わらせていただいたのが、文部科学省が作った情報Iの教員研修用教材です。

 

今回は、その内容にも触れながら、私の取り組みをご紹介したいと思います。

 


まず、プログラミングについてはこちらの三つの柱で12回程度の授業を設計しました。本校で使っている「社会と情報」の単元のねらいに則してバランスを取ろうとしたところ、教科書にフローチャートが載っていたので、これを拡大解釈してPCを使って「手順を組み立てる」ことを柱の一つとしました。

 


今回は、この「手順を組み立てる」ことを目標として、情報Iの授業が始まる前に、生徒は授業の内容を理解できるのか・何を苦手としそうなのかを、生徒の振り返りから考察することにしました。

 

授業で使用した言語はPythonです。研修資料もPythonで書きました。Pythonは、スタートさえ注意すれば比較的問題なくできることがわかっています。

 

 

Pythonは、Anacondaをインストールして環境設定しました。40台のPCで、45分程度で全台のインストールが完了します。

 

 

エディタは、Anacondaに入っているSpyderを利用しました。コンソールが標準で用意されていますし、インデントの問題も自動で対応してくれます。数値やキーワードにも自動で色がつきます。本格的な開発環境ではありませんが、教育用としては十分に活用できると思います。

 

今年初めて取り組んでみましたが、県立高校の環境でも支障なく使えましたので、他の学校でもお試しいただけると思います。

 

 

あえて「クラシカルな」内容をやってみて、生徒の反応を見る

教材はゲーム要素のある楽しいものではなく、あえてif、for、配列、乱数、関数、ソートなどクラシカルな内容にしました。生徒たちには、最初につらい授業になることを宣言しておきました。

 

 

最初はいわゆる「写経」の打ち込みから入りました。「printって打てたら手を挙げなさい。次に(  )は、シフト押しながら8を押しなさい。できましたか。はい、次は…」といった具合のスモールステップで刻んでいきました。本校のような、学力向上進学重点校と位置付けられている難関国公立大学を目指す3年生の6月の授業でも、スモールステップで刻むことは重要であると考えています。

 

これを単なる作業にとどめずに、このことを通してプログラムの組み立てを理解できるようにするためには、教員が咀嚼しながら教えることが大切です。そのための引き出しについては、生徒に合わせた工夫が必要であると思いました。

 

授業の振り返りのアンケート結果です。自己評価を5段階で評価すると、日本人のよくある調査結果で、真ん中の「3」が多くなります。

 


これが現実に合った結果と言えるかどうかを確認するため、完全な抜き打ちテストの結果と比較してみたのがこちらです。

 


リストの中から最小値を探すというプログラムを作らせてみました。「できた」が「A」、「forとifは使えたけれど結果はあまり振るわなかった」のが「B」、「できなかった」を「C」としました。先ほどの5段階評価の結果と比較すると、「A」の生徒は自己評価で3~5が付いている一方で、「B」や「C」の生徒の自己評価は低くなっています。

 

具体的にどこができなかったかを聞くと、やはり「ループ(繰り返し)」の部分がネックです。教えていても実感するところですが、繰り返しのところはよりスモールステップで教えることが改善につながると思われます。そこを乗り越えられれば、本校の場合は「クイックソート」までいけました。

 

また、「if(分岐)」は比較的よくわかっていました。Yes・Noの2択を例に出した上で、応用として3択をさせると、悩みながらではありますが、できていました。

 

「ループ」には要注意!

これで、教えるべき重みが見えてきたと思います。まず、初学者にとってPythonの文法規則は学習の妨げにはなりません。ただ、中学校で学んできた生徒が上がってくるとは言え、「ループ」は丁寧に取り組むべきだと考えています。

 

躓きやすいポイントは、「ループ」そして「リスト(配列)とループを織り交ぜたところ」です。「リスト」の応用をしっかり学ぶとクイックソートまで理解できます。これをやらないと、プログラム嫌いが増える恐れがあります。

 

 

最後に、単元の振り返りの結果です。

 

生徒たちによって書かれた文章をテキストマイニングした結果、「わかる」というものがたくさんあったのは教師冥利に尽きると感じました。ちなみに、振り返りの文章は教員が抜粋するとバイアスが掛かるおそれがありますので、テキストマイニングがおすすめです。

 

 

全体としては比較的ポジティブな捉え方で、手順や組み立てることの大切さを教員が示せば、納得して響いてくれることがわかります。

 

 

情報デザイン~デザインは絵の上手・下手ではなく「伝わること」が重要

情報デザインの単元の狙いがこちらです。情報デザインで重要なのは「意味が伝わるかどうか」であること。伝わらないとデザインとは言えず、上手・下手とは関係ないことは繰り返し強調します。

 


そのため色使いの必要性なども話します。デザインというと「絵を描くのは嫌」という生徒もいますが、進めるうちに「これならいけるかも」と思ってもらえるようです。

 


こちらが授業の流れです。実際にソフトを使ってピクトグラムやロゴを作って「伝わるデザインを行います。その中で著作権についても扱いました。

 


まずInkscapeというソフトの使い方を学びます。最初にハート形を描くことでいろいろな操作を体験した後、教員が用意した下絵を使ってイラストを描かせました。

 


その後、実際にピクトグラムを作成します。こちらは職員室のピクトグラムです。実際に作らせてみると、生徒がとらえた学校の先生のポジティブな面とネガティブな面が様々に垣間見られ、興味深い活動でした。

 


最後にロゴマークを作って活動のまとめとしました。ロゴマークは、何を意味しているかが伝わることが重要なので、何を伝えたいのか・描いたものがそれをきちんと表現できているかを考えて作ることが必要です。

 


情報デザインの作品は、「皆にきちんと伝わっているか」ということが評価のポイントになので、私一人が採点するのでは意味がありません。そのため、作りっぱなしで終わらせず、お互いに作品を見せ合う相互展覧会をして、それぞれの意図が伝わるかどうかを話し合います。眺めるだけでないので、いわば「強制展覧会」ともいうものです。

 

最初に作ったハートもお互いに見せ合ってダメ出しをします。ピクトグラムやロゴについても、見せ合ってからデザインの意図が伝わっているかどうかを観点に、お互いの作品評価をします。

 

最後の振り返りをテキストマイニングしても、やはり「伝える」「伝わる」というフレーズが多く出てきて、絵の上手・下手とデザインは異なるということが伝わったのではないかと思います。書いてもらった感想からもそれがわかります。

 

 

データサイエンスについて

データサイエンスの大きなねらいは、生徒が多量のデータを恐れずに使えるようになることです。そして、統計処理をした結果に基づいて考察し、それを人に伝えることができるようになることを目指しました。

 


様々な方法やレベルはあるかと思いますが、今回は相関分析に重点を置いて、このような流れで授業を行いました。

 


まず具体的な事例として、「学習時間とスマホの関係性についてどう思うか」を生徒に聞くと、「負の相関があると思う。なぜなら勉強している人はスマホにさわらないから」という答えが多いです。

 

 

ところが、実際に2年前にGoogleフォームで全員のスマホ使用時間の実態を調査し、テストの数値を使って関係を見てみたところ、相関係数はマイナス0.29と、生徒が思っているほど高くありませんでした。

 

 

生徒たちはセンター試験の統計の問題で「相関係数0.98」などという数字を見慣れているので、リアルな世界でこんな数字はないよ、ということを伝えると驚きます。実際のデータに触れることで、このようなことも伝えられるのです。

 

 

その後、グループワークで統計分析を活用した問題解決を行います。数量的な検討が必要な2つの項目について、相関分析等を行い、一連の過程について発表します。

 


こちらが生徒が考えたテーマの一部です。他者への調査を前提に、自分たちで課題を考え、必要なデータを収集して分析を行い、発表するというところまで行います。

 


例えば、牛乳を飲む頻度と身長の関係を調べたグループは、分析結果から「牛乳を飲む人ほど骨折回数がやや多かったという結果が得られた。運動する人は、身長を伸ばしたり、骨を強くしたいという思いから、牛乳をより多く飲む傾向にある」という考察を導いていました。

 

単元の最後に、疑似相関について説明するので、振り返では「相関」や「因果関係」という言葉が現れました。また、単にエクセルの数字をいじるだけでなく、数値をどのように見るか、どう伝えるかが大切だということも学び取ることができたことがうかがわれました。

 

 

ジェネラリストかつスペシャリストを目指して

最初に「情報Ⅰを少しだけ見据えた授業を実践した」と言いましたが、情報Ⅰでやるべき内容には、まだ程遠いと思っています。

 

具体的には、プログラミングは情報Ⅱを少し想定するならばWebAPIの利用は触れておかなければなりません。そのため、使用する言語は多少絞られてくるのだろうと思います。

 

情報デザインについては、ロゴを描く必然性は少なく、単元の目標のためにはポスターを作成する方が効果的ではないかと思います。データサイエンスについては、今後さらによく考えて、また何か発表できるところまで挑戦してみたいと考えています。

 


情報Ⅰは大きな変化を伴っていますので、準備をしないと対応できません。その予備段階として、あと2年をどう積み重ねていくのかが大切だと思います。そして、情報デザイン、プログラミング、データのいずれも重要ですが、私たち教員にはどうしても得手・不得手はあります。ただ、それに甘えることは許されず、ジェネラリストかつ、スペシャリストであることが求められると思います。そのためにも、今後もいろいろな方と情報交換しながら研究を深めていきたいと考えています。

 

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