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.

[CE81] プログラミング入門教育用学習環境PEN (発表資料)

789 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

[CE81] プログラミング入門教育用学習環境PEN (発表資料)

  1. 1. プログラミング入門教育用学習環境 PEN大阪市立大学 大学院創造都市研究科 中村 亮太 / 松浦 敏雄大阪学院大学 情報学部 西田 知博
  2. 2. 背景 中学、高校、大学での情報処理教育 リテラシー中心 ↓プログラミング教育の重要性を認識している所もあるが  現実にはあまり実施されていない 習得が難しいと思われている 英語のような表現 ちょっとしたミスによる文法エラーの発生 習得に時間がかかってしまう
  3. 3. プログラミング教育の目標職業的なプログラマの養成 ×プログラミングとは何かを理解すること ○ここでの[プログラミング]学習とはルールに従ってプログラムを記述することの体験 知識状態や考え方を明確にする力をつけられる記述したプログラムを実際に動かしてみる コンピュータはプログラムの指示通りにしか動かないプログラムのデバッグ作業の体験 自ら発見するという学習そのものであり、 自立的な思考力を養える
  4. 4. 本研究の目的初学者向けプログラミング学習環境(PEN)の作成PENの特徴容易に理解できるプログラミング言語を採用 とっつきにくさの解消プログラム入力支援機能 プログラムを作成しやすくする工夫プログラム実行制御/状態表示機能 プログラムの実行を観察できる工夫
  5. 5. 初学者向けプログラミング学習環境 PEN
  6. 6. プログラミング言語入試用手順記述言語に準拠 DCNL : 試験用手順記述標準言語 大学入試センター 「情報関係基礎」 TUATLE : 試験用手順記述標準言語  東京農工大学の入試用記述言語 xDNCL 変数の宣言を追加 組み込み関数 ★日本語で表現されている ★付加的な説明がなくても理解できる
  7. 7. xDNCLの記述例 (BMI算出) 1: 実数 sintyo, taiju, bmi /* 変数の宣言 */ 2: 「身長を入力してください(cm)」 を印刷する 3: sintyo ← input() /* キーボードから入力 */ 4: 5: 「体重を入力してください(kg)」 を印刷する 6: taiju ← input() /* キーボードから入力 */ 7: 8: bmi ← taiju ÷ ( ( sintyo ÷ 100 ) × ( sintyo ÷ 100 ) ) 9:10: もし bmi < 20 ならば11: | 「痩せています」を印刷する12: を実行し,そうでなくもし bmi < 24 ならば13: | 「正常です」を印刷する14: を実行し,そうでなくもし bmi < 26.5 ならば15: | 「やや肥満です」を印刷する16: を実行し,そうでなければ17: | 「肥満です」を印刷する18: を実行する
  8. 8. プログラム入力支援機能日本語表記のプログラムを 間違わずに入力するのは難しいプログラムの入力を補助するための工夫 プログラム入力支援ボタン インデントの自動挿入
  9. 9. プログラム入力支援ボタン
  10. 10. プログラム入力支援ボタンのカスタマイズ支援ボタン定義ファイル: 初学者向け入力支援ボタン@48@204,204,204 もし~そうでなければ@12@140,220,200@もし ≪条件式≫ ならば<br> | <br>を実行し,そうでなければ<br> | <br>を実行する ~の間,繰り返す@12@180,220,200@≪条件式≫ の間,<br> | <br>を繰り返す 入力@6@255,255,204@≪変数≫ ← input() 出力@6@255,255,204@≪出力文≫ を印刷する 代入@6@255,255,204@≪変数≫ ← ≪式≫ 整数@6@255,204,255@整数 ≪変数≫ 表示例: 必要なボタンだけを配置することが可能
  11. 11. プログラムの実行制御/状態表示機能 実行制御ボタン 実行速度調節バー 状態表示ラベル実行箇所マーカー 変数表示画面
  12. 12. 評価入力支援機能の有効性を検証するための予備実験 プログラムソースを入力 入力支援ボタンを使用した場合 / 使用しなかった場合 被験者はキー操作、プログラミングに習熟した3名 2種類のプログラム(各25行)を入力実験には教育支援システム(SOLAR-CATS)に 組み込まれたPENを使用 キーやマウス操作の記録再生が行える (ご協力:鹿児島大学 山之上先生)
  13. 13. 操作記録の解析結果 Pr ogr a m1 Pr ogr a m2支援ボタン有無 無し 有り 無し 有り入力間違い箇所 2. 67 1. 33 0. 33 0. 33全入力時間( s ) 285 302 264 293マウス操作時間( s ) 3 55 0 33キー操作時間( s ) 216 120 200 148キー入力総数 1, 004 709 964 549消去打鍵数 58 72 52 43漢字キー打鍵数 55 26 49 19入力支援ボタン押回数 0 21 0 21入力支援ボタンによりキー入力数が減少 Program1 : 1,004 -> 709 (29.38%減) Program2 : 964 -> 549 (43.05%減)支援ボタンを使用しない方が速く入力できた 被験者全員がキー入力に習熟しているからタイプミスによる文法エラーの発生を 減らせる可能性があると思われる
  14. 14. 授業での使用例(1)大阪学院大学 情報学部 1回生を対象 (2005年度前期) プログラミング入門(座学) プログラミング演習 全13回のうち4回の講義および演習でPENを使用 C言語を学習する前に導入として使用 授業の最終日にアンケート調査
  15. 15. アンケート結果 (1)初めて使いましたがなかなか面白いものだと思いました。全てというわけではないですが、ある程度は解りました。日本語環境だったので、C言語よりわかりやすかった。まだ自分の力でできないので楽しさは、わかりません。楽しくなるようになったらいいなと思ってますプログラミング自体は、PENを使ってからの方が(何も知らない人間にした)わかりやすいかと思います。まず日本語でやり、その意味を理解してからでないといきなりC言語でプログラムを行っても、圧倒的に出来ない人の方が多いと思う。C言語をメインにやると思っていたためつまらなかった。
  16. 16. 授業での使用例 (2)大阪市立大学 2部学生を対象 (2005年度前期) 共通教育科目「情報処理 I」(全13回 180分/回) コンピュータリテラシーの習得を目的 HTML, 表計算, ワープロ ...etc... 最後の3回の授業でPENを使用(最後1回は自習) 昨年度まではLaTeXの使い方について演習していた 全授業終了後にアンケート調査 もっとも興味深かったものは何か? 全34人中12人がプログラミングと答えた
  17. 17. アンケート結果 (2)プログラミングをすることで、自分の都合のいいように問題を処理することができる楽しさを学んだ。プログラミングが全く出来なかったのに先週メールで提出したプログラムの課題や、今日のテストのプログラムが一人で出来て、エラーもなく実行できたので嬉しかったです。PENを使った作業は新鮮で面白かった。PENは本当におもしろかったと思う。パズルみたいだった
  18. 18. おわりに初学者向けプログラミング学習環境の作成入力支援ボタンの有効性を検証実際のプログラミング演習に使用今後の課題 言語仕様の拡張 関数呼び出し, グラフィカルな出力, ファイルI/O ...etc... プログラミング初学者に対して有効性の検証 プログラミング教育での使用経験を積み重ねるPENの配布 - http://lyen.mine.nu/index.cgi/Thesis

×