情報処理学会 高校教科「情報」シンポジウム2023秋(ジョーシン2023)

大学入学共通テスト「情報Ⅰ」を見据えたプログラミング教育の検討

東京都立神代高校 稲垣俊介先生

私は都立神代高校の情報科の教員をしていますので、普段は現場で高校生と一緒に情報を学んでいます。8月に行われました第16回全国高等学校情報教育研究会(東京大会)では大会事務局長を務めました。運営として携われたこと、多くの先生方の本当に興味深い実践事例を聴けたことを何よりうれしく思います。ちなみに来年度は愛知大会ですので、ぜひとも足を運んでいただければと思います。どうぞよろしくお願いします。

 

本発表の流れはこちらです。

 

 

本発表でお伝えしたいこと ~入試に向けたプログラミングの授業とは?~

本発表でお伝えしたいことは「入試に向けたプログラミングの授業は、どのような実践が良いのか」です。学習指導要領に沿った授業が大切であることはもちろんなのですが、せっかく今回、共通テストで「情報Ⅰ」が出題されることで、ある意味、指標が提示されるわけですから、「そこを目指して授業を行う」という考え方があっても良いのではないかと思います。

 

もちろん、共通テストでの「情報Ⅰ」の出題が決まる前から、私はプログラミングの授業を行っています。その際私が一番意識していたのは、「生徒たちに、プログラミングを嫌いになってほしくないな」「面白いって思ってもらいたいな」ということです。

 

ちょっとでも数学の匂いがすると、一気に嫌いになる生徒がいたりするものですから、できる限り面白いと思えるように、私は、導入として「プログラミングは自分に関わることなのだよ」ということを必ず強調するようにしています。

 

そしてできる限り工夫を凝らして、どのようなプログラミングの授業が良いのか、試行錯誤をしてきました。

 

 

しかし、これからはプラスαとして、情報入試に対応できる学力を養うための授業も必要でしょう。だからこそ、授業の工夫が必要であり、その検討をする必要があると私は考えています。

 

こういう言い方をすると「授業で入試対策をするのか?」という感じがすると思うのですが、現場の教員である私としては、やはり入試があるのならば対策をしないわけにはいきません。共通テストをはじめ、情報の入試は生徒の進路が決まるテストの一つとなったのです。もちろん色々なジレンマもありますけれども、私は「情報入試に対応できる授業とはどのような実践か」ということを検討していかなければいけないと思っています。

 

これまで、情報科は自由でした。「入試がないから自由だ」という言い方をして良いのかは分かりませんけれども、私としては「先生方と切磋琢磨をして、できるだけ面白い授業を作ろう。入試のことは考えずに、とにかく生徒たちのためになる授業を作ろう」という想いでやってきました。今後は、大学入学共通テストという、ある意味画一化された試験を受けることも考えた授業をしていかなければならないと思います。

 

共通テストは、すごく良くできた問題です。ですので「それが解けるような学力を身につけた生徒を育てる」という考え方に至れば、それは良いことなのではないかと思うわけです。

 

私にとっても「そのような生徒を育てるべく、自らも努力をする」ことにつながりますので、ポジティブに捉えています。

 

 

情報の授業の現状とこれから

既に私立大学では情報入試を実施している学校もあるのですが、これまでのところ、情報科では入試対策の実践報告はほぼされていません。私自身も情報での入試対策の授業実践の経験はほとんどありませんし、そうした発表を見る機会もありませんでした。

 

私は情報科の教員になってからずっと、全高情研(※1)、あるいは都高情研(※2)の研究発表に行かせていただいておりますけれども、そこでは本当に、いつも興味深い授業が繰り広げられています。「本当に面白いな。なんでこのような興味深い授業が思い付くのだろう」と思います。そして私はそのような実践に出会うたびに、その授業を模して、自分なりに授業を作るということを繰り返し行ってきました。

 

(※1)全国高等学校情報教育研究会

(※2)東京都高等学校情報教育研究会

 

もちろん、入試がないからこそ、やりたい授業が好きなようにできる環境だからこそ、というのはあったのかもしれません。しかし、だからこそ、そうした蓄積があるからこそ、今度は、生徒にとって興味深くて、かつ入試対策にもなるような授業が作れるはずだと思います。先生方には、そうした授業がきっと作れると思いますので、私自身も負けずに作っていきたい、そう思うようになりました。

 

 

自戒を込めて言いますが、私は「教員にとって興味深い授業」と「生徒にとって興味深い授業」はイコールではないと思っています。教員としては面白い授業を作れたと思うようなことが、生徒からするとそうではないということは往々にしてあるだろうと思うわけです。

 

私としては、生徒に興味深いと思ってもらいつつ、さらに入試対策にもなっているという、欲張りな授業を作っていきたいと思っています。

 

 

入試対策の授業とは?

入試対策の授業という言い方をすると、「教員は口頭で説明をしつつ、その内容をスライドに映して、生徒はそれをカリカリと写し取る」といった、いかにも「対策」といった授業を思い浮かべる方もいるかもしれません。

 

私はこれまで先生方の様々な授業を見てきましたが、面白いと思える授業というのは、大抵は実習中心なのですね。であれば、これからは、両方を混ぜ合わせて、実習中心であったとしても入試対策となるような授業があればいいと思いますし、今後、そうした授業をたくさん作りたいと思っています。

 

 

これも自戒を込めて言いますが、私たち教員は、自分としては楽しく授業をしているつもりでも、実は生徒はついてきていないかもしれません。

 

また、繰り返しになりますが、授業内容が興味深いと思っているのは実は教員だけかもしれません。

 

あるいは生徒たちが面白いと言ってくれたとしても、ただ面白いだけかもしれません。単に生徒の受けが良いだけで、実は入試に対応できる学力は身についていないかもしれません。そのようなことを、私はすごく反省します。そしてこのようにならないようにしなければいけないと思います。

 

これらの反省を踏まえて、「生徒にとって、学力が本当に身につく授業とは一体どういう授業なのか」を検証してみることにしました。同じ学力層の生徒に、私がいくつかのパターンで実際に授業を行い、結果を比較します。

 

私は今まで「教員による一斉授業」を中心に行ってきたわけですが、例えば「生徒による自学自習」を中心にした授業スタイルの方が効果は上がるかもしれない。

 

他には、オンラインの教材を駆使した授業と、目の前の生徒たちに合った教材を教員が自作した授業ではどちらが良いのか、という比較を授業で行ってみたわけです。

 

 

プログラミング単元で授業方法を比較してみる

今回は大学入学共通テストの試作問題における重要単元の一つである「プログラミング」の実践において比較しました。

 

 

授業方法の比較について少し詳細にお話します。「教員による一斉授業」で、「教員の作成した教材(私が作った教材)」を使って授業をするというのが、今までの私の授業スタイルです。

 

今回は、まず「教員による一斉授業があるタイプ」か「教員による一斉授業がないタイプ」で授業スタイルを分けてみました。その上でそれぞれ「外部の教材」か「私が作った教材」のどちらかを使い、計4パターンの授業を行っています。

 

「教員による一斉授業あり」のパターンでは、「外部の教材」「教員作成教材」のいずれかを使って、私がそれを授業で説明します。

 

「教員による一斉授業なし」で「外部の教材」を使用するパターンでは、最初に生徒に教材を渡した後は、その教材を自分たちで自学自習してもらいます。分からないところがあったら、私を呼んだり、同じ班の友達同士で教え合ったりしながら進めていきます。

 

「教員による一斉授業なし」で「教員作成教材」を使用するパターンでは、私の実際の授業とほぼ同じ授業動画を作ってありますので、生徒たちは各自その授業動画を見ながら進めていく形式です。

 

以上、4パターンの授業を行い、生徒たちの学力が身につくのはどのパターンになるのかを検討しました。

 

 

授業の内容についても触れておきます。プログラミングの授業は2学期の最初から行いますが、その前に、まず夏休みの宿題として、動画でScratchの課題を課しています。動画を見るだけではなく、プログラミング操作をしなければ解けないような教材にしてあり、かつオンライン上で提出しなければならない形式になっています。

 

プログラミングの単元に入る前にやらせる格好にはなってしまうのですが、Scratchは中学生までの間に使っている生徒も多いので、これは全員に課しました。課題の内容について、もし興味がありましたら、私のホームページ(※3)に動画を載せていますので、そちらをご覧ください。

 

(※3)稲垣先生のHP

 

 

2学期初回の授業はプログラミングについてのオリエンテーションです。ここでは抜き打ちで、Scratchのプログラミングの小テストを行います。夏休みが終わった後の最初の授業でいきなりこんなことをすると、生徒たちにはめちゃくちゃ嫌われるのですけれどもね(笑)。

 

小テストは紙で行う形で実施しました。結果は、もちろん個人差は出ましたけれども、各クラスにおける点数の差はほぼない状況でした。これで、検証開始時の学力がクラス間で偏っていることはなさそうだと確認できました。

 

続く2回のオリエンテーションでは、「プログラミングを好きになってもらう」「自分ごとにする」ための教材として「自分の理想のアプリを考えよう」という講座を、2時間使って行います。ここまでがプログラミングの授業の準備という位置づけです。

 

 

ちなみに、この「自分の理想のアプリを考えよう」という授業の内容については、2022年の情報処理学会でのシンポジウムにてお話をさせていただきました(※4)。ご興味がある方はご覧いただければと思います。

 

(※4)講演記事はこちら

 

 

本編の話に移ります。外部の教材を使ったプログラミングのカリキュラムはスライドの通りです。オリエンテーションで既に3回授業をしていますので、スライドの回数は4回目から始まっています。この内容で「一斉授業を実施」もしくは「生徒の自学自習」の検証を行いました。

 

 

こちらのスライドは私が作成した教材の内容です。教え方に多少の違いはありますが、外部教材との大きな違いはなく、Pythonの基礎を押さえるような内容になっています。

 

実際にどういう授業を行っているのかを知りたい方は、私のホームページに授業動画が入っておりますので、そちらをご覧ください(※5)。今回の検証で「一斉授業を行わない(授業動画を見る)」生徒たちがどんな教材を見たのかをご確認いただけます。

 

(※5)稲垣先生のHP (※1の再掲)

 

 

そして最後に、また抜き打ちテストをします。抜き打ちテストばかりしていると、本当に生徒に嫌われるのではないかと心配しています(笑)。

 

今回は共通テスト試作問題の第3問、プログラミングの問題を出題しました。この問題を実際にやってみて、どのパターンの生徒たちが点数を取れたのかを比較します。

 

 

繰り返しになりますが、今回は外部のオンラインの教材と私の教材で比較し、教員による一斉授業ありタイプと、なしタイプという授業スタイルで分けて検証しました。うちの学校は8クラスありますが、それを2クラスずつに分けて、実際に授業を行ってみました。

 

結果については、ただいま分析中です。今後、乞うご期待ということで、どのような結果になるのか、私もドキドキしております。

 

同じ学校の生徒たちですので、各クラスの学力差はさほどありません。最初に行った抜き打ち小テストからも、ほぼ実力差はない状況が見て取れます。そういった状況で学力差が出てしまうのか、出ないのか、私としては非常に興味深いところでもあります。どの授業スタイルが良かったのか、きちんと検証したいと思います。

 

 

まとめ:追求はつづく ~情報入試に対応できる授業とはどのような実践か~

最後にまとめをお話します。スライドは前半のスライド(スライド4)と同じものです。

 

入試に向けたプログラミングの授業はどのような実践が良いのか?

 

今まで、私はとにかく「生徒たちが面白い、興味深いと思ってくれる、そして学びになっていると感じてくれる授業を作り続けて、毎年工夫を加えていけば、良い授業になるはずだ」と、そう思ってずっとやってきました。

 

今回「情報Ⅰ」が共通テストに導入されたことで、ある意味、指標ができたと思っています。共通テストの問題が「学力がきちんと測れる」ものであると定義するならば、私の担当の生徒がもし点数を取れなかった場合には、私の授業が「学力が身につく」ものになっていないということになります。

 

共通テストは進路に関わることですから、私は、やはり「生徒にいい点数を取らせてあげたい」と思います。目の前に生徒たちがいる教員としては、当たり前の心理です。

 

 

ですから私は、入試に対応できる学力を身につけさせる工夫を今後も続けたいと思っていますし、情報入試に対応できる授業とはどんな実践なのかについても追求を続けていきます。

 

今回はプログラミングに焦点を当てて検討しましたが、今後は他の分野でも検討していきたいと思っています。

 

情報処理学会 高校教科「情報」シンポジウム2023秋 発表より