なでしこ』による プログラミング言語の導入

『なでしこ』による
プログラミング言語の導入
山口大学 情報科学教育課程
数理情報コース 野村ゼミ
井後 宏康 原 佑輔 松江 信太郎 吉末 千紘
1
研究動機
C言語を苦手とする学生が多い印象を受けた。
なぜ苦手なのか?
~仮説~
 英単語でプログラミングすることに抵抗を感
じるのではないか?
 初めて学ぶプログラミング言語として難易度
が高いのではないか?
2
アンケート内容
① C言語でのプログラミングが、好きですか?
□どちらかといえば好き。 □どちらかといえば嫌い。
② ①と答えた理由を書いてください。
[
]
③ C言語の命令文が、英単語であることに抵抗はあり
ましたか?
例 do, switch, int など
□抵抗があった。
□抵抗はなかった。
※対象人数39人
3
アンケート結果Ⅰ
①C言語でのプログラミングが好きですか?
好き
31%
12人
③C言語の命令文が英単語であることに
抵抗はありましたか?
27人
嫌い
69%
好き
嫌い
抵抗なし
54%
21人
抵抗あり
18人
抵抗あり
46%
抵抗なし
4
アンケート結果Ⅱ
抵抗がある人のC言語に対する感触
好き
22%
4人
C言語が嫌いな人の英単語表記
に対する抵抗
14人
嫌い
78%
好き
嫌い
抵抗なし
48%
13人
抵抗あり
14人
抵抗あり
52%
抵抗なし
5
アンケート結果Ⅲ
~どちらかといえば嫌い~










英語で書かないといけないから難しい
難しくてなかなか理解・マスターできない
将来的な必要性・利便性を知らないから
全くわからない・難しい・どうすれば良いか分からない
数学以外で、日常生活において利用する機会がない
どの命令文を使うのかの判断が難しい
命令文の中に命令文があると複雑になり分からなくなる
命令文の意味が複雑
覚えることが多すぎる
ポインタや配列が面倒・ポインタがうまく使えない
6
アンケート結果Ⅳ
~どちらかといえば好き~
 プログラムを作成して、実行できたときうれしい・達成感
 難しい計算が解ける
 自分で考えて作る(プログラム作成)のが楽しい・おもしろ
い
 パソコンが好きだから
 どうすれば良いのか、なぜそうするのか考えることが面
白い
 エラーになっても修正することに面白さを感じる
7
アンケート結果の考察
 英単語での表記でなければ、プログラミングが
嫌いだと感じる学生を減らすことができるのでは
ないか
 もっとプログラミングの面白さ、利便性が感じら
れる教材による、学習支援をすることが必要で
ある
 日本語プログラミング言語によるプログラミング
学習の導入
 Web教材を作成
8
日本語プログラミング言語の歴史
 1980年代後半(第1世代)
「和漢」「日本語ベーシック」「MIND」
↓
 1990年代
日本語プログラミング言語の暗黒期
↓
 2000年前後(第2世代)
「なでしこ」「ひまわり」「言霊」「TTSneo」
9
『なでしこ』の選択理由
 現在市場でNo.1シェア
→将来的に役立つ
 ビジネスユースを目的にDelphiの処理速度と豊
富な機能を生かしてつくられている
→実用性や利便性を感じられる
 自然な日本語を使ってプログラムが作れる
→英単語に抵抗があるという問題を解決
 文法が単純で敷居が低くプログラミング入門に
最適
→C言語よりも簡単
10
C言語と比較
なでしこ
C言語
○
×
実行可能
実行不可能
記述形式は類似している
11
C言語より簡単な理由
☆C言語では・・・
 「おまじない」が必要
『なでしこ』:ヘッダのインクルードなどが不必要
#include <stdio.h>
 型の認識(知識)が必要(型の例:int
, double)
『なでしこ』:基本的には型を意識する必要はない
int main(void)
{
 英単語表記
命令文
return(0);
『なでしこ』:日本語表記
}
12
Web教材作成にあたって
IBM 「ホームページ・ビルダー
学割版」を利用
~利用理由~
 研究はあくまで「なでしこ」
 HP作成に関して初心者
 HTMLを学ぶ時間を削減
 使いやすく、認知度が高い
 比較的安価
13
Web教材について
 作成ページ 21ページ
 ページ内容
☆ENTER
★TOP
☆研究員(作成者)の紹介・作成目的
★『なでしこ』の使い方
(第1章~第6章,演習問題,解答例,辞書,おまけ)
14
第1章~第6章とおまけの内容
 第1章・・・実行方法,演算,変数
 第2章・・・分岐,入れ子
 第3章・・・繰り返し
 第4章・・・配列,ハッシュ
 第5章・・・反復,反復+ハッシュ
 第6章・・・ゲーム作成
 おまけ・・・研究員が作成したゲームなど
15
Web教材の特徴
 実際にユーザーが目にする操作画面や、実行結果を
掲載
 マニュアル内のさまざまな用語や命令についての解説
を一覧の形式で作成、各章にリンクを作成
 各章ごとに小テストを作成
・穴埋め式の選択問題
・ユーザーが『なでしこ』を実際に起動させてプログラムを作成
する問題(解答例・解説付)
 『なでしこ』で作成したゲームなどを掲載
 実用的な、ファイルの「圧縮」や「バックアップ」なども可
能であることを紹介するページを作成
16
まとめ
「C言語→なでしこ」の順で学んでみて・・・
 シンプルな記述に、多少抵抗を感じる
「なでしこ→C言語」の順で学習ができたら ・・・
 初心者の間は細かいことを難しく考える必要がない
 プログラミングの基礎・基本や流れを理解しやすい
 プログラミングへの抵抗が減り、C言語をスムーズに
学習できる
17
今後の課題
 プログラミング経験のない学生に取り組ん
でもらい、効果を実証する
 小テストの問題数を増やす
 各命令などにおいて、C言語との関連を説
明するページの作成
18
参考文献
[1]『日本語プログラミング言語「なでしこ」』:
<http://www.nadesi.com/>
[2]柴田望洋:新版 明解C言語 入門編,2005
[3]『大学学部等におけるソフトウェアエンジニアリング教育・訓練カリキュラムモ
デル例』:
<http://www.ipsj.or.jp/12kyoiku/J07/J0731/397SEmodel_jpn1.pdf#search='大学学部におけるソフトウェアエンジニアリン
グ教育・訓練カリキュラム' >,情報処理学会,2007.12.28アクセス
[4]『日本語プログラミング言語、およそ20年の歴史と今後』:
<http://www.sciencehouse.jp/etc/research/20050604jpphistory2.pdf>
2007.12.28アクセス
[5]『ホームページの作成方法』:
<http://www.ube-c.ac.jp/~egi/homepage18.html>
2007.12.28アクセス
[6]『ホームページビルダーとは?』:
<http://seo.kawahara-office.com/builder/builder.html>2008.01.17アクセス
19