情報の科学実践報告

プログラミング教育研究推進校／総合学科高校におけるプログラミング教育の取り組み
神奈川県立相模原総合高等学校

■１

大里有哉

科目：情報の科学（１年次 ２単位）他
内容：プログラミング教育，情報のデジタル化，情報セキュリティ，学校図書館の活用
クラス：6 クラス 各 40 名
時期：前期・夏季休業中

先生

ねらい

▼表１

プログラミング教育の視点を踏まえた授業教科■実践のねらい本校は単位制による全日制の課程・総合学科の高校であり，情報科では１年次に必履修科目として「情報学習活動の例

数学

手順を意識して解を求める。
複数の解法を比較する。

理科

無色透明の水溶液の正体を，複数の条件により場合分けして特定する。の科学」
を全員が学ぶ。本校の情報ビジネス系列には，保健体育 剣道の基本技の打ち込みにおいて，打ち込みの動作を分解して考え，実践する。

多数の情報科・商業科の科目を設置しており，生徒は２年次以降，各々の興味・関心，進路希望に応じて科芸術「色の計画表」を取り入れ，色彩を構成する（美術Ⅰ） という意識をもって計画したり，教師とやり取りしたりする。

目を選択し学習している。また，県教育委員会から県立高校改革指定事業として 2016( 平成 28) 年度より３年間，さらに 2019( 平成 31) 年度より３年間「プログ▼表２

情報科におけるプログラミング教育ラミング教育研究推進校」に指定され，情報科をはじ

時期

授業内容

めすべての教科においてプログラミング教育の視点を

４月

プログラミングの基本的な考え方（VBA の基礎，変数，値の代入，条件分岐などの理解）

５月

情報のデジタル化（プログラミングでモノクロ画像・カラー画像を作成する）

６月

情報セキュリティ（プログラミングで暗号の仕組みを理解する）

踏まえた授業改善をおこなっているところである。文部科学省が 2018( 平成 30) 年に告示した学習指導要領においても，情報教育（プログラミング教育を含む）や情報活用能力の育成が重要視されているところである。
本校ではそれらを踏まえ，「プログラミング教育の夏季
図書館＋情報科コラボレーション夏季講習
休業中 （情報の扱い方，図書館における情報，NDC，情報の調べ方，問いの立て方・解決方法）

視点」を策定し，論理的思考力，協働的問題発見・解決能力の育成を図っている（図１）。
①抽象化する。

以下に，それぞれの具体的な実践内容をあげる。

②物事を分解して理解する。
③やるべきことを順序立てて考える。

■２④ベストな方法かどうかを分析・評価する。

■必要なハードウェア⑤方法をほかに置き換えて一般化する。

・Windows パソコン（本校では Windows10 を使用）（『日経 Kids+ 子どもと一緒に楽しむ ! プログラミング』（日経■必要なソフトウェア

BP 社 , 2017）をもとに本校で策定）

▲図１

準備

・Microsoft Excel（本校では 2016 を使用）

相模原総合高校におけるプログラミング教育の５つの視点→必要な準備は以上の通りであり，ほとんどの学校で特たとえば，情報科以外の教科では，表１のような授別なハードウェアやソフトウェアを準備することなく業を実施した。

実践が可能な内容である。

情報科はプログラミングそのものを学ぶ教科でもあ■その他ることから，情報科で学ぶ内容は各教科でのプログラ

・「図書館＋情報コラボレーション夏季講習」では，ミング教育の視点を踏まえた授業のベースとなると考図書館司書の協力が必要である。事前に学校図書館える。情報科では，プログラミング教育による授業と内の配置図，各種辞典，百科事典などを準備していして表２のようなことに取り組んだ。

ただいた。

11

■３て情報の仕組みを学ぶ授業をおこなった。情報のデジ

実践内容

タル化の中でも，画像のデジタル化の学習において，■プログラミングの基本的な考え方

条件に基づいてセルの色を塗り分けるプログラムを

本校の「情報の科学」の授業では，Microsoft Excel扱った。に標準で搭載されている VBE（Visual Basic Editor）

最初に図３のような実習ファイルを配布し，モノクを活用し，表計算マクロ言語である VBA（Visual Ba-

ロ画像のデジタル化について学習した。

sic for Applications）によるプログラミング学習をおこなっている。単元「問題解決とコンピュータの活用」の導入として，教科書にある例題に沿って，変数や値の代入，数値計算，条件分岐，繰り返しのあるプログラムについて学習した。それに加えて，「自動販売機」を題材としてそれらの基礎の定着を図った。たとえ▲図３

モノクロ画像のデジタル化（実行前）ば，500 円玉の絵をクリックすると投入金額欄（セルG23）に表示されている金額に 500 円加算されるプロプログラムとして以下のようなコードを与え，コーグラムや，飲料の購入ボタンをクリックすると投入金ドの１行１行が何をしているのか考えさせる方式で，額欄（セル G23）に表示されている金額から各飲料のプログラムを実行したり，コードを眺めたりしたりを金額が減算されるプログラムなどである（図２）。

繰り返しながら学習を進めさせた。

Cells(23,7) = Cells(23,7) + 500

Sub suuji()
For i = 1 To 10

Dim drink01 As Integer

For j = 1 To 10

drink01 = Cells(13,3)

If Cells(i, j + 12) = 1 ThenCells(23,7) = Cells(23,7) – drink01

Cells(i, j).Interior.Color =生徒はほとんどコードを書き写すだけの実習になっ

RGB(255, 255, 255)てしまうが，セルの行列指定の方法，値の代入や加算・Else減算などを楽しみながら学習することで，今後のプロCells(i, j).Interior.Color =グラミングへの学習意欲の向上につながっているもの

RGB(0, 0, 0)と考えている。

End IfNext j■情報のデジタル化とプログラミング

Next i

VBA プログラミングの基礎の復習を兼ねて，「情報End Subのデジタル化」の学習場面で，プログラミングを通し▲図２

2

自動販売機によるプログラミング学習

2繰り返しのプログラムにおけるカウンタ変数の理解

Sub sagi()
Dim i As Integer

は生徒にとってとても難しいが，値が 0 か 1 かによっ

For i = 1 To 10てセルの色を塗り分けていることに，２進法の学習をMsgBox i & " 万円振り込まないとこのメッ踏まえて気づいているようだった。

セージは消えません "Next iEnd Sub

この実習に続く形で，条件分岐によるカラー画像のデジタル化のプログラミング実習もおこなった。

暗号化についても，このような簡単なプログラムを与えることで考えさせた。古典的な暗号アルゴリズムとして知られる「シーザー暗号」のプログラムとその▲図４

実行環境を生徒に与えることで，「シーザー暗号」のモノクロ画像のデジタル化（実行後）仕組みを発見させる授業をおこなった（図８）。暗号■情報セキュリティとプログラミングの仕組みを教師が解説するのではなく，プログラムを「情報セキュリティ」においてもプログラミングに生徒に先に提示し，コードの１行１行の意味を解読し，よる体験を通して授業をおこなった。まず，導入で図全体としてどのような処理をおこなっているのかを考５のような実習ファイルを配布した。

えるという流れである。
授業の流れ①コードの１行１行の意味を解読する。（個人）②プログラム全体としてどのような処理をおこなっているのかを考える。（グループ）③考えたことを共有する。（全体）④実行環境で検証（確認）する。（全体）▲図５

情報セキュリティへの導入

すると，図６，続いて図７のような画面が表示される。

Sub シーザー暗号の暗号化 ()( 一部 )Dim key As Integer
key = Cells(5, 1)
Cells(3, 1) = Asc(Cells(2, 1))
Cells(8, 1) = Cells(3, 1) + key
If Cells(8, 1) > 90 ThenCells(8, 1) = Cells(8, 1) - 26
End IfCells(9, 1) = Chr(Cells(8, 1))▲図６・・・・・
End Sub

このような実習ファイルを生徒に開かせると，教師の指示がなくても勝手にボタンをクリックし始める。

▲図７

生徒に配布した実習ファイルには，あらかじめ簡単なプログラムを仕掛けている。ワンクリック詐欺やランサムウェアにみられるようなクリックしてもポップアップ画面が消えない仕組みを自ら体験させることで，情報セキュリティへの関心を惹きつけている。身近にある脅威もこのような簡単なプログラムからできていることを知り，驚く生徒も少なくない。カウン
タ変数による繰り返しによる簡単なプログラムなので，コードを読み取り，繰り返しの回数を変えて試してみる生徒もいた。
（その後の対応は言うまでもないが・・・。
）

▲図８

3

シーザー暗号の実行環境

3難しい課題ではあったが，プログラミングを用いて中で必要なツール（情報源）として，一般図書，参考体験的に学習すること，スモールステップで考えるこ

図書（辞典・事典・図鑑など），インターネットなどとで生徒の理解が進んだと思われる。

を紹介した後に，実際にそれぞれのツールを使って調べることを体験し，最後の実習では自ら問いを立て，すべての情報源を活用して検証するという活動を取り■図書館＋情報科コラボレーション夏季講習「情報の科学」の授業実践ではないが，夏季講習に入れた。短い時間ではあったが，複数の情報源から課おいて図書館とコラボレーションすることで情報科の題について調べ，根拠とともにまとめるということを授業をおこなった。３時間 × ２日間，７名だけの受体験することができた非常に濃い夏季講習であったと

講生徒という小規模な授業であったが紹介したい。

考えている。

きっかけは本校の河村知佳図書館司書が「（本校では）課題研究をやっているのに，本の探し方がわから■４ない」「本の表紙がおもしろくなさそうだから手にとる（ページをめくる）のをやめてしまう」と嘆いてい

結果と反応■成果と学習者の反応たことからだ。どの教科においても，情報を見つけ出（情報のデジタル化とプログラミング）す力，調べる力，まとめる力などは必要なスキルであ・生徒は，プログラムのコードを見ることでどのようり，次期学習指導要領においても「情報活用能力」「総な処理がおこなわれるのかを考えるようになった。

合的な探究の時間」に見られるように，これまで以上・カラー画像のデジタル化のプログラミングでは，教に重視されていることである。

師が示した色だけでなく自らカラーコードを書き換

そこで，図書館司書と連携し，課題研究をはじめ，えてオリジナルの絵を創作する生徒が多数いた。プ

授業での調べ学習をより充実させるために夏季講習をログラミングそのものだけでなく，プログラミングおこなった。２日間の学習内容は以下の通りである。

を通して情報のデジタル化の仕組みに興味を持たせることができた。

図書館とのコラボレーション夏季講習で扱った内容（情報セキュリティとプログラミング）

・情報とは・プログラムを実行するだけでなく，プログラムを書・情報メディアの種類

き換えて実行してみようとする生徒が増えた。

・参考図書の種類

・プログラミングを通して，情報社会や情報セキュリ

・図書館における情報の分類・排列（NDC）

ティの仕組みについて考えさせることができた。

・参考文献の書き方（図書館＋情報科コラボレーション夏季講習）

・問いの立て方（5W1H）・百科事典を使って，調べようとしている事柄の予備知識を得てから問題を設定する癖がついた。
・目次や奥付を見て図書を選ぶようになった。
・情報＝コンピュータ／インターネットとして捉えるのではなく，直接人に聞いたり，図書館で信頼性のある情報源にあたったりすることの必要性を感じさせることができた。
・参考文献を意識して調べ学習をおこなうとともに，参考文献の明示の習慣がついた。

▲図９

図書館での夏季講習のようす■５

この夏季講習では，プログラミング（コーディング）

4

まとめそのものを扱うことはなかったが，問題（課題）の設

情報のデジタル化とプログラミング，情報セキュリ

定→調査（ツールの活用）→問題（課題）の解決といティとプログラミングでは，コードを読み取ったり，う一連の流れを意識するという点で，プログラミング実際にプログラムの実行を体験したりすることで情報的に手順を追って物事を考えていった。一連の流れのの仕組みの理解を促すことができた一方，生徒自身4

でコーディングするという活動を設けることができなかった。外国語の授業と同じように，プログラミングにおいても文（文章）を読めなければ，書くことができないと考える。今回はプログラムを読み取り実行するだけになってしまったが，プログラムを読み取ることができるようになった後に，プログラムを作ることを意識して，生徒が創造的にプログラミングできるよ
うな授業を目指していかなければならない。
図書館＋情報科コラボレーション夏季講習については，図書館司書・私自身とも初めての取り組みであったが，この講習で扱った内容は今改めて必要とされているスキルであることを痛感させられた。生徒のスマートフォン所持率，学校における情報通信端末の普及を考えれば，デジタル（インターネット）だけで調べ学習が完結してしまうことは少なくない。そのような時代だからこそ，今改めて「情報」という言葉に立ち返り，情報とは何か，それぞれの情報源の特性や信頼性などについて知った上で，探究学習を進める必要があると考える。情報科や他教科の授業の中で取り入れていかなければならないだろう。
プログラミング教育というと，「プログラミング」という言葉が一人歩きしてしまい，プログラム言語によるコーディングの授業や情報科以外の教科は関係ないと思われがちだが，決してそうではない。人間がより効果的に効率的に学ぶために，またより良い問題解決をおこなうために，プログラミングの考え方を活用すべきであると考える。

■６

参考文献等

・文部科学省『高等学校学習指導要領（平成 30 年告示）』https://www.mext.go.jp/content/1384661_6_1_3.
pdf，平成 30 年 3 月，
（2020/03/31 閲覧）・『日経 Kids+ 子どもと一緒に楽しむ ! プログラミング』日経 BP 社，2017
・桑田てるみ『中学生・高校生のための探究学習スキ
ルワーク―6 プロセスで学ぶ』全国学校図書館協議会，2012
・桑田てるみ『思考を深める探究学習―アクティブ・ラーニングの視点で活用する学校図書館』全国学校図書館協議会，2016
・もり・きよし原編『日本十進分類法 新訂 10 版簡易版』
日本図書館協会，201855