教育ICTリサーチ ブログ

ICTを教育にどう活用できるか、現場目線でリサーチします。

ICTE情報教育セミナー 実践発表 「プログラミング、データベース学習をやってみて【情報の科学】」(宮城第一高等学校 八巻一智 先生)

 10月25日の第67回情報コミュニケーション教育研究会(ICTE)情報教育セミナー IN 東北にて聴講した、宮城第一高等学校の八巻一智先生による、実践発表「プログラミング、データベース学習をやってみて【情報の科学】」のメモを公開いたします。
f:id:ict_in_education:20151105173833j:plain

「情報の科学」でプログラミングとデータベースを教える

 八巻先生は「情報の科学」の中で、プログラミングとデータベース学習を教えていらっしゃいます。まだまだ試行錯誤しながらです、とおっしゃっていましたが、いろいろな先生方の実践からネタを集めて、実践をしているということでした。

  • 「情報の科学」で、プログラミング、データベースをどう教えるか、試行錯誤。
  • 自分でもプログラミングを詳しくやってはいない。子どもの頃、ベーシックをいじっていたくらい。
  • いろいろな先生方の実践から、ネタを集めて授業に活かしている。いろんな実践を、自分の学校の形に変えていく。
    • 40名一斉で1人で見ている。効率よく実習を進めていくのが課題。
    • プログラミング学習→Excelを利用
    • データベース学習→sAccessを利用

プログラミング教育

 最初からプログラミングに取り組むのではなく、まずは「アルゴリズム」を説明するそうです。そのために、厳密に命令をコンピュータに指示を出すということの難しさを実感してもらうアクティビティをします。

  • アルゴリズムって何?
    • アルゴリズム体操?」「アルゴリズム行進?」という反応。なぜそういう名前なのか、というところから授業スタート。
    • 図を文章だけで表現するのは難しい。
    • 『教養としてのプログラミング講座』(清水亮)の中のネタを利用
      • なぜ買い物ができなかったのか?を考え、お母さんになって指示を出し直す。
      • 曖昧な指示でなく、詳しい構成で指示を伝えないとダメだ、ということを学ぶ
      • 「ペットボトルのキャップを空けるためのアルゴリズムを考える」
        • 「左手でボトルをつかめ、右手でキャップをつかめ、回せ」を意地悪に解釈する
    • 指示したとおりにプログラミングは動くのだ、だからきちんと伝える必要がある、というのを事前に伝える。f:id:ict_in_education:20151105174100j:plain

 途中の、「ボトルのキャップをあける」ための動きの指示を生徒に出させる時に、いかにそれが曖昧かというのを伝えるために、先生が厳密に解釈を促すように意地悪に動く、というところ、やりとりがおもしろそうだな、と思いました。グループでやってもおもしろいかもしれないな、と思いました。


 アルゴリズムについての説明が終わった後、実際にVBAを使ってプログラミングの練習に入るそうです。ここでは、各自のペースでHTML形式のファイルを見ながらの学習とのことです。プログラミングは、変に進度を合わせようとすると、「じゃあ、このコマンドライン写して」のような写経になってしまう可能性もありますので、こうして各自のペースでできるというのは大事かな、と思います。

  • VBAを使ってプログラミングをしてみよう
    • 栃木県の先生が作成したWebサイトを、許可を得てアレンジして使っている。
    • 各自のペースでHTML形式のファイルを見ながら学習していく。
    • 最後まで辿り着く生徒は3割くらい。
    • クラス内での教え合いと、先生のフォローで、学んでいく。
    • 画面をHTML半分、もう半分にExcelを表示させてやっている。f:id:ict_in_education:20151105174341j:plain
    • 学習用プリントで補足
    • ゼロから「交換法のプログラムを作れるのは2割くらい。
      • わざと間違いを作っておく。
    • 理解力の高い生徒への応用も用意している。
      • わざと間違いを仕込んでおいて、どこが間違っているのかを探してもらう。
      • できる生徒が時間を持て余さないようにするのがポイント。
    • エラーをなおすのに、1時間くらい試行錯誤をする生徒もいる。
      • デバッグを説明する。
      • 3時間~4時間くらいすると、「なんで動かないんだろう?」という質問がある。

 ただ、こうすると一人一人の進度が変わってくるので、先生のその都度の対応力が求められるな、と思います。小刻みに課題を設定していく、というような評価方法の検討、工夫につながっていくものだと思います。

 評価についてはどのようにしているかも、お話がありました。

  • 評価について
    • 演習問題1~25を用意しておいてサーバに保存させる
    • 保存された演習問題を軽く点検
    • 途中でキーとなるプログラム内容がある演習問題は、詳しく見て評価する。
    • フローチャート作成で、論理的記述ができているかを評価したり、期末考査では論理的な間違いを見つけられるかを評価。

 プログラミングが書けたかどうか、という面では評価はある程度できそうだと思いました。最終課題はもちろん、その過程できちんと変数を設定できているかとか、繰り返し処理ができているかとか。あとは、関心態度のあたりも、プログラミングをするうえでは大事だと思っていて、たとえば、「デバッグを嬉々としてやっているか、うんざりしながらやっているか」とかは、問題にどう取り組むかとかとつながるのかな、とぼんやり思っています。八巻先生は、机間巡視である程度はわかります、とおっしゃられていました。
 「プログラムが書ける」のは認知スキル、「問題を解決するために、頑張れる」のは非認知スキルだと思っていて、ここを結びつけるような授業設計、または評価方法は可能なのかな…など、考える機会をいただきました。

データベース

 八巻先生は、データベースの方も、昨年度から試験的に取り組まれているとのことでした。紹介されたのは、sAcessです。

  • データベース
    • 昨年度、試験的に実践。
    • オンライン学習ツール sAccessを使う。シンプルで分かりやすい。プリント、指導案もサイトにある。f:id:ict_in_education:20151105174608j:plain
    • 40人一斉に使用しても、問題なかった。

 データベースも日常生活の中で、表に見えませんが非常にお世話になっているスキルですし、やりとりする情報、扱う情報が増えてくるなかで、持っていて役立つスキルだと思います。sAccessのサイトには、指導者用資料もありますので、こちらを使ってデータベース学習の実践事例も、増えていけばいいと思いました。saccess.eplang.jp

(為田)