SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
プログラミング入門教育用学習環境 PEN



大阪市立大学 大学院創造都市研究科
         中村 亮太 / 松浦 敏雄
大阪学院大学 情報学部 西田 知博
背景
   中学、高校、大学での情報処理教育
        リテラシー中心

             ↓

プログラミング教育の重要性を認識している所もあるが 
           現実にはあまり実施されていない
  習得が難しいと思われている
   英語のような表現
   ちょっとしたミスによる文法エラーの発生
 習得に時間がかかってしまう
プログラミング教育の目標
職業的なプログラマの養成 ×
プログラミングとは何かを理解すること ○

ここでの[プログラミング]学習とは
ルールに従ってプログラムを記述することの体験
 知識状態や考え方を明確にする力をつけられる
記述したプログラムを実際に動かしてみる
 コンピュータはプログラムの指示通りにしか動かない
プログラムのデバッグ作業の体験
 自ら発見するという学習そのものであり、
               自立的な思考力を養える
本研究の目的
初学者向けプログラミング学習環境(PEN)の作成

PENの特徴
容易に理解できるプログラミング言語を採用
  とっつきにくさの解消
プログラム入力支援機能
  プログラムを作成しやすくする工夫
プログラム実行制御/状態表示機能
  プログラムの実行を観察できる工夫
初学者向けプログラミング学習環境 PEN
プログラミング言語

入試用手順記述言語に準拠
 DCNL : 試験用手順記述標準言語
   大学入試センター 「情報関係基礎」
 TUATLE : 試験用手順記述標準言語 
   東京農工大学の入試用記述言語

 xDNCL
   変数の宣言を追加
   組み込み関数

 ★日本語で表現されている
 ★付加的な説明がなくても理解できる
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:   を実行する
プログラム入力支援機能
日本語表記のプログラムを
    間違わずに入力するのは難しい



プログラムの入力を補助するための工夫
 プログラム入力支援ボタン
 インデントの自動挿入
プログラム入力支援ボタン
プログラム入力支援ボタンのカスタマイズ
支援ボタン定義ファイル:
 初学者向け入力支援ボタン@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@整数 ≪変数≫

 表示例:




 必要なボタンだけを配置することが可能
プログラムの実行制御/状態表示機能
           実行制御ボタン   実行速度調節バー   状態表示ラベル




実行箇所マーカー




                         変数表示画面
評価
入力支援機能の有効性を検証するための予備実験
 プログラムソースを入力
   入力支援ボタンを使用した場合 / 使用しなかった場合
 被験者はキー操作、プログラミングに習熟した3名
 2種類のプログラム(各25行)を入力


実験には教育支援システム(SOLAR-CATS)に
            組み込まれたPENを使用
 キーやマウス操作の記録再生が行える
             (ご協力:鹿児島大学 山之上先生)
操作記録の解析結果
                     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%減)
支援ボタンを使用しない方が速く入力できた
  被験者全員がキー入力に習熟しているから

タイプミスによる文法エラーの発生を
    減らせる可能性があると思われる
授業での使用例(1)
大阪学院大学 情報学部 1回生を対象 (2005年度前期)
 プログラミング入門(座学)
 プログラミング演習
   全13回のうち4回の講義および演習でPENを使用
     C言語を学習する前に導入として使用


 授業の最終日にアンケート調査
アンケート結果 (1)
初めて使いましたがなかなか面白いものだと思いました。

全てというわけではないですが、ある程度は解りました。

日本語環境だったので、C言語よりわかりやすかった。

まだ自分の力でできないので楽しさは、わかりません。楽しくなるようになっ
たらいいなと思ってます

プログラミング自体は、PENを使ってからの方が(何も知らない人間にした)
わかりやすいかと思います。まず日本語でやり、その意味を理解してからで
ないといきなりC言語でプログラムを行っても、圧倒的に出来ない人の方が
多いと思う。



C言語をメインにやると思っていたためつまらなかった。
授業での使用例 (2)
大阪市立大学 2部学生を対象 (2005年度前期)
 共通教育科目「情報処理 I」(全13回 180分/回)
   コンピュータリテラシーの習得を目的
    HTML, 表計算, ワープロ ...etc...


   最後の3回の授業でPENを使用(最後1回は自習)
    昨年度まではLaTeXの使い方について演習していた


   全授業終了後にアンケート調査
    もっとも興味深かったものは何か?
      全34人中12人がプログラミングと答えた
アンケート結果 (2)
プログラミングをすることで、自分の都合のいいように問題を処理す
ることができる楽しさを学んだ。


プログラミングが全く出来なかったのに先週メールで提出したプログ
ラムの課題や、今日のテストのプログラムが一人で出来て、エラーも
なく実行できたので嬉しかったです。


PENを使った作業は新鮮で面白かった。PENは本当におもしろかった
と思う。パズルみたいだった
おわりに
初学者向けプログラミング学習環境の作成
入力支援ボタンの有効性を検証
実際のプログラミング演習に使用

今後の課題
  言語仕様の拡張
     関数呼び出し, グラフィカルな出力, ファイルI/O ...etc...
  プログラミング初学者に対して有効性の検証
  プログラミング教育での使用経験を積み重ねる


PENの配布 - http://lyen.mine.nu/index.cgi/Thesis

Más contenido relacionado

Destacado

[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
Ryota Nakamura
 
наталья никулина екатеринбург
наталья никулина екатеринбургнаталья никулина екатеринбург
наталья никулина екатеринбург
nikulina13
 
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & CrowdfundingCollaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Laura Amole
 
социальные сервисы для 226
социальные сервисы для 226социальные сервисы для 226
социальные сервисы для 226
nikulina13
 
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
Ryota Nakamura
 

Destacado (20)

[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
[CE94] 高等学校での「プログラミング」教育の導入– PEN を用いて (発表資料)
 
表計算
表計算表計算
表計算
 
[xDNCL] 配布資料
[xDNCL] 配布資料[xDNCL] 配布資料
[xDNCL] 配布資料
 
[xDNCL] 導入資料
[xDNCL] 導入資料[xDNCL] 導入資料
[xDNCL] 導入資料
 
[Basic] 提示資料
[Basic] 提示資料[Basic] 提示資料
[Basic] 提示資料
 
наталья никулина екатеринбург
наталья никулина екатеринбургнаталья никулина екатеринбург
наталья никулина екатеринбург
 
Global issues bio
Global issues bioGlobal issues bio
Global issues bio
 
Collaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & CrowdfundingCollaboration of the Masses: Crowdsourcing & Crowdfunding
Collaboration of the Masses: Crowdsourcing & Crowdfunding
 
10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee10 lessons on how to position your agency for growth by Karla Morales-Lee
10 lessons on how to position your agency for growth by Karla Morales-Lee
 
[xDNCL] 掲示資料
[xDNCL] 掲示資料[xDNCL] 掲示資料
[xDNCL] 掲示資料
 
ковка4
ковка4ковка4
ковка4
 
[Basic] 配布資料
[Basic] 配布資料[Basic] 配布資料
[Basic] 配布資料
 
文書処理
文書処理文書処理
文書処理
 
Global issues bio
Global issues bioGlobal issues bio
Global issues bio
 
[Basic] 導入資料
[Basic] 導入資料[Basic] 導入資料
[Basic] 導入資料
 
Tiacalapowerpoint
TiacalapowerpointTiacalapowerpoint
Tiacalapowerpoint
 
Pelan strategik lengkap
Pelan strategik lengkapPelan strategik lengkap
Pelan strategik lengkap
 
социальные сервисы для 226
социальные сервисы для 226социальные сервисы для 226
социальные сервисы для 226
 
You are here, content strategy
You are here, content strategy You are here, content strategy
You are here, content strategy
 
[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN[CE81] プログラミング入門教育用学習環境PEN
[CE81] プログラミング入門教育用学習環境PEN
 

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

競技プログラミングのススメ
競技プログラミングのススメ競技プログラミングのススメ
競技プログラミングのススメ
Takahiro Yano
 

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

Enshu1
Enshu1Enshu1
Enshu1
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会
 
po-1. プログラミング入門
po-1. プログラミング入門po-1. プログラミング入門
po-1. プログラミング入門
 
IT魔導の書 ~ Grimoire du IT
IT魔導の書 ~ Grimoire du ITIT魔導の書 ~ Grimoire du IT
IT魔導の書 ~ Grimoire du IT
 
DATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 TurorialDATUM STUDIO PyCon2016 Turorial
DATUM STUDIO PyCon2016 Turorial
 
20120416 3年後のeラーニング予想大会 中嶋さん
20120416 3年後のeラーニング予想大会 中嶋さん20120416 3年後のeラーニング予想大会 中嶋さん
20120416 3年後のeラーニング予想大会 中嶋さん
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理Microsoft Intune を用いたパッチ管理
Microsoft Intune を用いたパッチ管理
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
実験心理学者のためのPython
実験心理学者のためのPython実験心理学者のためのPython
実験心理学者のためのPython
 
20201128 Power Automate
20201128 Power Automate20201128 Power Automate
20201128 Power Automate
 
Performance tuning the first
Performance tuning the firstPerformance tuning the first
Performance tuning the first
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
 
競技プログラミングのススメ
競技プログラミングのススメ競技プログラミングのススメ
競技プログラミングのススメ
 
C言語 学習教材
C言語 学習教材C言語 学習教材
C言語 学習教材
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlow
 
GTMF 2017:Unityプロファイリングマニアクス ユニティ・テクノロジーズ・ジャパン合同会社
GTMF 2017:Unityプロファイリングマニアクス ユニティ・テクノロジーズ・ジャパン合同会社GTMF 2017:Unityプロファイリングマニアクス ユニティ・テクノロジーズ・ジャパン合同会社
GTMF 2017:Unityプロファイリングマニアクス ユニティ・テクノロジーズ・ジャパン合同会社
 

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