39
1 高等学校での「プログラミング」 教育の導入 - PENを用いて 大阪府立泉北高等学校 中村 亮太 大阪学院大学 情報学部 西田 知博 大阪市立大学 大学院創造都市研究科 松浦 敏雄

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

Embed Size (px)

Citation preview

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

1

高等学校での「プログラミング」教育の導入 - PENを用いて

大阪府立泉北高等学校 中村 亮太

大阪学院大学 情報学部 西田 知博

大阪市立大学 大学院創造都市研究科 松浦 敏雄

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

2

情報教育の目標

現在の情報教育は…

情報教育≒計算機操作習得

お絵かき, 文書処理, 表計算 …etc…

目指すべき情報教育

「手続き的な自動処理の理解」

情報処理学会日本の情報教育・情報処理教育に関する提言 2005 (情報処理学会)

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

3

プログラミングを学ぶと

知識状態や考え方を明確にする力がつく

自立的な思考力を養うことができる

自ら問題を発見し、対処する力を養える

計算機はプログラムの指示通りに動作していることを学べる

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

4

既存言語でプログラミング教育を…

プログラム言語のとっつきにくさ

英語のような表現

言語仕様の複雑さ

文法エラーの発生

ちょっとした入力ミスで発生する

実行時エラーの対処の難しさ

プログラミング初学者ではデバッグが困難

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

5

初学者向けプログラミング学習環境 PEN

PENの特徴

容易に理解できるプログラミング言語を採用

とっつきにくさの解消

プログラム入力支援機能

プログラムを作成しやすくする工夫

プログラム実行制御/状態表示機能

プログラムの実行を観察できる工夫

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

6

PENを使っての授業

多くの大学/高校で使用 大阪大学

京都ノートルダム女子大学

千里金蘭大学

大阪市立大学

大阪学院大学/高校

名古屋高校

などなど…

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

7

大阪府立泉北高等学校

国際文化科

国際理解の学習中心

各学年4クラス

各クラスは40人前後

情報A

1年1単位

2年1単位

総合科学科

理数系の学習中心

各学年4クラス

各クラス40人前後

総合科学I(39期以降)

1年2単位

情報A

1年1単位

2年1単位

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

8

総合科学 (39期生以降)

スーパーサイエンスハイスクール 総合科学I(1年次2単位)

情報機器操作の習得

プレゼンテーション能力の向上

論理的思考の育成

総合科学II(2年次1単位) 与えられた課題を解決する能力の育成

総合科学III(3年次2単位) 自ら研究テーマを設定し解決する能力の育成

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

9

総合科学科1年 総合科学I

年間約45回(65分/回) 校外研修発表

自由課題発表

表計算

文書処理

PENを用いたプログラミング教育 7,9月の計6回

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

10

授業構成

1回目 出力命令、変数と代入文

2回目 変数に代入されている値の入れ替え

3回目 条件分岐、2分岐の条件分岐

4回目 ランダムな数

5回目 範囲指定の加算型繰り返し命令

6回目 グラフの描画、描画命令

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

11

各授業の進め方

例題を生徒に入力させる

プログラム実行させる

掲示用画面にて命令を説明

各自で課題に取り組んでもらう

1: 整数 tasu 2: tasu ← 5 + 10 3: tasu を表示する

例題 データ型が整数の x, y の2つの変数を宣言し、x に 9, y に 12 を代入せよ。また、その x と y を加算した結果を tasu に代入せよ。

課題

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

12

授業は面白かったか

0% 20% 40% 60% 80% 100%

1回目

2回目

3回目

4回目

5回目

6回目

とても面白かった どちらかと言うと面白かった

どちらかというと面白くなかった 面白くなかった

1回目 出力命令、変数と代入文

2回目 変数に代入されている値の入れ替え

3回目 条件分岐、2分岐の条件分岐

4回目 ランダムな数

5回目 範囲指定の加算型繰り返し命令

6回目 グラフの描画、描画命令

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

13

授業の理解度

0% 20% 40% 60% 80% 100%

1回目

2回目

3回目

4回目

5回目

6回目

理解できた だいたい理解できたと思う

あまり理解できていないともう ほとんど理解できなかった

1回目 出力命令、変数と代入文

2回目 変数に代入されている値の入れ替え

3回目 条件分岐、2分岐の条件分岐

4回目 ランダムな数

5回目 範囲指定の加算型繰り返し命令

6回目 グラフの描画、描画命令

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

14

感想(肯定的な意見)

自分でプログラムを作成するとコンソール画面に表示されるのが凄いと思った。難しいけど楽しい。

とても楽しかったです。また機会があれば是非やりたいと思います。余談かもしれませんが、パソコンでこんなに数学的にできるとは思いませんでした。

まだまだ簡単なことしかしていないので、もっと難しいことをしてみたいと思います。あと理解するのは難しかったけど、理解できたときの喜びは大きかった。

難しい問題が増えてきて、解くのに時間がかかったけど、それが解けたときの喜びが大きかったです。面白かったです。

パソコン相手に、これほど細かい命令を、自分自身でできたので、とても楽しかった。できることは知っていても、自分でできる機会があるとは思ってなかったので、いい勉強になった。

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

15

感想(否定的な意見)

何のために使うかわかりません。

一文字でも間違ったらダメなので疲れた

半角、全角のミスが多かった

ややこしい。すごく難しい。

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

16

評価

生徒の興味・関心をある程度惹くことができた

理解度はおおむね良好だった

5回目の授業(繰り返し)

「理解できた」+「だいたい理解できた」の合計が 44.7% と低い

課題の難易度や時間数について検討が必要

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

17

教材の再作成

導入部分の強化 プログラミングの重要性

フローチャートを記述させる 考えを整理させる

課題の再考 身近にある問題を追加

掲示資料の作成 アニメーションを用いた資料

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

18

国際文化/総合科学科 2年 情報A

年間約21回(65分/回) 文書処理

メディアについて

Webページ作成

表計算

PENを用いたプログラミング教育 12~2月の計5, 6回

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

19

授業構成

1回目 出力命令、変数と代入文

2回目 変数に代入されている値の入れ替え

3回目 条件分岐、2分岐の条件分岐

4回目 条件分岐の入れ子構造

5回目 繰り返し命令

6回目 特別課題

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

20

各授業の進め方

例題を生徒に入力させる

プログラム実行させる

掲示用画面にて命令を説明

各自で課題に取り組んでもらう

1: 整数 tasu 2: tasu ← 5 + 10 3: tasu を表示する

例題 データ型が整数の x, y の2つの変数を宣言し、x に 9, y に 12 を代入せよ。また、その x と y を加算した結果を tasu に代入せよ。

課題

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

21

変数とは

コンピュータ上で値を保存しておく場所

変数は自由名前をつけることが可能

1文字目 :半角英字

2文字目以降:半角英数字

x hako RX8

10 42 0

掲示資料

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

22

+ 52 a

42 10

b

代入とは

変数に値を格納すること

a ←

a b c

10

b ← 30 + 12 42

d

c ←

10

42

52

d ← input()

13 13

掲示資料

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

23

練習問題2

1: 整数 tasu

2: tasu ← 5 + 10

3: tasu を表示する 5 + 10 = 15

tasu

15

掲示資料

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

24

後期期末考査 情報A

解答選択式

HTML : 10問 (10点)

カラーコード : 10問 (10点)

表計算 : 20問 (40点)

プログラミング : 15問 (40点)

平均点

国際文化科 : 45.7点

総合科学科 : 54.7点

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

25

プログラミングの問題

プログラムを読み解く力 FizzBuzz問題

繰り返し処理の理解度 同様の処理を行うプログラム2種類

プログラムを作成する力 プログラムの大部分を穴埋め

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

26

次のプログラムは1~100までの数を表示するものである。 しかし、3の倍数の時に「Fizz」、5の倍数の時に「Buzz」、3かつ5の倍数の時に「FizzBuzz」、それ以外の時に数を表示する。[問1]~[問5]に当てはまるものを解答群(1)~(10)から1つ選べ。

1: 整数 i 2: i ← 1 3: i < 101 の間, 4: | もし i % 3 = 0 ならば 5: | | 「Fizz」 を改行なしで表示する 6: | を実行する 7: | もし i % 5 = 0 ならば 8: | | 「Buzz」 を改行なしで表示する 9: | を実行する 10: | もし i % 3 !=0 ならば 11: | | もし i % 5 != 0 ならば 12: | | | i を改行なしで表示する 13: | | を実行する 14: | を実行する 15: | 「」 を表示する 16: | i ← i + 1 17:を繰り返す

[問1] 5行目が5回実行されたときのiの値を答えよ [問2] 8行目が2回実行されたときのiの値を答えよ [問3] プログラムを実行すると「FizzBuzz」は何

回表示されるか [問4] プログラムを実行すると12行目は何回実行

されるか [問5] 16行目を「 i ← i + 2 」に変更し実行す

ると,「FizzBuzz」は何回表示されるか

選択肢

(1) 3 (6) 15

(2) 6 (7) 50

(3) 9 (8) 51

(4) 10 (9) 52

(5) 12 (10) 53

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

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%

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

28

5問中の正解数

5問23.0%

4問27.4%3問

17.9%

2問13.9%

1問9.9%

0問8.0%

国際文化科

5問16.9%

4問26.6%

3問15.6%

2問16.9%

1問11.0%

0問13.0%

総合科学科

5問30.8%

4問28.3%

3問20.8%

2問10.0%

1問8.3%

0問1.7%

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

29

次のプログラム1、プログラム2は1~xまで加算した結果を表示するプログラムである。[問6]~[問10]に当てはまるものを解答群(1)~(10)から1つ選べ。

1: 整数 i, x, s 2: 「数を入力:」 を改行なしで表示する 3: x ← input() 4: i ← [問6] 5: i [問7] x の間, 6: | [問8] 7: | i ← i + 1 8: を繰り返す 9: 「1~」とxと「の合計:」とsを表示する

選択肢

(1) 0

(2) 1

(3) s ← s + i

(4) i ← i + s

(5) =

(6) >

(7) <

(8) >=

(9) <=

(10) !=

1: 整数 i, x, s 2: 「数を入力:」 を改行なしで表示する 3: x ← input() 4: i ← [問9] 5: i [問10] x の間, 6: | i ← i + 1 7: | [問8] 8: を繰り返す 9: 「1~」とxと「の合計:」とsを表示する

プログラム1

プログラム2

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

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%

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

31

5問中の正解数

5問15.7%

3問31.4%

2問20.8%

1問8.4%

0問8.0%

4問15.7%

国際文化科5問7.8%

4問15.6%

3問30.5%

2問24.7%

1問9.7%

0問11.7%

総合科学科

5問25.8%

4問15.8%

3問32.5%

2問15.8%

1問6.7%

0問3.3%

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

32

正の整数Nの約数をすべてもとめるプログラムである. [問11]~[問15]に当てはまるものを解答群(1)~(10)から1つ選べ.

1: 整数 N, i

2: 「整数入力:」 を改行なしで表示する

3: N ← input()

4: i ← 1

5: [問11]

6: [問12]

7: i を表示する

8: [問13]

9: [問14]

10: [問15]

選択肢

(1) i <= N の間,

(2) i を表示する

(3) もし N % i = 0 ならば

(4) もし N / i = 0 ならば

(5) もし N * i = 0 ならば

(6) i ← I

(7) i ← i + 1

(8) N ← N + 1

(9) を繰り返す

(10) を実行する

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

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 %

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

34

5問中の正解数

5問6.6%

4問2.6%

3問11.3%

2問35.4%

1問25.5%

0問18.6%

国際文化科5問2.6%

2問33.8%

1問30.5%

0問21.4%

4問1.9%

3問9.7%

総合科学科

5問11.7%

4問3.3%

3問13.3%

2問37.5%

1問19.2%

0問15.0%

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

35

テストの結果

プログラムを読み解く力

5問中4問以上正解が50.4%

繰り返し処理の理解度

プログラム1の正解率はおおむね良好

プログラム2の正解率は低い

プログラムを作成する力

1問以下の正解が44.1%

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

36

まとめ

泉北高校の総合科学I、情報AでPENを用いたプログラミング教育を行った

6時間程度の学習でも、プログラミングを読み解く力をある程度得ることを確認

繰り返し処理の授業展開の工夫が必要

プログラム作成能力をつける工夫が必要

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

37

今後。。。

繰り返し処理の説明を工夫

繰り返し処理を扱う時間数を増やす

身近にある繰り返しの処理を取り上げる

「何のために使うかわからない」という意見

身近にある問題を題材にした課題

プログラムを用いると便利な場面を見せる

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

38

現在の取り組み

総合科学II(総合科学科 2年)

迷路を脱出するアルゴリズム(Excelのマクロ)

総合科学セミナー(総合科学科 3年)

ゲームにおける人工知能の研究(C言語)

iアプリのゲーム開発(Java言語)

自然な会話を行う人工無能の研究(C言語?)

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

39

宣伝

PENの配布先

http://www.media.osaka-cu.ac.jp/PEN/

授業資料、アンケート全文

http://pen.moe.hm/