情報教育実践報告「情報Ⅰ」への連続性を意識した小中学校でのプログラミング教育の取り組み
白百合学園中学高等学校

■１

森棟隆一

科目：総合的な学習の時間（小学校 3 年生〜中学校１年生）
内容：プログラミング的思考を促す活動
時間：小学校３年生４時間，４年生３時間，５年生４時間，６年生４時間，中学校１年生２時間

先生

はじめに

年度は 4 年生，5 年生とも Scratch でのプログラミン

2020，2021 年度より実施される小・中学校の新グが初めてあったため，当初計画していた，算数のしい学習指導要領および 2022 年度より実施される高授業にプログラミングを生かす所までは実施ができな等学校の新しい学習指導要領では，小・中・高等学校かった。

を通じてプログラミング教育の充実が示されている。
▼表１

小学校学習指導要領の総則では「プログラミングを体

白百合学園小学校での情報教育

験しながら，コンピュータに意図した処理を行わせる

学 時

授業内容

ために必要な論理的思考力を身につけるための学習活

年 間（2017 年度まで）

小動」が明示されていたり，中学校学習指導要領（技術・８３

家庭科）では「計測・制御のプログラミング」に加え，８ メディアリテラシー

４のプログラミング」について学ぶことになっておりプ（インターネットの情報をどう読み解くか）小ログラミングに関する内容が倍増されていたり，高等６

５

学校学習指導要領では「情報Ⅰ」が新設され，すべて

そこで本稿では，中学校および本校併設小学校でプログラミング，情報モラル

４ メディアリテラシー

６

なっている。

PowerPoint の使い方とクイズ問題の作成
写真のスライドショー作り

小の生徒がプログラミングについて学んだりすることにメディアリテラシー（情報の見え方）
ペイント，タイピング，ハザードマップ作り

小「ネットワークを利用した双方向性のあるコンテンツ

ペイント，タイピング，Word でポスター作り（SNS 等コミュニケーションツールについて）▼表２

2018 年度に取り組んだ総合的な学習の時間内でのプ

これまでのプログラミング教育の取り組み

年度
学年

ログラミング教育の実践について紹介する。また，小・中・高と発達段階に応じた連続性のあるプログラミン

授業時間と内容

2016

３時間

小5

Scratch を使ったゲーム作り（外部講師）

が何を理解し，またどのようなことが課題になるかを

2017

２時間

これまでの実践から述べたい。

小5

Viscuit を使ったお掃除ロボット作り

グ教育を実践するために，どの発達段階で児童・生徒

2018

■２

小3

併設小学校でのプログラミン
グ教育の位置付け〜
小6

本校併設小学校では，2017 年までは総合的な学習

小 3：４時間

Viscuit を使ったプログラミング

小 4：３時間

Scratch の基礎

小 5：４時間

Scratch を利用したゲーム作り

小 6：３時間ベジェ曲線を利用した図形描画

1 時間 Viscuit を利用したエレベータの仕組みの時間を利用して，表１のような内容で情報教育に取り組んでいた。プログラミング教育については新学習■３

指導要領の移行期間以前から，表２にあるように小学併設小学校での実践内容■小学校 3 年生での実践

校 5 年生で実施していた。ただ，情報教育のカリキュ小学校 3 年生の第 1 回目の授業で，ログイン方法

ラムの中では単発の取り組みとして位置づいていた。

やパスワードの取り扱いについて説明した後，第 2

そこで 2018 年度からはコンピュータを利用した授業

回目の授業から Viscuit に取り組んだ。総合的な学習を行う小学校３年生からすべての学年で段階的に，まの時間で情報教育に充てられる時間数には限りがあるた教科の学びと関連づくように，表２に示したようなため，従来取り扱っていたペイントソフトの使い方をプログラミングの指導計画を立案し実施した。20181

1

置き換えることで時間を確保した。そのため，プログ① Scratch を利用して，構造化プログラミングの基ラミングの授業 1 回目はマウス操作（クリック，ドラッ

礎（順次処理，条件分岐，繰り返し）を学ぶこと

グ＆ドロップ）やマウスを使ってお絵描きができるこ②ランダムの概念を理解することとが目標となった。以降の授業では，自らの描いた絵③変数の理解や繰り返しの概念と組み合わせて１つを Viscuit 上で動かした。4 時間の取り組みで，クリッずつ増やしたり減らしたりすることができるのをクイベントで「タマゴ→ヒヨコ→ニワトリ→ニワトリ理解すること＋タマゴ（ニワトリがタマゴを産むというイメージ）」④パラメータを変更するとゲームの難易度が変わるが繰り返されるプログラムを作成した（図 1）。このことを理解すること（Viscuit の時と同様）

課題でのねらいは以下の 3 点である。
①自然言語をプログラミング言語に記号化できること，およびプログラミング言語を自然言語として読み解けること②パラメータを少しいじる（Viscuit ではメガネ内にある描いたイラストの位置をずらすことで実現）
だけで，ゲームの難易度が変わることを理解する
こと③製品化されているゲームもプログラミングされていることへの理解や生活への関連を理解すること▲図 2

ななめに動くねこをよけてバナナを取るゲーム

小学校 4，5 年生での実施にあたっての困難は，x，y といったアルファベットは理解しているものの，x座標，y 座標やマイナスの概念などを算数で学んでいないため，体験的に理解させることを心がけた。
■小学校６年生での実践①タマゴ②タマゴが③ヒヨコを④ニワトリ

小学校６年生では，２つのプログラミング教育の題をク割れてヒクリック

をクリッリックヨコがうするとニクすると材を取り上げた。１つ目は 2017 年度に Viscuit を利する

まれる

ワトリにタマゴをなる

うむ

▲図１

用したお掃除ロボットのプログラミング（図３）に取り組んだ経験を生かし，エレベーターの動作を再現するプログラミングに取り組ませた（図 4）。1 時間の初期状態（上左）とゲームが進んだ状態（上右）取り組みだったため，実際のエレベーターの挙動と一■小学校 4，5 年生での実践部異なる部分があったが，日常生活の現象をいくつか

小学校 4，5 年生では，Scratch を利用したゲームのステップに分けてそれらをプログラミングしようと制作を通して Scratch の基礎について学んだ（図 2）。

する姿勢が伺えた。2 つ目のプログラミング教育の題

このゲームでは，カーソルキーを利用してサルのオブ材では，特定のプログラミング言語を取り扱わず，プジェクトを操作し，画面上をななめに動くネコにぶつ

レゼンテーションソフトの図形描画機能を利用して，からないようにバナナを取る。バナナを取るとポイン

手描きのイラストをトレースしてディジタルデータにトが加算されていくゲームである。一度バナナを取する課題を実施した。図 5 は作品例である。現行小ると，次のバナナは画面上にランダムに表示される。

学校学習指導要領解説によれば，5，6 年生の図画工またネコにぶつかった時にはライフが 1 つずつ減り，作の目標には，「材料などの特徴をとらえ，想像力をライフが 0 になるとゲームオーバーになる。この課働かせて発想し，主題の表し方を構想するとともに，題でのねらいは以下の 4 点である。

様々な表し方を工夫し，造形的な能力を高めるようにする。
」とあり，5 年生社会の取り扱いの内容 (3) ア．

2

2

には「様々な工業製品が国民生活を支えていること。」とある。これらを踏まえ，総合的な学習の時間と図画工作，社会との合科的な授業としてプログラミング教育を位置付けた。小学校 6 年生でのねらいは以下の 2点である。
①日常生活との関連を意識し，プログラミング教育に取り組めること②エレベーターの仕組みやイラストのディジタル化▲図 6関数を利用する課題など，一見難しそうなことも単純な命令の組み合わせで実現されていることを理解すること，またそれらを体験し，実感すること▲図 7

図 6 の課題をプリントに印刷

プログラミングの初学者（特に中学校１年生）に▲図 3

とってプログラミングが難しいと思う点の 1 つ目はViscuit で作ったお掃除ロボット（2017 年度）

空間認知の困難さである。オブジェクトの位置や動作を絶対的な位置で捉えているのか相対的な位置で捉えているのか学習者自身がわかっておらず，上記の課題で，画面やプリントを 90 度回転させて初めて，同じものの出現に気づくケースが少なからずあった。2 つ目はどの部分が繰り返しの動作を行なっているかまとめることである。上記課題では，１つの辺をクリアするところまでを一連の動作と考えるか，２つの辺をク▲図 4Viscuit で作ったエレベーターリアするところまでを一連の動作と考えるかは，生徒によっても異なったり，また課題によってもどちらが適切かは判断できなかったりする点である。
中学校でのプログラミング教育ではプログラミングの体験だけではなく，以下のような課題に取り組み，▲図 5

一見難しそうなことも単純なルールの組み合わせで実手描きのイラスト（左）をディジタル化（右）現できることを理解させ，なぜ今，学校教育の場でプ■４

中学校での実践内容

ログラミング教育が実施されようとしているのか，実中高での実践では，2017 年に中学校 1 年生と高校施される必然性や重要性について考えさせている。

1 年生に，2018 年度は中学校 1 年生と中学校 3 年生に対して，プログラミング的思考・論理的思考力の向（アンプラグドでの課題 1）

上を目指し Swift Playgrounds でのプログラミングを

図 8 のような 4 × 4 のマス目の 2 箇所に×をつける。

体験した。2017 年度実施の際には，中学校 1 年生も残りの 14 マスに次のようなルールで線を引く。

高校 1 年生もこれまで学校の授業でプログラミング

ルール１：縦か横の２マスには線を引けるが，斜めにを学んでいないため，特に中学校 1 年生では図 6 のは引けない。

ような課題に対して，関数・繰り返しの概念を理解しルール２：１つのマスには１本の線しか引けない。まて，利用するまでには多くの時間を要した。

た×のついたマスにも線は引けない。このとき全て

3

3

のマスに線が引ける時と引けない時（図 8）がある

ムマネジメントが必要になってくること。のはなぜか？

・小・中学校でのプログラミング教育は限られた時間内での実施であるため，お膳立てされた中でのプログラミングを行うことが多い。またビジュア
ル型言語では与えられたコマンドの組み合わせでなんとなくプログラムが動作してしまう。デバッ▲図 8

ドミノタイル問題

グも多くの場合，足りない要素を足したり，順番を入れ替えたりするだけで済んでしまうことが多い。そのため小・中学校でのプログラミング教育（アンプラグドでの課題 2）

ではデバッグ能力があまり育っていない。その部分をどのようにして育てるか。
・上記とも関連するが，ビジュアル型言語でのなんとなく動いてしまうプログラミングを知ってしまうとテキスト言語へのギャップが大きく感じられる可能性がある。ビジュアル型言語でのプログラ
ミングに達成感を感じている子供たちにテキスト型言語への移行をどのように動機付けをするか。
・一斉指導の中でプログラミング教育に取り組むと，▲図 9

巡回セールスマン問題（一筆書き）

個々がそれぞれのペースで同じ課題に取り組んでいる。しかしながら，世の中の課題解決は個人で■５できるものは多くはない。課題を発見し他者と協まとめと課題働的に解決するようなプログラミングの課題にど2018 年度，「情報Ⅰ」への連続性を意識して小・う取り組ませるか。

中学校でのプログラミング教育の取り組みを行ってきた。小・中学校での成果としては，以下が挙げられる。
・Viscuit，Scratch，Swift Playgrounds などのビジュ

小・中学校でのプログラミング教育実践から明らか

アル型言語を利用したプログラミング体験を楽しになったこれらの課題について「情報Ⅰ」での解決がみながらしたこと。

なされることが期待される。また，校種を超えたカリ・お掃除ロボットやエレベーターの仕組みなどを理

キュラムマネジメントやそれぞれの校種でどのような解し，それらを再現したことで，プログラミング取り組みがなされているか知ることが学習指導要領でが世の中で役立っていることを理解し，身近に感示されたプログラミング教育の充実をはかるために必じることができたこと。

要なのではないかと思われる。

・アンプラグドな課題からプログラミング的思考が世の中の課題解決に役立つことを理解したこと。

■６[1]・プログラミングの重要性がわかり，学校教育の場

小学校学習指導要領解説－総則編－ （2017 年）

でプログラミング教育が行われる必然性について[2]

理解したこと。

文部科学省

小学校学習指導要領解説－総合的な学習の時間編－ （2017 年）

一方で，小・中学校のプログラミング教育では取り[3]扱うことが難しく，「情報Ⅰ」との連続性を持たせる

文部科学省

小学校学習指導要領解説－図工編－ （2008 年）ために考慮すべき課題となることもあった。
[4]・上記取り組みでも書いたが，プログラミング言語

文部科学省

小学校学習指導要領解説－社会編－ （2008 年）を扱う際，座標やマイナスの概念など，教科で学[5]ぶより先に必要となってくる場合がある。何を，朝日新聞出版

AERA

2016 年 10 月 31 日号 pp.17-18

どの教科で，いつ，どのように，どんな順番で扱うのか，時には校種をまたいだ形でのカリキュラ

4

参考・引用

文部科学省

4