Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)

488 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)

  1. 1. 高等学校での「プログラミング」教育の導入 - PENを用いて大阪府立泉北高等学校 中村 亮太大阪学院大学 情報学部 西田 知博大阪市立大学 大学院創造都市研究科 松浦 敏雄 1
  2. 2. 情報教育の目標 現在の情報教育は…  情報教育≒計算機操作習得  お絵かき, 文書処理, 表計算 …etc… 目指すべき情報教育  「手続き的な自動処理の理解」  情報処理学会日本の情報教育・情報処理教育に 関する提言 2005 (情報処理学会) 2
  3. 3. プログラミングを学ぶと 知識状態や考え方を明確にする力がつく 自立的な思考力を養うことができる 自ら問題を発見し、対処する力を養える 計算機はプログラムの指示通りに動作している ことを学べる 3
  4. 4. 既存言語でプログラミング教育を… プログラム言語のとっつきにくさ  英語のような表現  言語仕様の複雑さ 文法エラーの発生  ちょっとした入力ミスで発生する 実行時エラーの対処の難しさ  プログラミング初学者ではデバッグが困難 4
  5. 5. 初学者向けプログラミング学習環境 PENPENの特徴 容易に理解できるプログラミング言語を採用  とっつきにくさの解消 プログラム入力支援機能  プログラムを作成しやすくする工夫 プログラム実行制御/状態表示機能  プログラムの実行を観察できる工夫 5
  6. 6. PENを使っての授業 多くの大学/高校で使用  大阪大学  京都ノートルダム女子大学  千里金蘭大学  大阪市立大学  大阪学院大学/高校  名古屋高校 などなど… 6
  7. 7. 大阪府立泉北高等学校 国際文化科  総合科学科  国際理解の学習中心  理数系の学習中心  各学年4クラス  各学年4クラス  各クラスは40人前後  各クラス40人前後 情報A  総合科学I(39期以降)  1年1単位  1年2単位  2年1単位  情報A  1年1単位  2年1単位 7
  8. 8. 総合科学 (39期生以降) スーパーサイエンスハイスクール  総合科学I(1年次2単位)  情報機器操作の習得  プレゼンテーション能力の向上  論理的思考の育成  総合科学II(2年次1単位)  与えられた課題を解決する能力の育成  総合科学III(3年次2単位)  自ら研究テーマを設定し解決する能力の育成 8
  9. 9. 総合科学科1年 総合科学I 年間約45回(65分/回)  校外研修発表  自由課題発表  表計算  文書処理 PENを用いたプログラミング教育  7,9月の計6回 9
  10. 10. 授業構成1回目 出力命令、変数と代入文2回目 変数に代入されている値の入れ替え3回目 条件分岐、2分岐の条件分岐4回目 ランダムな数5回目 範囲指定の加算型繰り返し命令6回目 グラフの描画、描画命令 10
  11. 11. 各授業の進め方  例題を生徒に入力させる  プログラム実行させる  掲示用画面にて命令を説明  各自で課題に取り組んでもらう 例題 課題1: 整数 tasu データ型が整数の x, y の2つの変2: tasu ← 5 + 10 数を宣言し、x に 9, y に 12 を代入3: tasu を表示する せよ。また、その x と y を加算した 結果を tasu に代入せよ。 11
  12. 12. 1回目 出力命令、変数と代入文 2回目 変数に代入されている値の入れ替え 3回目 条件分岐、2分岐の条件分岐授業は面白かったか 4回目 5回目 ランダムな数 範囲指定の加算型繰り返し命令 6回目 グラフの描画、描画命令6回目5回目4回目3回目2回目1回目 0% 20% 40% 60% 80% 100% とても面白かった どちらかと言うと面白かった どちらかというと面白くなかった 面白くなかった 12
  13. 13. 1回目 出力命令、変数と代入文 2回目 変数に代入されている値の入れ替え 3回目 条件分岐、2分岐の条件分岐 授業の理解度 4回目 5回目 ランダムな数 範囲指定の加算型繰り返し命令 6回目 グラフの描画、描画命令6回目5回目4回目3回目2回目1回目 0% 20% 40% 60% 80% 100% 理解できた だいたい理解できたと思う あまり理解できていないともう ほとんど理解できなかった 13
  14. 14. 感想(肯定的な意見) 自分でプログラムを作成するとコンソール画面に表示されるのが凄いと思っ た。難しいけど楽しい。 とても楽しかったです。また機会があれば是非やりたいと思います。余談か もしれませんが、パソコンでこんなに数学的にできるとは思いませんでした。 まだまだ簡単なことしかしていないので、もっと難しいことをしてみたいと思い ます。あと理解するのは難しかったけど、理解できたときの喜びは大きかっ た。 難しい問題が増えてきて、解くのに時間がかかったけど、それが解けたとき の喜びが大きかったです。面白かったです。 パソコン相手に、これほど細かい命令を、自分自身でできたので、とても楽し かった。できることは知っていても、自分でできる機会があるとは思ってな かったので、いい勉強になった。 14
  15. 15. 感想(否定的な意見) 何のために使うかわかりません。 一文字でも間違ったらダメなので疲れた 半角、全角のミスが多かった ややこしい。すごく難しい。 15
  16. 16. 評価 生徒の興味・関心をある程度惹くことがで きた 理解度はおおむね良好だった 5回目の授業(繰り返し)  「理解できた」+「だいたい理解できた」の合計 が 44.7% と低い課題の難易度や時間数について検討が必要 16
  17. 17. 教材の再作成 導入部分の強化  プログラミングの重要性 フローチャートを記述させる  考えを整理させる 課題の再考  身近にある問題を追加 掲示資料の作成  アニメーションを用いた資料 17
  18. 18. 国際文化/総合科学科 2年 情報A 年間約21回(65分/回)  文書処理  メディアについて  Webページ作成  表計算 PENを用いたプログラミング教育  12~2月の計5, 6回 18
  19. 19. 授業構成1回目 出力命令、変数と代入文2回目 変数に代入されている値の入れ替え3回目 条件分岐、2分岐の条件分岐4回目 条件分岐の入れ子構造5回目 繰り返し命令6回目 特別課題 19
  20. 20. 各授業の進め方  例題を生徒に入力させる  プログラム実行させる  掲示用画面にて命令を説明  各自で課題に取り組んでもらう 例題 課題1: 整数 tasu データ型が整数の x, y の2つの変2: tasu ← 5 + 10 数を宣言し、x に 9, y に 12 を代入3: tasu を表示する せよ。また、その x と y を加算した 結果を tasu に代入せよ。 20
  21. 21. 掲示資料 変数とは  コンピュータ上で値を保存しておく場所  変数は自由名前をつけることが可能  1文字目 :半角英字  2文字目以降:半角英数字4210 0 x hako RX8 21
  22. 22. 掲示資料 代入とは  変数に値を格納することa ← 10 d ← input()b ← 30 42 12 + 13c ← a 52 b + 10 42 a b c d 22
  23. 23. 掲示資料 練習問題21: 整数 tasu2: tasu ← 5 + 103: tasu を表示する 5 + 10 = 15 15 tasu 23
  24. 24. 後期期末考査 情報A 解答選択式  HTML : 10問 (10点)  カラーコード : 10問 (10点)  表計算 : 20問 (40点)  プログラミング : 15問 (40点) 平均点  国際文化科 : 45.7点  総合科学科 : 54.7点 24
  25. 25. プログラミングの問題 プログラムを読み解く力  FizzBuzz問題 繰り返し処理の理解度  同様の処理を行うプログラム2種類 プログラムを作成する力  プログラムの大部分を穴埋め 25
  26. 26. 次のプログラムは1~100までの数を表示するものである。しかし、3の倍数の時に「Fizz」、5の倍数の時に「Buzz」、3かつ5の倍数の時に「FizzBuzz」、それ以外の時に数を表示する。[問1]~[問5]に当てはまるものを解答群(1)~(10)から1つ選べ。1: 整数 i [問1] 5行目が5回実行されたときのiの値を答えよ2: i ← 1 [問2] 8行目が2回実行されたときのiの値を答えよ3: i < 101 の間, [問3] プログラムを実行すると「FizzBuzz」は何4: | もし i % 3 = 0 ならば 回表示されるか5: | | 「Fizz」 を改行なしで表示する [問4] プログラムを実行すると12行目は何回実行6: | を実行する されるか7: | もし i % 5 = 0 ならば [問5] 16行目を「 i ← i + 2 」に変更し実行す8: | | 「Buzz」 を改行なしで表示する ると,「FizzBuzz」は何回表示されるか9: | を実行する10: | もし i % 3 !=0 ならば11: | | もし i % 5 != 0 ならば12: | | | i を改行なしで表示する 選択肢13: | | を実行する (1) 3 (6) 1514: | を実行する15: | 「」 を表示する (2) 6 (7) 5016: | i ← i + 1 (3) 9 (8) 5117:を繰り返す (4) 10 (9) 52 (5) 12 (10) 53 26
  27. 27. 各問題の正解率設問 国際文化科 総合科学科 全体問1 72.1% 78.3% 74.8%問2 74.7% 82.5% 78.1%問3 65.6% 85.8% 74.5%問4 28.6% 47.5% 36.9%問5 41.6% 64.2% 51.5% 27
  28. 28. 国際文化科 0問 5問 5問中の正解数 13.0% 16.9% 1問 11.0% 4問 2問 26.6% 0問 16.9% 1問 8.0% 5問 3問 9.9% 23.0% 15.6% 総合科学科 2問 1問 0問13.9% 8.3% 1.7% 2問 5問 10.0% 30.8% 4問 3問 27.4% 3問 20.8% 17.9% 4問 28.3% 28
  29. 29. 次のプログラム1、プログラム2は1~xまで加算した結果を表示するプログラムである。[問6]~[問10]に当てはまるものを解答群(1)~(10)から1つ選べ。プ 1: 整数 i, x, s 選択肢ロ 2: 「数を入力:」 を改行なしで表示するグ 3: x ← input() (1) 0ラ 4: i ← [問6]ム (2) 11 5: i [問7] x の間, 6: | [問8] (3) s ← s + i 7: | i ← i + 1 (4) i ← i + s 8: を繰り返す 9: 「1~」とxと「の合計:」とsを表示する (5) = (6) > 1: 整数 i, x, sプロ 2: 「数を入力:」 を改行なしで表示する (7) <グ 3: x ← input()ラ 4: i ← [問9] (8) >=ム2 5: i [問10] x の間, (9) <= 6: | i ← i + 1 7: | [問8] (10) != 8: を繰り返す 29 9: 「1~」とxと「の合計:」とsを表示する
  30. 30. 各問題の正解率設問 国際文化科 総合科学科 全体問6 69.5% 86.7% 77.0%問7 49.4% 69.2% 58.0%問8 69.5% 80.0% 74.1%問9 37.0% 52.5% 43.8%問10 26.6% 40.0% 32.5% 30
  31. 31. 国際文化科 0問 5問 5問中の正解数 11.7% 7.8% 4問 1問 15.6% 9.7% 0問 5問 2問 24.7% 3問 1問 8.0% 15.7% 30.5% 8.4% 総合科学科 4問 1問 0問 2問 15.7% 6.7% 3.3% 5問 25.8%20.8% 2問 15.8% 4問 3問 15.8% 3問 31.4% 32.5% 31
  32. 32. 正の整数Nの約数をすべてもとめるプログラムである.[問11]~[問15]に当てはまるものを解答群(1)~(10)から1つ選べ.1: 整数 N, i 選択肢 (1) i <= N の間,2: 「整数入力:」 を改行なしで表示する (2) i を表示する3: N ← input() (3) もし N % i = 0 ならば4: i ← 1 (4) もし N / i = 0 ならば5: [問11] (5) もし N * i = 0 ならば6: [問12] (6) i ← I7: i を表示する (7) i ← i + 18: [問13] (8) N ← N + 19: [問14] (9) を繰り返す10: [問15] (10) を実行する 32
  33. 33. 各問題の正解率設問 国際文化科 総合科学科 全体問11 60.4% 76.7 % 67.5 %問12 38.3 % 50.0 % 43.4 %問13 6.5 % 16.7 % 10.9 %問14 15.6 % 18.3 % 16.8 %問15 27.3 % 44.2 % 34.7 % 33
  34. 34. 国際文化科 5問 4問 0問 2.6% 1.9%5問中の正解数 3問 21.4% 9.7% 2問 33.8% 5問 4問 1問 0問 6.6%2.6% 30.5% 18.6% 3問 11.3% 総合科学科 5問 0問 11.7% 15.0% 4問 1問 3.3% 3問25.5% 1問 13.3% 2問 19.2% 35.4% 2問 37.5% 34
  35. 35. テストの結果 プログラムを読み解く力  5問中4問以上正解が50.4% 繰り返し処理の理解度  プログラム1の正解率はおおむね良好  プログラム2の正解率は低い プログラムを作成する力  1問以下の正解が44.1% 35
  36. 36. まとめ 泉北高校の総合科学I、情報AでPENを用 いたプログラミング教育を行った 6時間程度の学習でも、プログラミングを読 み解く力をある程度得ることを確認 繰り返し処理の授業展開の工夫が必要 プログラム作成能力をつける工夫が必要 36
  37. 37. 今後。。。 繰り返し処理の説明を工夫  繰り返し処理を扱う時間数を増やす  身近にある繰り返しの処理を取り上げる 「何のために使うかわからない」という意見  身近にある問題を題材にした課題  プログラムを用いると便利な場面を見せる 37
  38. 38. 現在の取り組み 総合科学II(総合科学科 2年)  迷路を脱出するアルゴリズム(Excelのマクロ) 総合科学セミナー(総合科学科 3年)  ゲームにおける人工知能の研究(C言語)  iアプリのゲーム開発(Java言語)  自然な会話を行う人工無能の研究(C言語?) 38
  39. 39. 宣伝 PENの配布先  http://www.media.osaka-cu.ac.jp/PEN/ 授業資料、アンケート全文  http://pen.moe.hm/ 39

×