1
情報科
STL 科学技術研究Ⅰ(情報) 学習指導案
1 単元名 第3 章 2 節 アルゴリズム(情報の科学) 2 単元設定の理由 ○単元観 本単元では、アルゴリズムとプログラミング及びコンピュータを活用した問題解決におけるデータ構造に 関する基礎的な知識と技術を習得させることをねらいとしている。具体的には次のことができるようにする。 ①順次, 選択, 繰り返しの三つの基本的な構造を取り上げ、これらによってアルゴリズムを表現するのに必 要な基礎的な知識と技術を習得する。②プログラムの作成からテスト及びデバッグまでの一連の作業に必要 な基礎的な知識と技術を習得する。 本単元は次のような点で価値がある。 ①アルゴリズムやプログラミングの知識と技術を、問題解決の活動などにおいて実際に活用することができ るようになる。②アルゴリズムの改善により効率的に問題の解決が図られることに気付くことができる。 ③物事を抽象化して捉える力や分解して理解する力、順序立てて理解する力が身につく。④自分の意図する 一連の活動を実現するためにはどのような動きの組み合わせが必要か、意図した活動により近づくためには どう改善すれば良いのかといったことを論理的に考える力が育成される。 ○生徒観 本クラスは理数科で、入学して半年ほど経過した。1 学期には、プログラミング学習の初歩として、6 時 間かけてフローチャートやアルゴリズムを学んでいる。自身の希望進路として、数学系や情報系に進みたい と話している生徒もおり、情報処理に関心の高い生徒が多い。授業中の課題にも積極的に取り組み、グルー プ活動にも積極的に参加する生徒が多い。しかし、成果物や日々の実習時の状況を見るとパソコンの操作に 自信のない生徒もまだ 50%程見受けられることから、中間モニタで操作方法を提示しながら一緒に進めた り、生徒同士で教え合う場面を設定するなどの工夫が必要である。 ○指導観 本単元では、アルゴリズムとプログラミング及びコンピュータを活用した問題解決におけるデータ構造に 関する基礎的な知識と技術を習得させることをねらいとしている。そのために、まず1 学期に 6 時間かけて 教科書(pp.78−91)を使ってフローチャートやアルゴリズムを学習した。1 学期は理論を中心に、アニメー ション等を用いた学習を行なったが、プログラムの作成は行っていない。そのため、2 学期から 3 学期にか けてプログラミング実習を行い、プログラミングに関する基礎的な知識と技術を習得させる。問題に応じた プログラミングやデバッグ等を行わせることで、論理的な思考力を育む。実習に用いるプログラミング言語 は、DNCL(センター試験用手順記述標準言語)を選択した。DNCL は、大学入試センター試験の情報関係 基礎で採用されているプログラミング言語で、日本語で記述され、アルゴリズムの記述に適していることか らプログラミング及びアルゴリズムの初学者に適していると考えられる。実行環境にはオンラインのプログ ラミング環境で、DNCL を実行することができる Bit Arrow を用いる。 3 単元指導目標(到達目標) アルゴリズムやフローチャート、プログラムに興味を持ち、例題などに積極的に取り組んでいる。 【関心・意欲・態度】 基本的なアルゴリズムの構造を理解している。【知識・理解】 基本的な構造のフローチャート(または文章表現)からプログラムを作成できる。【技能】 試行錯誤しながらアルゴリズムやプログラムを作成できる。【思考・判断・表現】 作成したアルゴリズムやプログラムが正しいかどうか確かめることができる。【思考・判断・表現】2 4 指導計画(単元の配当時間) 全 10 時間 第1 次 アルゴリズムの基本構造 6 時間 第2 次 DNCL(センター試験用手順記述標準言語)を用いたプログラム作成 3 時間(本時 3/3) 第3 次 センター試験(情報関係基礎)問題演習 1 時間 5 本時 (1) 本時の指導目標(到達目標) 逐次探索アルゴリズムと二分探索アルゴリズムのプログラムを実装できるようになることを目標とする。 問題に応じて適切なプログラムを作成できる。【技能】 作成したアルゴリズムやプログラムが正しいかどうか確かめることができる。【思考・判断・表現】 (2) 本時の手立て DNCL(センター試験用手順記述標準言語)を用いて逐次探索アルゴリズムと二分探索アルゴリズムの プログラムを実装させる。 1 学期に学習したアルゴリズムを自分でプログラミングし、実行結果が理論通りになっているか確認さ せる。 同じ動きをするプログラムを2 つ提示し、プログラムの書き方は 1 通りではないことを理解させる。 課題が早く終わった生徒には、スモールティーチャーとして周りの生徒の支援をさせる。 (3) 本時の授業仮説 アルゴリズムの学習において DNCL を用い、スモールティーチャーを活用すれば、逐次探索アルゴリズ ムと二分探索アルゴリズムを実装できる生徒が育つであろう。 (4) 教材 ・生徒 教科書(実教出版 最新情報の科学新訂版)、プリント、
オンラインプログラミング環境(Bit Arrow : https://bitarrow.eplang.jp/) ・教師 教科書(実教出版 最新情報の科学新訂版)、プリント、スライド
3 (5) 学習の展開(学習指導過程) 学習内容・活動 教師の支援 指導上の留意点 教材 配当 時間 学習 形態 評価 導入 ○前時の復習を行う。 ○本時の目標を確認する。 「逐次探索アルゴリズムと二 分探索アルゴリズムのプログ ラムを実装できるようにな る。」 ○探索アルゴリズムについて 復習を行う。 ○前時のプリントを用い て、DNCL の構文や Bit Arrow の使い方を復習 する。 ○逐次探索アルゴリズム と二分探索アルゴリズム についてそれぞれどのよ うなアルゴリズムか質問 する。 プリント スライド 教科書 (pp.84−87) 10 分 一斉 展開 1 ○逐次探索アルゴリズムを実 装する。 ファイル名は「Linear」 ○作成した「Linear」と同 じ動きをする別のプログラム の穴抜き部分を埋め、正しく 動くか確認する。 ファイル名は「Linear2」 ○早く終わった生徒はスモー ルティーチャーとして他の生 徒の支援をする。 ○作業に入る前に注意点 として、配列についての 復習を行う。 またDNCL 独自の関数 (要素数( ))についても 説明する。 ○プリントに自分の考え を書く欄と正解を書く欄 を設け、自分の考えを消 さないよう指導する。 ○flag の使い方(1 学期 の復習)を説明する。 プリント スライド PC 7 分 13 分 個別 ↓ グループ ○ 問 題 に 応 じ て 適 切 な プ ロ グ ラ ム を 作成できる。【技能】 (提出プログラム) ○ 作 成 し た ア ル ゴ リ ズ ム や プ ロ グ ラ ム が 正 し い か ど う か 確 か め る こ と が できる。【思考・判 断・表現】(提出プロ グラム・プリントの 記述) 展開 2 ○二分探索のアルゴリズムを 実装する。 ファイル名は「Binary」 ○早く終わった生徒はスモー ルティーチャーとして他の生 徒の支援をする。 ○早く終わったグループは発 展問題に取り組む ○割り算をする際の注意 点(“/”か“÷”か)につ いて説明を行う。 ○FizzBuzz 問題のプロ グラムを実装させる。プ ログラムの提示は行わ ず、考え方のヒントのみ 与える プリント スライド PC 15 分 個別 ↓ グループ 個別 ○ 問 題 に 応 じ て 適 切 な プ ロ グ ラ ム を 作成できる。【技能】 (提出プログラム) ○ 作 成 し た ア ル ゴ リ ズ ム や プ ロ グ ラ ム が 正 し い か ど う か 確 か め る こ と が できる。【思考・判 断・表現】(提出プロ グラム) まとめ ○本時のまとめを行う。 ・逐次探索アルゴリズムと 二分探索アルゴリズムに ○生徒のパソコンをロッ クする。 スライド 5 分 一斉
4 ついて ・プログラムの書き方は一 通りではないこと ○コンピュータをシャットダ ウンする。 ○プリントの回収を行う。 ○次回は入試問題にチャ レンジすることを伝え る。