中学校技術・家庭科［技術分野］ 教授用資料

考えてみようネットワークを利⽤した双方向性のあるコンテンツのプログラミング「ネットワークを利⽤した双方向性のあるコンテンツのプログラミング」の捉え方

Ando

Akinobu

安藤 明伸

宮城教育大学教授

新学習指導要領で，新たに追加された「生活や社会におけるは規定されていません。技術の原理や法則，基礎的な技術の仕問題を，ネットワークを利用した双方向性のあるコンテンツのプ組みとして指導した内容と，実際に生徒が問題解決の取組みのログラミングによって解決する活動」について，学習指導要領解

中で行う活動とで扱う情報技術について，相違点などを理解さ説を元にその捉え方について説明します。

せた上で，生徒の実態やコンピュータ室の環境を考慮して，生(2) 生活や社会における問題を，ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動を通して，次の事項を身徒達にとって学びやすいものを取り上げると良いでしょう。
同様に，使用するプログラミング言語は，小学校での関連すに付けることができるよう指導する。

る学習経験などの生徒の実態を踏まえるとともに，課題の解決

ア 情報通信ネットワークの構成と，情報を利用するための基本的な仕に必要な機能，プログラムの制作やデバッグのしやすさ，(3)で組みを理解し，安全・適切なプログラムの制作，動作の確認及びデバッ

使用する言語との関連などに配慮して選択することが書かれてグ等ができること。

います。テキスト型言語の方がより高度な処理を書くことがでイ 問題を見いだして課題を設定し，使用するメディアを複合する方法ときますが，「書く，つくる」ことが目的とならないよう注意が必要

その効果的な利用方法等を構想して情報処理の手順を具体化するととです。学習指導要領解説には，この学習では，プログラムの命もに，制作の過程や結果の評価，改善及び修正について考えること。

令の意味を覚えさせるよりも，課題の解決のために処理の手順

ここでいうコンテンツとは，デジタル化された文字，音声，静(アルゴリズム)を考えさせることに重点を置くなど，情報の技術止画，動画などを，人間にとって意味のある情報として表現したによって課題を解決する力の育成を意識した実習となるよう配内容を意味しています。プログラムの中で，単にメディアを用い慮するよう言及されています。

れば良いのではなく，情報の技術の見方・考え方（社会からの双方向性のあるプログラムは，情報を入力し送信する処理が要求，使用時の安全性，システム，経済性，情報の倫理やセキュ必須となります。そのためには通信上の処理の取り決めが欠かリティ等）に着目して，最適なものとなるよう用いることが大切せません。こうした発想から，通信プロトコルの必要性へと関連です。必要以上にデザインに凝ることが無いように配慮しつつ，させて指導することが可能です。

見やすさ，わかりやすさを考慮して，大きさや色，配置，音色等局所的な処理に集中しすぎると，全体的な処理の流れが捉えについて考えさせて下さい。その際は，手書きでも構わないのられなくなる可能性があります。そこで，課題の解決策を構想で，画面がどのように遷移するか，何をどの辺に表示するかなどする際には，自分の考えを整理し，よりよい発想を生み出せるワークシート等に設計させると良いでしょう。

よう，アクティビティ図のような統一モデリング言語等を適切にまた，ネットワークを利用した双方向性とは，使用者の働きか用いることについて指導する必要が出てきます。アクティビティ

け（入力）によって，応答（出力）する機能であり，その一部の処図も，必要以上に細かな書き方指導ではなく，思考を整理する

理の過程にコンピュータ間の情報通信が含まれることを意味し手段として活用し，生徒達の考え方を評価してあげるようにしています。利用するネットワークは，インターネットに限らず，例て欲しいと思います。アクティビティ図としては，まずは大まかえば，校内 LAN，あるいは特定の場所だけで通信できるネットにどのような機能・処理が行われるかを書かせ，それを見ながワーク環境も考えられます。学習指導要領としては，この記述にら，実際のプログラミング言語でどのように記述するか分解し留まっており，何か特定の通信技術や通信形態，プロトコル等て思考させると良いでしょう。

移⾏期間における「ネットワークを利⽤した双方向性のあるコンテンツ」での試⾏

仙台市⽴広瀬中学校 教諭 鈴⽊ 康洋

新学習指導要領で新たに指導することとなるネットワー

術における（１）の項目として，原理・法則及び基礎的な技クを利用した双方向性のあるコンテンツのプログラミング術の仕組み等について指導し，情報の技術の見方・考えによる問題の解決（以下「双方向のプログラミング」）は，方に気付かせることができるよう指導しています。また，従来のデジタル作品の設計・制作よりも多くの指導事項

最後の「提言をまとめる」活動は，本来はＤの(4)の内容が含まれるため，全面実施に向けて移行期間でどのようですが，今回は１年生で学習させていることから，題材のな準備を進めておくかが鍵となります。それと同時に，授まとめとして位置づけております。
表 1 題材指導計画（一部）

業時数が変わらない中で指導事項が増えていることか・抽象化された手順をアクティビティ図で示し，手順を分解しその組みら，題材及びその指導計画の大幅な見直しが欠かせませ合わせ方を理解する。

ん。そして，入学してくる生徒は小学校でどのようなプロ・「アーテックロボ 2.0」で信号機のプログラムを制作し，順次・反復・条グラミング言語でどのような体験をして，どこまでの知識件分岐を理解する。

があるのかという小学校との接続，双方向のプログラミン
題の解決の前過程として位置づけられた生活や社会を支える技術の指導，アクティビティ図等の活用など，移行期間で準備・検討することはたくさんあります。そこで今回私は，学習指導要領解説にも例示され，かつ新学習指導要領で目指す学習活動がイメージしやすい入門的な題材として，ブロックプログラミングによる簡易的なチャットを制作することで問題解決していくプログラミングを第 1 学年で試行してみました。本稿では，それを踏まえて移行期間の取組みを提案したいと思います。

題材の設定→題材指導の流れ

グと計測・制御のプログラミングとの関連，技術による問・「アーテックロボ2.0」のWi-Fi機能を利用したプログラムを制作し，情報を送受信する時のルール・取り決めの必要性について理解する。
・前時で制作したメッセージ送受信プログラムの問題を保護者の立場として見いだす。既存のメッセージ共有アプリケーションを分析し，Scratchで実現できる課題を設定する。
・設定した課題を解決するために，アクティビティ図で思考を整理しながら，制作とデバッグする。
・自分たちの制作したプログラムについて，目的や設定した条件等を確認し，よりよいプログラムを制作するためにどうしたらよいか，ペアでの話し合い活動をする。
・制作したプログラムを基に情報技術と社会とのかかわりについて考え，ワークシートに提言をまとめる。

プログラムの作成
チャットの場合は，端末間でどのように情報が送受信さまず，今の移行期間の段階で第 1 学年を対象にしたのれるのか，それがどのような通信技術なのか，通信するは，今年の第 1 学年の生徒たちは小学校でプログラミン

規則・ルールをどう決めるかが大切なので，それらのこと

グは殆ど未経験であることから，ほぼプログラミングをゼをアクティビティ図の書き方も指導しながら確認するため

ロから指導するには，どのような工夫が必要になるのかの時間を取ります。プログラミング的思考も意識させるた

検討したいと思ったからです。そして，使用するプログラ

め，意図する一連の活動は何なのか，それを実現するた

ミ ング 開発環境は ，ア ーテッ ク ロ ボ 2.0 を 用い てめにどのような処理が必要か大まかに捉えて一度アクテ

Studuino:bit を 使 用 し ま し た 。 こ の 意 図 は ， ①

ィビティ図を書かせます（図１）。

Scratch3.0 ベースでプログラミングできることで，中学校の他の教科でのプログラミングの実施にも展開しやすいのではないかということ，②今後，学区内の小学校でScratch を扱うことが見込まれることから，少しでも多くの児童が操作方法などを既に習得して入学してくるのではないかということ，③計測・制御のプログラミングにおいても，同じ開発環境で指導できるため，プログラミング言語の言語仕様の教え直しが不要になることを期待しています。表 1 は今回提案する指導計画の一部です。もちろんこの表に示した指導計画を実施する前に，情報の技

図 1 ワークシートでアクティビティ図を書いてプログラムを設計する

次の時間は，アクティビティ図からプログラミング言語うな経験を有していませんでした。そこで今回の授業での処理に落とし込む考え方を覚えるために，信号機を題は，３段階のヒントカードを用意しました。実際の授業で材にして，画面内で画像をスプライト（キャラクタ－）としは，ある程度の量を印刷し教室内に置いておき，必要なとてどう扱うか，音をどのように扱えるかというメディアのきに取りに来させました。表２は，その時の指導過程で利用方法に触れつつ，今後の計測・制御の原体験としてす。最初のヒントは，Scratch3.0 および Studuino:bit

アーテックロボ 2.0 の LED を光らせるといった発展的内自体の言語仕様に関するヒントです。これは，生徒が考え容や，（１）の原理・法則的な知識との関連で RGB の値をると予想される解決策で用いられるアルゴリズムごとに変更して LED の色を変えたりすることも含めるようにし用意しました。例えば，発言履歴を見られるようにしたい，ます（ここで注意することは，あくまでも双方向のプログ不適切な発言をフィルタリングする，スタンプ機能，着信ラミングとして指導するという点です）。これを 1 単位時間を知らせる画面変化と着信音などから，保護者の立場とで扱うには指導内容が多く，実質的には操作方法を教師して，使用時間を制限できる機能の必要性など，様々でが指導するという形になってしまうため，可能であれば２す。実際に生徒が取り組む中で，大いに悩んでほしいと単位時間くらい取れると生徒自身の考えを反映させるよ思っています。しかし，その悩みがアルゴリズム的な思考

うなプログラミングもできると思います。この段階では通であれば良いのですが，これはどのように設定するの信機能を有しないプログラムの作成にしておきます。そしか，配列（リスト）はどのように使うのかといったことは，プて，その次の時間に，信号機の LED の切り替えのタイミ

ログラミングを行ううえでの基礎的な知識・技能であるたングとパソコンでの画像や音の変化を，通信機能を使っめ，ここは悩ませるのではなくて，ヒントから気づきを得らてプログラミングします。通信機能を単に用いるのではなれるように考えて用意しました。第２ヒントは，アクティビ

く，単体でできないことが複数台をネットワークでつなげティ図で処理の基本的な流れだけを示しました。本来でることで可能になり，情報システムが構築され，互いが連あれば，このあたりからはプログラミングの醍醐味である携して処理をすることの意義やインパクトについて触れるので，こうしたヒントは出来るだけ避けるべきかもしれまようにします。

せん。しかし，今回の生徒を考えた場合，プログラミングこうした基礎的なプログラミングの知識及び技能を体経験が少ないことで，課題を解決する手順が出てこず制験的に習得させた上で，チャットをモデルとしたプログラ作に取り組めなくなるのではないか懸念したことと，このムによる問題解決に取り組んでいきます（図２）。問題解

第２ヒントで大まかにでも必要となる処理がイメージでき決の取組みは，何か立派なものを「つくる」ことを目的とれば，具体的な命令レベルに分解することを楽しめると思するのではなく，やはり生徒自身が気づいた問題に対しったからです。そして最終ヒントは，サンプルプログラムて，どのように課題を設定できるのか，その課題に対しての提示です。ただし，あくまでも最小限の機能を実現するどのようなアルゴリズムを考えられるかが大切だと捉えだけのプログラムに留め，生徒たちにはプログラムを読ています。

解する力を要求するようなヒントにしています。実際のプ

そのため生徒自身に思考させるためには，プログラミ

ログラミングにおいても，インターネット上からサンプルコングや言語仕様に関する知識も必要となりますが，今回ードを見つけ，それを自分の目的に合うように改良するこ対象とした中１の段階ではこれらのことを十分理解するよとは少なくありません。他者が書いたプログラムを読み取り，どこをどのように変えることで自分のプログラムに適用できるのか考えることは，決して答えを見るような行為ではないことも伝える方が良いでしょう。今回の試行での反省点としては，生徒たちにヒントを見ることは自分で考えることを諦めることではないということを十分に伝えられず，ヒントを見たら負けなのだというような意識が残ってしまい，考えさせすぎてしまったことです。このことは喜ばしいことである反面，それだけを熟考できるほどの時間的余裕もないのが大変悩ましいところでした。最終的

図 2 送信側と受信側の処理の流れを比較して説明している様子には，多くの生徒たちがヒントを参考にしながらも，そこから着想を得て自分たちのプログラムを制作し，アイディける双方向のプログラミングの指導は，確かにこれまでアを実現していくことの面白さ楽しさに気づいているようの指導とは異なる難しさを感じます。より指導しやすい教でした。

材も今後出てくるでしょう。しかし，あまりにも目的に特化

今後の展望しすぎた教材や特定の目的のためのプログラミング言語

今回は，１年生での実践をもとにして提案いたしましたで行う問題解決では，一般化したり，他の目的の解決にが，ほぼ初めてプログラミングを行う生徒たちを対象にし対して流用したりしにくいのではないかと思います。中学ても，この流れで色々な課題が設定され，制作したアルゴ校においても，技術分野だけでなく他の教科でもプログリズムも様々でした。これが，２年生や３年生であればもラミングを推進して行くことや，技術分野内でも計測・制っ と複雑な課題を設定でき る こと で しょ う 。実際に御のプログラミングによる問題の解決や他の内容においScratch で作られたチャットが社会で活用されているわてもプログラミングを活用していけるよう，汎用性の高いけではありませんが，色々な通信方法や送る・受け取るとプログラミング言語を扱えると良いと感じます。そのためいうデータのやり取りを決める重要性，設定した課題をにも教師自身がプログラミング能力を高めることと，これ生徒なりのアイディアで多様に解決していこうとする姿をまで指導することがあまりなかった，配列やイベントなどみて，新学習指導要領で求められている資質・能力の重の教え方など，教師自身が移行期間中に勉強しておくこと要性を認識することもできました。新学習指導要領におが望ましいといえます。

表 2 指導過程の一例
段階
導入

主な学習活動予想される生徒の反応

指導上の留意点

１ 前時の学習内容の確認と，本時の ・前時の学習内容を振り返り，本時の学習課

10 分

学習課題を把握する。

題を確認する。

学習課題：送受信するプログラムの問題を解決する方法を考えよう。
展開

２ アーテックロボを接続し，メッセージ ・前時で制作したメッセージ送受信プログラムを ・Studuino:bit の「ネットワークグループの30 分

送受信プログラムを開く。

開き，ペアを組み，ネットワークグループを構指定」で，1〜17 のグループを作らせ築する。

る。

手立てⅠ：アクティビティ図による思考の整理
３ ペアで課題を共有し，課題解決に ・課題を確認し，課題解決への手順を整理 ・アクティビティ図の書き方の指導ではな
向けて，アクティビティ図を書く。

する。

く，あくまで処理手順の整理をさせることに留意する。

〈予想されるメッセージ送受信プログラムの課題〉・既読機能（相手がメッセージを見たことを確認する）
・スタンプ機能（感情を相手に伝える）
・パスコード機能（不正ログインを防ぐ）
・着信機能（メッセージが来たことに気が付く）
・タイマー機能（使用の制限をする）
・NG ワード機能（不適切発言を防ぐ）
４ 処理の概要を示したアクティビティ図 ・論理的推論による試行錯誤をしながら，プから，プログラムの具体的な命令のログラミングを行い，結果を確認しながらデ組み合わせを考える。

バッグする。

手立てⅡ：レベルに応じたヒントカードの活用
５ デバッグの中で，ヒントカードを活用 ・ペアのレベルに応じて，ヒントカードを活用す ・ヒントカードを有効に活用するよう机間指する。

る。

導をする。

まとめ

６ 設定した課題と，課題解決のため・解決することができた機能の処理の手順を・プログラムとして効果的・効率的に変数10分制作したプログラムを発表する。

説明し，うまくいかなかった処理があれば，やリスト（配列），メッセージが使用さ困っている点についても説明する。

れているプログラムについて補足する。

開隆堂出版株式会社
本社 〒113-8608 東京都文京区向丘1-13-1 ☎03(5684)6111

北海道支社 〒060-0061
東 北 支 社 〒983-0852
名古屋支社 〒464-0802
大 阪 支 社 〒550-0013
九 州 支 社 〒810-0075

札幌市中央区南一条西6 丁目11 番地 札幌北辰ビル 8 階
仙台市宮城野区榴岡4-3-10 仙台TB ビル 4 階
名古屋市千種区星が丘元町14-4 星ヶ丘プラザビル 6 階
大阪市西区新町2-10-16
福岡市中央区港2-1-5 FYC ビル 3 階☎011(231)0403☎022(742)1213☎052（789）1741☎06(6531)5782☎092(733)0174

BJ