作問力どっとアップ

学習指導案の例と書き方のヒント

情報科 STL科学技術研究Ⅰ(学校設定科目) 学習指導案

学校番号64
学校名福岡県立明善高等学校
指導者教諭 松島 拓路
実施日時9月18日(水) 5時限
実施学級第1学年7組40名
実施場所パソコン教室
1.単元名
アルゴリズムとプログラミング
ヒント
2.単元設定の理由
○単元観

 本単元では,アルゴリズムとプログラミング及びコンピュータを活用した問題解決におけるデータ構造に関する基礎的な知識と技術を習得させることをねらいとしている。具体的には次のことができるようにする。①順次, 選択, 繰り返しの三つの基本的な構造を取り上げ,これらによってアルゴリズムを表現するのに必要な基礎的な知識と技術を習得する。②プログラムの作成からテスト及びデバッグまでの一連の作業に必要な基礎的な知識と技術を習得する。

本単元は次のような点で価値がある。

①アルゴリズムやプログラミングの知識と技術を,問題解決の活動などにおいて実際に活用することができるようになる。②アルゴリズムの改善により効率的に問題の解決が図られることに気付くことができる。

③物事を抽象化して捉える力や分解して理解する力,順序立てて理解する力が身につく。④自分の意図する一連の活動を実現するためにはどのような動きの組み合わせが必要か,意図した活動により近づくためにはどう改善すれば良いのかといったことを論理的に考える力が育成される。

○生徒観

 本クラスは理数科で,入学して半年ほど経過した。1学期には,プログラミング学習の初歩として,6時間かけてフローチャートやアルゴリズムを学んでいる。自身の希望進路として,数学系や情報系に進みたいと話している生徒もおり,情報処理に関心の高い生徒が多い。授業中の課題にも積極的に取り組み,グループ活動にも積極的に参加する生徒が多い。しかし,成果物や日々の実習時の状況を見るとパソコンの操作に自信のない生徒もまだ50%程見受けられることから,中間モニタで操作方法を提示しながら一緒に進めたり,生徒どうしで教えあったりさせるなどの工夫が必要である。

○指導観

 本単元では,アルゴリズムとプログラミング及びコンピュータを活用した問題解決におけるデータ構造に関する基礎的な知識と技術を習得させることをねらいとしている。そのために,まず1学期に6時間かけて教科書(pp.78–91)を使ってフローチャートやアルゴリズムを学習した。1学期は理論を中心に,アニメーション等を用いた学習を行なったが,プログラムの作成は行っていない。そのため,2学期から3学期にかけてプログラミング実習を行い,プログラミングに関する基礎的な知識と技術を習得させる。問題に応じたプログラミングやデバッグ等を行わせることで,論理的な思考力を育む。実習に用いるプログラミング言語は,DNCL(センター試験用手順記述標準言語)を選択した。DNCLは,大学入試センター試験の情報関係基礎で採用されているプログラミング言語で,日本語で記述され,アルゴリズムの記述に適していることからプログラミング及びアルゴリズムの初学者に適していると考えられる。実行環境にはオンラインのプログラミング環境で,DNCLを実行することができるBit Arrowを用いる。

ヒント
3.単元の目標(到達目標)
  1. 基本的なアルゴリズムの構造を理解している。【知識・技能】
  2. 基本的な構造のフローチャート(または文章表現)からプログラムを作成する技能を身につけている。【知識・技能】
  3. 試行錯誤しながらアルゴリズムやプログラムを作成することができる。【思考・判断・表現】
  4. 作成したアルゴリズムやプログラムが正しいかどうか確かめることができる。【思考・判断・表現】
  5. アルゴリズムやフローチャート,プログラムに興味を持ち,例題などに積極的に取り組もうとしている。【主体的に学習に取り組む態度】
4.指導計画(単元の配当時間)全10時間
第1次アルゴリズムの基本構造6時間
第2次DNCL(センター試験用手順記述標準言語)を用いたプログラム作成3時間(本時3/3)
第3次センター試験(情報関係基礎)問題演習1時間
5.本時
ヒント
(1)本時の学習目標

教師から提示されるDNCL(センター試験用手順記述標準言語)で記述された逐次探索および二分探索のプログラムについて,空欄に入る条件式をすべてエラーが出ないように記述することができる。

ヒント
(2)本時の手立て
  • DNCL(センター試験用手順記述標準言語)を用いて逐次探索アルゴリズムと二分探索アルゴリズムのプログラムを実装させる。
  • 1学期に学習したアルゴリズムを自分でプログラミングし,実行結果が理論通りになっているか確認させる。
  • 同じ動きをするプログラムを2つ提示し,プログラムの書き方は1通りではないことを理解させる。
  • 課題が早く終わった生徒には,スモールティーチャーとして周りの生徒の支援をさせる。
(3)教材

・教科書(実教出版 最新情報の科学新訂版)pp.84-87

・プリント

・オンラインプログラミング環境(Bit Arrow : https://bitarrow.eplang.jp/)

ヒント
(4)学習の展開
学習内容・活動 教師の支援
指導上の留意点
配当
時間
学習
形態
評価
導入 ○前時の復習を行う。 ○前時のプリントを用いて,DNCLの構文やBit Arrowの使い方を復習する。 10分 一斉
○本時の目標を確認する。
「教師から提示されるDNCL(センター試験用手順記述標準言語)で記述された逐次探索および二分探索のプログラムについて,空欄に入る条件式をすべて正しく記述することができる。」
○探索アルゴリズムについて復習を行う。 ○逐次探索アルゴリズムと二分探索アルゴリズムについてそれぞれどのようなアルゴリズムか質問する。
展開1 ○逐次探索アルゴリズムを実装する。
ファイル名は「Linear」
○作業に入る前に注意点として,配列についての復習を行う。
またDNCL独自の関数(要素数( ))についても説明する。
7分 個別 ○教員から提示されるDNCL(センター試験用手順記述標準言語)で記述された逐次探索および二分探索のプログラムについて,空欄に入る条件式をすべて正しく記述することができる。
(プリントの記述および提出プログラム)
○作成した「Linear」と同じ動きをする別のプログラムの穴抜き部分を埋め,正しく動くか確認する。
ファイル名は「Linear2」
○プリントに自分の考えを書く欄と正解を書く欄を設け,自分の考えを消さないよう指導する。
○flagの使い方(1学期の復習)を説明する。
13分 個別
↓
○早く終わった生徒はスモールティーチャーとして他の生徒の支援をする。 グループ
展開2 ○二分探索のアルゴリズムを実装する。
ファイル名は「Binary」
○割り算をする際の注意点(“/”か“÷”か)について説明を行う。 15分 個別
↓
○教員から提示されるDNCL(センター試験用手順記述標準言語)で記述された逐次探索および二分探索のプログラムについて,空欄に入る条件式をすべて正しく記述することができる。
(プリントの記述および提出プログラム)
○早く終わった生徒はスモールティーチャーとして他の生徒の支援をする。 グループ
○早く終わったグループは発展問題に取り組む ○FizzBuzz問題のプログラムを実装させる。プログラムの提示は行わず,考え方のヒントのみ与える 個別
まとめ ○本時のまとめを行う。
 ・逐次探索アルゴリズムと二分探索アルゴリズムについて
 ・プログラムの書き方は一通りではないこと
○次回は入試問題にチャレンジすることを伝える。 5分 一斉
○コンピュータをシャットダウンする。 ○生徒のパソコンをロックする。
○プリントの回収を行う。