京都大学数理・データサイエンス・AI教育強化公開FD講演
新しい高等学校の情報科科目と高大接続・大学初年次教育Ⅱ ―高等学校の立場から
京都市立堀川高校 藤岡健史先生
私は、昨年もこの数理・データサイエンス・AI教育強化公開FDで発表させていただきましたが、その1年後のご報告ということで、今回もお受けしました。少々内容が重なる部分もあるかもしれませんが、高等学校ではこの4月から新しく情報科の「情報I」が始まりましたので、それが今どのような状況になっているかということを中心に、本校の様子を交えながらお話しできればと思います。
今回の内容です。最初に、学習指導要領が変わって、学校現場がどのように変化してきているか、というお話をさせていただきます。
その後、私も編集に携わらせていただいた教科書についてご紹介していきます。
現在、高校で始まっているのは「情報Ⅰ」だけで、「情報Ⅱ」は教科書の検定が終わって、学校に見本が届いているという状況です。今年はこの辺りも、ざっとご説明いたします。
3つ目に、大学入学共通テスト(以下、共通テスト)について。高大接続の間にある入試として共通テストについては、関心の高い先生もおられると思いますので、その内容についてご紹介するとともに、本校の生徒たちがそれを実際解いてみて、どのくらいの正答率だったかということについても、最新のデータでご紹介します。
そして、最後に本校の実践を具体的にご紹介させていただきます。
簡単に自己紹介いたします。
私は堀川高等学校で、情報科と数学科を担当しています。京都市の教育研究・研修推進員も務めており、また京都大学では、情報教育の教員養成に携わっています。学会活動等もいくつか参加しております。
新しい高等学校学習指導要領での情報科の位置づけ
まず、新しい高等学校の学習指導要領につきまして。新しい学習指導要領の改訂については、このスライドの1枚にまとまっているということで、ご覧になった方も多いかもしれません。
高等学校では、「知識・技能」の習得だけではなく、「思考力・判断力・表現力」、そして「学びに向かう力・人間性等」という「学力の3要素」の3本柱を常に意識して、これらの3観点で評価も行いながら授業を進めています。
※クリックすると拡大します
今、高等学校の中で注目されているのが、この真ん中辺りに書かれている「社会に開かれた教育課程」です。これは、情報科に限らず、学校の中に閉じていない、社会との関わりを持ったカリキュラムを作っていくということで、ここについては情報科の果たす役割は非常に大きいものがあります。また、情報学はいろいろな学問と関係しているので、カリキュラム・マネジメントという意味でも、情報科に閉じたものではなく、他教科との連携についても意識して授業を進めていかなくてはなりません。
この学習指導要領の改訂では、新しい科目も設置されて、以前の高等学校の教科・科目とは、かなり変わってきていることをお知りおきいただきたいと思います。
具体的な教科・科目の構成は、下図の文部科学省の資料をご覧ください。例えば、情報科は共通必履修科目の「情報Ⅰ」と選択科目の「情報Ⅱ」になりました。これは、後で詳しく説明します。
以前はなかったものとして、「理数科」の「理数探究基礎」と「理数探究」、こちらは数理・データサイエンス・AIとも関係してくる部分であると思います。さらに、公民科には「公共」が入りました。
※クリックすると拡大します
教育内容の主な改善点を、上図スライドの右の方にまとめました。情報教育については、皆様もご存知の通り、かなり内容が変わりました。
情報科は、これまでの「社会と情報」「情報の科学」を再編して、全ての生徒が「情報Ⅰ」を履修するという形に変わりました。そこには、プログラミング、ネットワーク、情報セキュリティが含まれます。そういった内容を必修化するということ、データベース、データの活用などデータサイエンスに関する内容を大幅に充実させるということが、内容として入ってきています。
ここから少し具体的な話に入っていきます。今回参加されている方には大学の先生が多いということを聞きまして、高等学校と大学の違いについてご紹介した方がよいかと思いまして、私の教えている1年生のあるクラスの時間割を持ってきました。
月曜日の午後に「情報Ⅰ」の授業が2時間あります。水曜日には「探究基礎」という授業がありますが、これは「総合的な探究の時間」の本校での名称で、「探究」の基礎を教えるという内容の授業です。「総合的な探究の時間」(以前は「総合的な学習」の時間という名称でした)と「情報」は同じようなことをしているのではないかというとらえ方をしている方がいらっしゃるかもしれませんが、全く別の授業です。これが週に2時間あります。
さらに、これも今年から始まったのが、先ほども少し紹介した「理数探究基礎」で、これが週に1時間入っています。こういった形で、週5日間、毎日7時間ずつの時間割が組まれています。
※クリックすると拡大します
情報科の授業は、昨年2021年度までの学習指導要領では、「社会と情報」(2単位)、または「情報の科学」(2単位)のどちらかを選択ということになっていました。
もちろん、両方を置いても構わないのですが、現実としては、どちらか1科目のみを置いている学校が多く、その中でも「社会と情報」が約8割でした。
つまり、どちらか一方しか学んでいない生徒がほとんどで、入試科目にするのであれば共通している部分しか出題できないという問題があり、これまで大学入試にはほとんど出題されませんでした。
これが今回の改訂で、今年の4月から右側の「情報Ⅰ」(2単位)になりました。これは必修履修科目で、高校生は在学中に必ずこの授業を受けるということになりました。さらに、「情報Ⅱ」(2単位)は、「情報Ⅰ」を履修した後に、2年生や3年生で履修する選択科目です。これは必履修ではないので、設置は学校ごとに決めることになっています。ちなみに堀川高等学校では、「情報Ⅱ」は置かず、1年生の「情報Ⅰ」の2単位のみとなっています。
※クリックすると拡大します
こちらは、昨年度の公開FDで京都精華大学の鹿野利春先生が紹介されたスライドをお借りしています。
「社会と情報」か「情報の科学」の選択だったものが「情報Ⅰ」に統合されたことで何が変わったか、ということですが、右側の赤字で書かれているところが「情報Ⅰ」に新しく入ってきた内容です。
本シンポジウムも「数理・データサイエンス・AI教育」という名前が入っていますが、高等学校の情報科にも、プログラミングやデータの活用といった内容が入ってきました。高大接続において、こういった内容がどのように扱われているか、というところが注目されているところかと思います。
※クリックすると拡大します
情報I・情報Ⅱの教科書を概観する
ここからは、「情報Ⅰ」の教科書の概観をお話しします。こちらは文部科学省が出している、令和5年度の使用教科書目録です。左側が「情報Ⅰ」の教科書のリストで、6社から12種類出ています。冊数が1冊多いのは、図解編と実習編に分かれているものがあるためです。これらは、すでに各校で使われています。
右側が「情報Ⅱ」で、これは今春検定が終わって、学校に見本本が届いています。数は非常に少なくて3種類、出版社も3社のみです。こちらは、まだ生徒の手元には届いていませんし、一般にも販売等はされておりません。来年度、令和5年度になりましたら、どなたでも購入をしていただけるので、ご覧いただければと思います。
※クリックすると拡大します
「情報Ⅰ」の教科書は、この4月から使用していますので、採択数、いわゆるシェアが出ています。これは、都道府県によって多少の差はあると思いますが、こちらは東京都の採択数です。
見ていただくと、かなり偏りがありますが、各校がそれぞれの学校に合った教科書を選んでいるという状況になってるからではないかと思います。
※クリックすると拡大します
下図は私が携わった教科書です。どちらかというと、学習指導要領の流れとは少し変えて、高校生にとって分かりやすいように工夫したものになっています。
この教科書は、プログラミング言語のPythonが、そのまま教科書の名前に入っています。
プログラミング言語でどれを扱うかいうことも、教科書の特徴になっています。いくつかの言語を併記している教科書もあって、この教科書はPythonですが、同じ内容でJavaScript版を別の教科書として発行しています。つまり、この第1章から第5章まではプログラミングではない部分なので、これらは共通の内容で、第6章のプログラミングのところだけPythonとJavaScriptとで分けて作られているという形です。
ですので、例えばPython版を採用した学校ではPythonを学び、JavaScript版を採用した学校ではJavaScriptを学ぶということで、学校によって扱う言語が違うという現状になっています。
この教科書の特徴としては、「情報Ⅰ」の教科書なのですが、「アドバンス」というページが用意されていて、ここに「情報Ⅱ」に関係するような内容が入っています。
例えば、「データの分析」のところには、データの分布と検定の考え方、回帰分析の内容が入っています。また、「モデル化とシミュレーション」のところには、確定的モデルと確率的モデルで、「情報Ⅰ」の内容の学習指導要領の内容をちょっと超えて、「情報Ⅱ」の内容についても触れるような構成の教科書になっています。
※クリックすると拡大します
それでは、本校では何時間くらいプログラミングを扱っているのかということにつきまして。今年度は、プログラミングはもともとの予定通り、大体15~19時間くらいで進めていこうということにしています。
具体的には、まずExcel関数のような、テキストベースの表計算からスタートして、そこからPythonのほうに持っていくという形の授業展開を考えています。
※クリックすると拡大します
さらに、データの活用につきまして。本校の生徒は、自分たちで社会と関わった問題解決をしていくという、学習指導要領で謳われていることを強く意識した探究活動に力を入れています。そこで、自分たちでそれぞれデータを取ってきて、それを分析して発表するということにつながる活動を、この授業で行おうと考えています。
※クリックすると拡大します
大学入学表通テスト試行問題・サンプル問題をやってみる
大学入学共通テストの「情報」の「試作問題」と「サンプル問題」が、大学入試センター(DNC)から公表されていますので、その流れも確認しておきます。
2020年11月に、DNCが「情報」の「試作問題(検討用イメージ)」を公表しました。これは、各種関係の学会に向けて配布するという形でしたが、実際には各学会もオープンにしているので、誰でも見られる状況になっています(※1)。
※1 https://www.ipsj.or.jp/education/9faeag0000012a50-att/sanko2.pdf
さらに、2021年3月に「サンプル問題」(※2)が出ました。DNCがこれらを公表したことで、私たち現場の教員も、こういった問題が出るのかな、こういったレベルの問題になるのかな、ということをある程度推測しつつ、では授業をどのくらいの進度で、どのぐらいのレベルで進めていこうかな、ということを考えながらできるようになりました。
※2 https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r7ikou/
その後、ニュース等でも報道されましたが、2021年7月に文部科学省が「令和7年度大学入学共通テスト実施大綱の予告」を公表し、令和7年度の共通テストから情報科が新設されることを、さらに同年9月の「令和7年度大学入学共通テスト実施大綱の予告(補遺)」では、試験時間が60分であり、この年に限って現行課程履修者(いわゆる浪人生)への経過措置も行う、というようなことが立て続けに発表されました。
さらに、今年1月に、国大協が「共通テストで6教科8科目を課す」という基本方針を出しました。そして、間もなく11月9日に試作問題(経過措置を含む)を発表するということで、どのような問題になるのか、私もわくわくして待っているところです。
※クリックすると拡大します
こちらが2020年11月に公表された「試作問題(検討用イメージ)」の表紙になります。こちらは昨年も発表させていただいたので、ざっとご覧いただくだけにしますが、この試作問題については、検索していただきましたらどなたでもご覧になれるので、ぜひ内容を見ていただければと思います。
※クリックすると拡大します
試作問題には、ここに掲げたような渋滞のシミュレーションの問題が出ています。この問題を、私たちの情報科の授業のほうで実際に生徒たち(77名)に解いてもらいました。
※クリックすると拡大します
このデータは今の2年生が、昨年1年生のときに解いたものです。前回の公開FDでは、その1年前の生徒の成績を紹介しましたが、大体同じくらいの正答率になっていました。ですので、試作問題の難易度というのはほぼこのくらいかな、と感じています。
この問題には[ア][イ][ウ]と3題ありましたが、[ア]は大体半分くらい、[イ][ウ]は4分の1くらいの生徒が正解する程度の難易度でした。
本校はスーパーサイエンスハイスクール(SSH)で、大学進学を希望する生徒が多いのですが、その生徒たちでこのくらいの正答率だということがわかりました。
本校の旧課程の生徒は、「社会と情報」の履修生ですが、初めてこの問題を見て、これくらいの正答率が出せる問題ということで、しっかり思考すれば解けるという非常によく考えられた問題になっています。
今年から「情報Ⅰ」になって、プログラミングが授業に入ってきているので、生徒たちがどのくらいできるかな、と楽しみにしています。
2021年3月公開の「サンプル問題」についても、やはり単に問題のための問題というよりは、「社会の問題を具体的に扱う」という傾向は同じです。
例えば、プログラミングの問題では、比例代表選挙の議席配分である「ドント方式」のプログラムを考える、ということで、非常に具体的な問題になっております。
「月刊高等学校教育」の2022年11月号で、大学入試センターの水野修治先生が、この「サンプル問題」についてコメントされていましたので、そこから引用させていただきます。
※クリックすると拡大します
この問題のプログラムは、スライドの真ん中に出ていますが、これは大学入試センター独自の、試験用のプログラミング言語のDNCLで書かれています。DNCLは、使う教科書によって、PythonやJavaScript、VBA、Scratchなど様々なプログラミング言語で学習してきた生徒たちがいるので、学んだ言語に関係なく解けるように、ということで考えられた言語になっています。
ただ、よく見ていただくと、かなりPythonに近いという印象です。この問題の狙いとしては、生徒が主体的に学習し、探究する場面を設定しているということ。また、あとは、配列、最大値探索、それから繰り返し処理を用いたアルゴリズムを理解してプログラムで表現し、さらに具体的な状況設定に応じて、プログラムを修正することを通して問題解決に向けて考察することができるかどうか、ということを問うている内容になっています。
※クリックすると拡大します
こちらは、情報科の先生の中で話題になった問題です。サッカーのワールドカップに関係するデータから、項目間の相関関係を考察する問題と、実際にサッカー部の生徒が「強いチームと弱いチームの違いはどこにあるのか」という具体的なテーマで問題解決をしていくという、非常に面白い問題です。
生徒たちは、今後はこういった問題に対応できる勉強をして、大学に入学してくるようになります。単に相関行列や散布図を勉強するよりは、こういった実際の問題解決で学んでいくということで、教育効果が高まればと、期待をしているところです。
※クリックすると拡大します
ここまでは共通テストのお話でしたが、河合塾のサイトでは、一般入試に「情報」を課す大学とその問題が整理されています(※3)。
個人的には、大学入試のいわゆる一般入試でも、多分この動きが少しずつ広がっていくのでないかと期待しています。これについては、今後大学の先生方とディスカッションさせていただければと思います。
※3 http://www.wakuwaku-catch-mondai.net/question/
※クリックすると拡大します
探究学習と情報科の授業の連携の工夫
最後に、高等学校現場での実践報告ということで、本校の「情報Ⅰ」と「探究基礎」、「理数探究基礎」についてご紹介します。
本校では生徒がBYODで1人1台端末を持って授業を受けています。また、「情報Ⅰ」は、コンピュータ室でそれぞれがデスクトップを持ち、さらに2人に1台、センターモニターとして、私のコンピュータを表示するための据え付けのディスプレイを置いています。そしてパソコンに向かうだけでなく、時には向き合ってディスカッションも取り入れながら授業を進めています。
BYODの端末は、基本的にはノートテイキングや、いろいろなアプリを使った活動を入れることで、端末を使うことに慣れるよう、できるだけ積極的に使うことを念頭に置いて、授業を進めています。
※クリックすると拡大します
こちらは私の個人的な研究の内容で、実践研究の内容とも関係してきます。
「基礎情報学」というのは、文系・理系にまたがる情報学の基礎を扱う学問です。私は、この基礎情報学の内容を「情報Ⅰ」の授業に取り入れる取り組みを進めています。これについては、論文等も書いていますので、よろしければ後ほどお読みいただければ幸いです(※)。
本校は探究に関しては非常に力を入れており、報道等でもいろいろと紹介されています。
※「情報I」への基礎情報学の導入については、下記記事をご参照ください、
https://www.wakuwaku-catch.net/jirei22233/
本校の「探究基礎」(総合的な探究の時間)では、「ゼミ活動」といって10名程度の少人数講座で、物理や化学、生物などのテーマに分かれて、自分の興味・関心のある研究テーマに挑んでます。情報科学ゼミでは、プログラミングなどを使って生徒たちは個人研究を行っています。
以前は、体育館に研究をまとめたポスターを貼って全校で発表会を行っていました。このような発表会をして、生徒たちが自分たちの活動を発表することで、お互いに興味・関心を高め合うことを目指していました。コロナの問題がない頃には、保護者や大学の先生方も招いていました。これからも、状況を見ながら少しずつオープンにしていきたいと思っています。
校内で発表するだけでなく、外部のコンテスト、例えば日本学生科学賞や、プログラミングコンテスト等にも積極的に参加しています。
こちらは、今年度の2年生の研究論文タイトルです。
割合身近なテーマが多いですね。よくあるのが、渋滞のシミュレーションや、信号待ちの待ち行列に関するようなシミュレーション、鉄道関係もあります。様々なテーマがありますが、実際の指導には、担当の教員以外に大学院生に入ってもらって、ほぼ個別指導で授業を進めていく形になっています。
こちらは、この探究活動を成功させるためのポイントです。こちらは前回もまとめさせていただきました。
最後に今年から設置した「理数探究基礎」についてご紹介します。
本校はSSHに指定されている関係で、「理数探究基礎」を含めたカリキュラムを構成し、そこで実践研究を行っています。「理数探究基礎」はクロスカリキュラムですので、理科と数学科がお互いに強みを生かしながら絡み合って授業を構築しています。
「理数探究基礎」の授業は週に1時間です。4月に探究の進め方のガイダンスを行って、その後、理科の各科目を、最後に数学のデータの分析という、リレー講義のような形で授業を進めています。ここでは情報科とも連携します。
「理数探究基礎」では、探究的な学びについてかなり重点を置いていますので、理科の実験や、数学の「データの分析」がいかに絡み合って授業を作っていくかが大事になります。
例えば、理科の実験でデータを取り、それを実際に数学の「データの分析」の知識を使ってデータ処理をする。最後に「情報」の知識を使って、表計算アプリなどでその結果を出して、最後にまとめていく、という授業を進めています。この実践の結果についても、今後発表していきたいと思っています。
これからの情報教育のあるべき姿は
最後にまとめです。いろいろなお話をしてきましたが、これからは大学の数理・データサイエンス・AI教育の先生方と、高等学校の情報教育との連携が非常に重要になってくると思います。
高等学校の「情報」というと、ややもすると入試に注目が集まりがちですが、生徒は入試のためだけに勉強しているわけではありません。
先ほど「社会に開かれたカリキュラム」というお話をしましたが、そういったものに向けた情報教育の拡大再編というのが、非常に大事であると思っております。
「基礎情報学」のお話をしましたが、数理・データサイエンス・AI教育の中で中核になると考えられるのは、情報の「意味内容」の本質的な理解ということです。例えば、「モデル化とシミュレーション」を教えるなかで強調しているのは、モデルが間違っていたら、そのデータをいくらコンピュータで計算しても間違った結果が得られてしまい、誤った意味の解釈がなされてしまう、ということが起こります。
高等学校の授業では、そういったことにならないよう、どのようなことに気を付けていかなければならないのか、ということをしっかり教える必要があります。そのためには、この「基礎情報学」で、情報の本質、すなわち「情報とは何か」についてきちんと学ぶ、そういった授業をしていかなければならないと思っています。
皆様には、ぜひ高等学校の教科書等をお読みいただいて、忌憚ないご意見をいただけましたら幸いです。
[質疑応答]
Q1.「情報Ⅰ」の教科書では、Python他のプログラミング言語の詳細については記載がありませんが、具体的に教える内容として、どの程度のプログラミング技術が盛り込まれているのでしょうか。また、そのための副読本などは扱われているのでしょうか。
A1.藤岡先生 「情報Ⅰ」の教科書にプログラミング言語の詳細についての記載がないというのは、プログラミングの一部が例題として載っている程度ということだと思います。
プログラミング技術について教えるということについては、学校によっていろいろ工夫されていると思いますが、私は以前からサブテキストを自分で作って、それを生徒に使ってもらっていました。今回は、そのPython版を作ることで準備しています。副読本は使っていません。学校によっては、例えば民間の会社が作っている高校生向けのプログラミングの基礎の学習コンテンツを活用されているところもあると聞いています。
Q2.先ほどサッカーの問題の例で言えば、例えばサッカーに興味がある生徒には、より深く知りたいと いう意欲につながる一方で、興味がない場合は、項目は単なる項目にすぎなくなって、理解にバイアスがかかってしまうという場合も想定されます。そういったバランスはどのように取るのでしょうか。
A2.藤岡先生 確かに、プログラミングを学ぶ題材が、このサッカーだけとなると、もちろんその影響は大きくなると思いますが、題材は別にサッカーだけではないので、例えば、確率を扱う時はガチャを題材にするなど、生徒にとって興味がありそうないろいろな要素を取り入れていくことによってバランスを取り、様々な興味や関心がある生徒が学べるようにしていく工夫が、学校では必要になるかと思います。
Q3.生徒の自己調整力とは、どのような場面で発揮される、どんな力でしょうか。
A3.藤岡先生 「自己調整力」は文部科学省が使っている用語で、「主体的に学習に取り組む態度」というところに出てきます。自分自身の学びを振り返って、例えば、スケジュール面で調整したり、「自分はこの部分が足りないので、もっと頑張ろう」ということを自発的に行ったり、という姿勢を指します。かなり抽象的な言葉ですが、いろいろな教科・科目で使えるものだと思います。
場面もいろいろあると思います。例えば私は数学も教えていますが、数学のテストの後に、自分はどこが理解が弱かったかと気付いたら、そこをこのように復習していこう、という時にも使えますね。プログラミングでも同じように使えると思います。
京都大学数理・データサイエンス・AI教育強化公開FD講演より