プログラミング教育
GIGAスクール構想を実現するためのプログラミング教育
GIGAスクール構想
https://www.mext.go.jp/a_menu/other/index_00001.htm
教育の情報化に関する手引 (令和元年12月)
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/mext_00117.html
文部科学省はGIGAスクール構想を打ち出しました。令和時代の学校のイメージをはっきりと示してくれました。そんな中、学校ICT利活用に関する情報をまとめた「教育の情報化に関する手引」も公表されました。小中高については各学校段階におけるプログラミング教育の例を提示してくれました。はじめてプログラミング教育を実施する学校の先生にとって多くのヒントがありました。一般社団法人センセイワーク(以下SENSEiWORK)は現場の先生と一緒にプログラミング授業を考え、そして先生の実践をサポートいたします。
「教育の情報化に関する手引」の第3章で紹介された実践例を紹介します。
小学校のプログラミング教育実施例
<目標>体験、気付き
1.プログラミングを体験
2.コンピュータに意図した処理を行わせるために必要な論理的な思考力
3.計画的に実施
4.算数、理科、総合的な学習の時間においてプログラミングを行う例
①算数:正多角形の作図
②理科:電気(信号機など)
どうすれば電気を効率よく使えるかを考える
人を感知するセンサが反応する
③総合的な学習の時間:探究的な学習、情報を収集・整理・発信(ロボット、センサーなど)
まちの魅力や魅力的な情報を発信する
タッチパネル式で魅力的に発信
外国人や高齢者、子供など、発信方法を対象によって変える
④音楽:様々なリズム・パターンを組み合わせて音楽を作る
⑤その他:プログラミングの楽しさや面白さ、達成感などを味わえる題材
追いかけゲーム
星キャッチゲーム
5.実施留意点
プログラミング教育全体においてコンピュータを用いないことは望ましくない
ビジュアル型プログラミング言語を用いて学習が展開されることを想定
テキスト型プログラミング言語の場合、ある程度の授業時数を確保して取り組む
プログラミングに強い興味・関心を示す児童にテキスト型プログラミング言語を活用
プログラミングだけを取り立てて評価しない
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
小学校のプログラミング教育は体験と気付きに重点を置いています。児童にプログラミングに興味を持っていただくために、プログラミングの楽しさを知ってもらいます。その場合、簡単なビジュアル型プログラミング言語(主にScratch)を使った活動がメインです。プログラミング的思考(順次、条件、反復)を知ることで、身の回りの仕組みを理解できるようになり、自分からも簡単な仕組みを作れるようになります。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
中学校のプログラミング教育実施例
<目標>実践的・体験的な活動
1.計測・制御のプログラミングによる問題の解決
①センサーやアクチュエータ
②気温や湿度の計測結果に基づき、灌水などの管理作業を自動的に行う栽培ロボット
③買い物の際に高齢者の方を目的の売り場に誘導しながら荷物を運搬するロボット
④障害物や路面状況などをセンサで確認し、危険な状況となった場合には注意促す生活サポートロボット
⑤自然環境の保全や防災などに関する社会的な問題を考える
⑥利便性、安全性等に関する問題を見出す、プログラムの設計・制作
2.ネットワークを利用した双方向性のあるコンテンツのプログラミング
①入力によって異なる出力を返す双方向性の仕組み
②学校紹介のWebページQ&A
③お互いにコメントなどを送受信できる簡易なチャット
④身近な不便さについて考える
⑤既存のコンテンツの改善の余地を考える
⑥利便性、安全性等に関する問題を見出す、プログラムの設計・制作
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
中学校のプログラミング教育は実践的・体験的な活動になります。生徒がプログラミング技術を使って、ロボットなどを動かしたり、実用的な開発をしたり、より実践的な学びを行います。またウェブサイトの構築や身近な不便さから新しいロボットやサービスを設計・制作することにより、社会につながらプログラミング開発を行います。必要に合わせてテクスト型プログラミング(HTML、Javascript、Processingなど)を学びます。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
高校のプログラミング教育実施例
<目標>情報活用能力の育成
1.情報Iのプログラミング、ネットワーク、セキュリティ、データベース
①気象データや自治体が公開しているオープンデータを用いて数値の合計、平均、最大値、最小値を計算するアルゴリズムを考える
②探索や整列などの典型的なアルゴリズムを考える
③平易にプログラムを記述できるプログラミング言語を使用する(習得が目的にならない)
④ライブラリ、APIなどの機能
⑤プログラムの修正(デバッグ)
⑥関数を用いてプログラムをいくつかのまとまりに分割し関係を構造化
⑦プログラミングでワードやExcelのようなアプリケーションが持つ検索や置換及び並び替えなどの機能の一部を実現する
⑧ツールやアプリケーションを開発する
⑨カメラやセンサ及びアクチュエータを利用する
⑩画像認識や音声認識及び人工知能などの既存のライブラリを組み込む
⑪人に優しく使いやすいUI
⑫手順をわかりやすく表現するアルゴリズム
⑬効率的に読みやすいプログラムなどのデザイン
2.情報IIのプログラミングを発展的に学ぶ
①自分なりの新しい考え方や捉え方によって解決策を構想する態度
②自らの問題解決の過程を振り返り、改善・修正する態度
③情報セキュリティなどに配慮し安全で適切な情報システムの制作
④社会の中に実際に稼働している情報システムの仕組みやセキュリティ対策などの調査活動
⑤限られた教室内の環境で実現が可能な小規模の情報システム制作活動
⑥効率的な経営のために必要なPOSシステム、情報の利用のされ方などを考える
⑦小規模の簡単な掲示板などのWebシステム
⑧サーバと連携して動作する携帯情報端末用のアプリケーションの制作
⑨一人暮らしの高齢者の状況を見守るために異常があれば遠く離れた子供の携帯情報端末にメッセージを届けるシステム
⑩グループでそれぞれのモジュールのプログラムを制作し、統合してシステムとして稼働させる
⑪作品の自己評価、相互評価を行う
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
高校のプログラミング教育はかなり高度的なものになっています。アルゴリズムの学びから、データベースやサーバに関わる開発まで、企業で使われているIT技術を知り、自ら試す・作ることによって、情報活用能力を高めます。さらに、近年大きな進歩を達成した人工知能の基礎知識も高校生の段階で学ぶ機会を提供します。テクスト型プログラミング(Javascript、Python、Swiftなど)を学びます。
◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇
プログラミング教育は、先生方の実践からはじまる
SENSEiWORKは現場の先生たちと一緒に具体的な事例の学びを通して、プログラミング教育を実践しています。
他校の事例を待つではなく、少しだけでもいい、自ら作っていくことが何よりも大事です。 当たり前のことですが、新しいことを始めるとき、多くの問題が必ず出てきます。 そんな時、私たちはしっかりとサポートさせていただきます。 問題や経験を共有し、より質の高いプログラミング授業を実践しましょう。 生徒の生活や勉強の視点からプログラミングを自然に導入できるような授業作りを支援します。
SENSEiWORKは、それぞれの学校の現状に合わせてプログラミング授業の作り方をご提案します。