プログラミングに関する授業実践報告
埼玉県高等学校情報教育研究会
宮﨑 万希子

会誌第13号及び教材→埼玉県高等学校情報教育研究会Web
http://www2.spec.ed.jp/krk/jyoho/comm2/?page_id=245

埼玉県高等学校情報教育研究会
研究委員会について
教科「情報」で採用されたメンバーで構成
毎年共通のテーマを決めて指導案を研究
一昨年は「プログラミング」教えるにあたってのアンケートと授業案の検討
昨年はアンケートの継続と授業実践

今回の発表では授業案と実践報告を行います前半の発表 アンケート結果より• ほぼ半数がプログラミングの経験がない• プログラミングは難しいという先入観• 日常との結びつきが薄いプログラミングは難しいという先入観を払しょくし、プログラミングへ興味を持たせる授業をしたい！

ｃode.orgを利用した授業案の作成

前半の発表 アンケート結果より• ほぼ半数がプログラミングの経験がない• プログラミングは難しいという先入観• 日常との結びつきが薄い

身の回りにはプログラムで動いているものが多くあるのに、それを認識していない生徒が多い。

「身近なところでプログラムが動いている」ことを生徒に実感してもらう授業（追加目標）

icode.org• ブロックでアルゴリズムを確認• コード表示で実際に動いているプログラム（JavaScript）を確認③①④②

code.studioを用いた 授業案と実践報告
１．ブロック → フローチャート → プログラム確認
２．フローチャート → ブロック → プログラム確認
３．ブロック → フローチャート → プログラム確認

４．ブロック → フローチャート → 問題解決
５．ブロック → プログラム確認 → プログラミング
６．ブロック → プログラム確認 → コーディング

code.studioを用いた 授業案と実践報告
１．ドリル形式のワープロソフト教材でフローチャートを作成
１．ブロック→フローチャート→プログラム確認

実施内容と振り返り
プログラムの構造の理解＋フローチャートの書き方の習得＋ワ－プロソフトの技能習得
楽しみながらフローチャートの書き方、論理的な考え方や構造の理解ができた。
ゲーム感覚になりすぎずに段階的に学習ができた。

「繰り返すブロックが欲しい」等の解答が得られた。
生徒自ら、ワープロソフト教材で作業することで、反復構造の必要性や構造を理解することができたと考察できる。

フローチャート問題 正答率１４％→４８％へアップ

code.studioを用いた 授業案と実践報告
２．フローチャートとビジュアルプログラミング

２．フローチャート→ブロック→プログラム確認

実施内容と振り返り
ICカード乗車券やATMなど身近な情報システムの仕組みをフローチャートにすることができた

フローチャートを作成を通じて、あらゆるコンピュータやシステムがプログラムによって動いていることを理解させた。
フローチャートで問題整理ができた
自分達で考えアレンジするグループもあったグループで課題解決にはフォローが必要
課題Aは変数の概念を理解させる必要あり

課題A：暗証番号の認証
課題B：店頭での電子マネーの支払い
課題C：自動改札機の入場code.studioを用いた 授業案と実践報告
３．ブラックボックスからホワイトボックスへ～挙動を知る
３．ブロック→フローチャート→プログラム確認

Code.org＋フローチャート＋動画教材で構造の理解

実施内容と振り返り※Webを利用する教材は、つながらない場合に備えて別教材の準備が必要

フローチャートの解読とランダム関数の理解
表計算ソフト、総合開発環境monacaを使用し、ガチャゲームの一部改造＋追加機能について期末で出題、出てきた回答をもとに意見交換をさせたcode.studioを用いた 授業案と実践報告
４．アルゴリズム学習から問題解決実習へ
４．ブロック→フローチャート→問題解決

実施内容と振り返り
機械に伝えるコーディングではなく、人に伝えるフローチャートを作り、問題解決へ利用する。
作業をリスト化し、流れをフローチャートにすることで、パターン化できる部分を共有できる。
フローチャートをもとに話し合い、今までできなかった部分に意識を向け、新しい工夫を生み出すことができた。

課題
発表用資料の作成に時間がかかる
フローチャート図が残らなかったcode.studioを用いた 授業案と実践報告
５．VBScriptとPythonを使ったプログラミング
５．ブロック→プログラム確認→プログラミング• code.orgの実行プリントでの復習（１・２限目）• VBScriptまたはPythonを利用したプログラミング学習（３～６限目）

実施内容と振り返り
Code.orgはプログラミングの3つの基本構造の理解につながる・プログラムをヒント無しで、自力で作れる生徒は1～2割程度
・原因は、変数の宣言の理解に多く時間を取れなかったことや、剰余の計算等の数学的思考力が不足していたため、時間内にコーディングまでたどり着けなかったと考えられる。

・今後の課題
変数の扱い方の学習方法
エラーの発見をしやすくするエディタについて研究を深めるといったことがあげられる。
本授業実践ではVBScriptの方が適切だと感じた。

code.studioを用いた 授業案と実践報告

６．身近なプログラムのロジックを知る
６．ブロック→プログラム確認→コーディング実施内容と振り返り
フローチャート → プログラミング だった流れをCode.org→ プログラミング へ変えた。
興味を持たせやすく処理手順の言語化がしやすい
課題解決に数学的理解が必要（課題の内容要検討）
自力でできた生徒は1割程度↓追加
今年は1学期に実施し、実施時間を増やしたところ、全体の理解度がかなり高まった。
プログラミング実習にはある程度の時間をかけ、慣れさせることが必要と感じた

実践報告を終えて全体を振り返ると
 2年同じテーマで研究を続けることで、落ち着いて計画的な授業実践ができた
 どの授業実践もcode.orgは１～２時間かけて実施している。
 導入に使うことによって、生徒の興味関心を引くことができた。
 ハードルが低い・生徒が自分のペースで取り組める・理解が早い 「アナ雪」と「古典的な迷路」など生徒の実情に合わせて教材が選べる
 フローチャート・プログラミングそれぞれに移行しやすい 導入にcode.orgは有用 → そのあとの教材が重要！

実践報告を終えて全体を振り返ると
 生徒の実情に応じて、何を、どこまで教えるかは様々。
 ゴールはどこにすればいいのだろうか？
Wordのスキルアップ（反復の必要性）
フローチャートに落とし込む身近なシステムを考えさせる
プログラムの改善案を考えさせる
プログラミング的な考え方
プログラムを書かせる（論理的思考）と
フローチャートから問題解決

問題解決能力実践報告を終えて全体を振り返ると
今回の授業実践は４～9コマかけている。
 プログラミング学習にはある程度の時間が必要。
「反復」の理解が難しい
変数の概念・数学的知識
フローチャートの書き方
プログラミング言語の読み方
数学的思考力が必要な課題になってしまうグループで行う話し合い・・・どれも時間がかかるより効率よく、深い学習ができないか？

おわりに目的 「論理的思考」「問題解決能力」を身につける手段 「プログラミング学習」
目標

楽しく、効率よく、深い学びができる授業案を作っていこう

会誌第13号及び教材→埼玉県高等学校情報教育研究会Web
http://www2.spec.ed.jp/krk/jyoho/comm2/?page_id=245

ご清聴ありがとうございました。