情報科プラス(情報)
情報科プラス(情報)

CONTENTS
INTERVIEW
石山 洸 氏(株式会社エクサウィザーズ代表取締役社長)
〜介護の領域で芽生えた人工知能無限の可能性〜
【仕事のしくみ・社会のしくみ】
土方嘉徳 先生(関西学院大学商学部 准教授)
〜人工知能×ICTが実現する社会〜
【授業のネタ帖】
ディープラーニング,機械学習,ニューラルネットワーク
難解な用語をわかりやすく解説
人工知能研究の基本
解説・監修:松本健太郎 氏
(株式会社ロックオン コーポレート戦略本部経営企画部 兼 マーケティングメトリックス研究所 所長)
【情報の流儀】
山本博之 教諭(東京都立神代高等学校)
Web限定コンテンツ
情報の流儀+interview >>>Webページ下部へジャンプ
Web限定コンテンツ
東京都立神代高等学校で「情報の科学」を受け持つ山本博之先生。情報の授業では,コンピュータやネットワークのしくみから,問題解決,データベースまで幅広いテーマを扱います。そのなかでも山本先生がとくに力を入れるのが,プログラミングです。なぜプログラミングを重視するのか,また,難易度の高いプログラミング学習で生徒間の理解度の差を埋める秘訣はどこにあるのか,詳細を伺いました。
- Q
- 先生の授業では,1年でどれくらいの時間をプログラミングに当てているのでしょうか? また,どんな言語を授業で使っているのですか?
- A
- プログラミングに関連する授業は1年のうち半分くらいになるかと思います。言語はJavaScript,VBA,Scratch(スクラッチ),ドリトル,Processing(プロセッシング)……,今後,授業で扱うことを検討中のものを含めると全部で5種類になります。現在の社会では,パソコンやスマートフォンはもちろんのこと,信号やクルマ,自動ドアや銀行のATMなど,身近なところで挙げてもきりがないくらい,いろいろな分野でプログラムが使われています。多くの言語を肌で感じてもらうことで,プログラミングの必要性や利用場面,考え方に気づいてほしいという思いがあります。
- Q
- プログラミングの学習は大人でも大変です。最初はなかなかうまくいかない生徒も多いのではないでしょうか? しかも複数の言語を扱うのですから大変ですよね。
- A
- でも,それがいいと思うのです。プログラミングは成功と失敗が目に見えてわかります。正しいコードを書けば正しい結果が表示されますし,間違っていたらエラーになったり,おかしな結果が表示されたりする。エラーになった場合は,エラーになった原因を考え,プログラムを修正し,また実行する。この繰り返しで少しずつ正解へと近づいていくのです。まさにPDCAサイクルに最適な教材といえるでしょう。
- Q
- 授業では,各言語をどのように使い分けているのでしょうか?
- A
- 最初に学ぶのはVBAもしくはJavaScriptのどちらかにしています。どちらにするかは年によって異なるのですが,今年はJavaScriptです。この2つの言語なら,エクセルかブラウザーがあればはじめられ,プログラムの実行結果もすぐに確認できます。また,実際にコードを打つ必要もあるため,キーボードでの入力に慣れてもらうという効果もあります。
そのため,1学期はこれらの言語で,条件分岐,繰り返し,配列など,プログラミングの基本となる考え方を,実践を踏まえながら学ばせます。
- Q
- その次に扱うのが,ビジュアルプログラミング言語のScratchなのですね。Scratchは小学生でもプログラミングが学べる教材として話題です。JavaScriptのあとにこちらを学ぶという流れが,新鮮に感じました。
- A
- JavaScriptやVBAを学びはじめた段階では,扱えるデータはどうしても文字ばかりになってしまいます。しかし,プログラミングは普段遊んでいるゲームのように,絵を動かしたり,音を鳴らしたりすることもできる……それを簡単に試せるのがScratchなんですね。Scratchの使い方自体はそれほどむずかしくありません。1学期の最後に1時間だけ使い方を学び,夏休みの課題として,Scratchでのゲーム作りに取り組んでもらいます。
- Q
- それは楽しそうですね。生徒は熱心に取り組んでいますか?
- A
- 単純に“課題”としてだと,モチベーションも高まらず,なかなか手が動かないと思います。そこで今年の2学期最初の授業では,生徒が作ったゲームをみんなでプレイし,気に入ったものを投票で評価することにしました。自分のゲームが友だちに遊んでもらえるわけですから,自然と力も入ります。なかにはけっこうな力作も出てきました。
- Q
- 2学期ではセキュリティや情報サービスの講義が前半で展開され,後半では教育用プログラミング言語「ドリトル」を使った実践に。ドリトルではどんなことを学んでいるのでしょうか?
- A
- 授業では,隣の人のコンピュータにアイコンを表示させる“ネットワーク通信”と,クラス全員で1つのチャットルームに書き込む“チャットシステム”の2つを扱っています。実はこれ,2学期の前半で学んできたセキュリティや情報サービスの復習でもあり,プログラミングという実践を通すことで,講義の内容を肌で感じてほしいという狙いがあります。生徒からも「LINEってこういうしくみでメッセージをやり取りしているんだ」,「セキュリティの大切さがわかった」という声を聞きます。
ドリトルを使った授業風景
- Q
- 現在,青山学院大学と協同で授業研究を行っているとのことですが,どんなことに取り組まれる予定なのですか?
- A
- 最初はProcessingというプログラミング言語と,「なのぼ~ど」というセンサーボードを組み合わせた授業を展開できればと考えていたのですが,最終的にはmicro:bitを用いた授業を実施することになりました。物理的なものと組み合わせるとプログラミングの幅が広がります。たとえば,照度センサーが明るさを感知するとモーターが動き出すといったことを,プログラミングで実現できる。プログラミングを通してリアルな物体が動くって,とてもおもしろいと思うんですよね。プログラミングは画面のなかだけで完結するものじゃないってことが,より深くわかってもらえるんじゃないでしょうか。
- Q
- お話を聞いているだけでも,すごく楽しそうです。しかし,これだけたくさんのプログラミング言語を扱うと,授業についてくるのがむずかしい生徒も出てきそうです。そのあたりはどのように工夫していますか?
- A
- やはり最初からむずかしい課題を出してしまうと,くじけてしまいます。そのため,授業や配布するワークシートも,少しずつステップアップして考えられるように構成しています。具体的には,ワークシートの前半は用語の穴埋め問題にして,授業を聞いていれば解けるようにしています。これは講義を漫然と聞き流さないように,緊張感を与えるという効果があります。いっぽう,後半では,自力で問題を解く構成にしています。でも実は,ワークシートを順番に進めていけば,自ずとゴールまでたどり着けるようになっているんです。とはいえ,それでも問題を解けない生徒がいないわけではありません。そのようなときは,生徒同士で教え合うように促しています。教わる方,そして教える方の双方にとってよい勉強となります。
- Q
- たしかにワークシートを拝見すると,非常に作り込まれている印象を受けます。
- A
- “生徒が管理しやすいか” という点にも配慮しています。1コマの授業で配るワークシートは,リフレクションのまとめ1枚とワークシートの1枚。この2枚だけにして,どちらもサイズはA4に統一しています。生徒はこの2枚をファイルに綴じておけばよいので,管理がしやすくなります。テスト前の復習でも,ファイルを開けば,これまでの授業の内容を手軽に見直すことができます。
- Q
- 先生の授業の特徴はどこにあると考えていますか?
- A
- 情報技術の飛躍的な発展に伴い,現在の社会は常識がどんどん変わっていきます。教えるほうも,時代の変化にあわせて学び,授業をブラッシュアップしていくべきだと考えています。そうした意識もあり,“これはよさそうだ”と思ったことは,迷う要素があったとしても,まずはやってみるようにしています。たとえば,毎年何か1つ, “新しい教材を試す”といった挑戦や変化を加えることを大切にしています。
- Q
- 最後に,先生の指導を介して,生徒たちにどのようになってほしいと考えていますか?
- A
- 授業で学んだことを,実生活に結びつけて考えられるようになってほしいと思っています。現在の社会は至る所でプログラミングが使われており,専門家以外もプログラミングを必要とする時代はすでに来ています。プログラミングのみならず,社会に出て何かの課題に直面したときに,授業のことを思い出せれば,それが問題を解決するきっかけになるはずです。現実の社会と近い情報の授業で,自分で考え,選ぶ力を身に付けること。それはすなわち,生きる力を得ることと同じといえるのではないでしょうか。
山本先生の準備室+
東京都立神代高等学校
東京都立神代高等学校は,昭和15年に東京府立第15高等女学校として創立された伝統校。本校が位置する仙川は,白百合女子大学や桐朋学園大学なども集う学生街でもある。「学び,鍛え,輝け」を教育目標に掲げ,日々の学習・進路活動はもちろん,部活動や神高祭(体育祭,文化祭,音楽祭)などの学校行事にも全力で取り組む。
リフレクション
他の先生にお勧めしたいこととして,「振り返り(リフレクション)を書かせること」を山本先生は挙げる。生徒自身の振り返りになるのはもちろんのこと,教員側にとっても,「この説明はうまく伝わった」,「この課題は少し難易度が高かったかも」といった振り返りにつながる。山本先生の場合は,キーボードに慣れてもらう意味も含めて,生徒にパソコンで振り返りを入力してもらい,それを1枚のワークシートにまとめて,次回の授業時に配布する(左)。マイクは,振り返りのなかで後ろの席の生徒から「講義が聞こえにくいときがある」という声があり,使いはじめた(右)。
ワークシート
プログラミング演習(表示,計算)
JavaScriptで文字を表示したり,
計算をしたりするプログラムを学ぶワークシート。(500KB)
プログラミング演習(変数,計算)
JavaScriptで変数を宣言したり,
変数を利用して計算したりするプログラムを学ぶ。(648KB)
プログラミング演習(配列とループ)
JavaScriptで配列の宣言・操作と,ループ処理のプログラムを学ぶ。(676KB)
プログラミング演習(分岐とループ)
二重ループ,条件分岐との組み合わせなど,ループ処理の応用を学ぶ。(848KB)
データの入れ替えと最大値検索
配列内の2つのデータを入れ替える方法と,
配列内の最大値を得る方法を学ぶ。(780KB)
ソート
最大値の取得データの入れ替えを応用し,
配列内の数値を並べ替える方法を学ぶ。(672KB)