とど小屋

小ネタと駄日記なページ

プログラミングと小さな子への伝言メモ

2011-12-12 10:48:52 | 寝言
また長期間放置してしまった.反省,反省.

-----------------------------------------------------------

プログラミングの教育について,相変わらず試行錯誤している.


プログラム言語の記述書式についての説明はやっているし,

個別にわかりにくい箇所の質問があれば対応しているが

いまいち,「プログラミング」を教えている気がしない.


所詮,プログラミングは自分で身に着けるものだから,

コード書かせないとダメですよ,という先生方も多いのだけど

それは教官側の世代だから可能だったことかもしれない.


ともかく,「自分でプログラムを書く」というハードルが高く

プログラミング言語を学んでも,それを活かす前に忘却して

4年生になって研究室配属したら「プログラム書けません」

となってしまう子がとても多い.


教育側として,特に成績云々に関わりの無い立場として,

もっと気軽に質問してくれても答える準備はあるのだけど

どう質問して良いのかも掴めない様子だ.

----------------------------------------------------------

一つ,暖めている考えがあって,それは「プログラミングとは

PCに対して『小さい子への伝言メモ』でやって欲しいことを

伝えるようなものだ」という抽象的なイメージを持たせてみたら

どうなんだろうか,というものだ.


つまり,PCは大人のような(人間のような)お約束や常識などに

捕われない,書かれていることの理解できる単語をそのまま

読み取って,書かれている通りに実行する,という感覚だ.


もう一つ言えば,相手(PC側)が理解できる言葉で説明してあげないと

うまく意図が伝わらないということでもある.


良く学生は「どんなことをさせればよいのか」という質問には

答えられても,「どうやって実行させれば良いのか」という

段階になって止まってしまう.


その辺りで,「大人への,通常の日本語感覚での意思疎通」ではなくて

「PCという小さい子のような相手に対して,どういう表現であれば

理解できて,そしてこちらがやって欲しいことを実現できるのか」

という置き換えをどう行っていくのか,という視点を持つことが

プログラミングの勘所なのではないだろうか.


コンパイルエラーが意味がわかりにくいとか,変な指示を出すと

暴走したり黙り込んだり(=フリーズ)するところとか,なんとなく

小さな子のような気がしませんかね.


そういう子に,直接手足を出すことができないけど,いろいろな

メモを手渡して何か手伝ってもらう,というイメージがあれば

プログラミングとはどういうものでどう考えるのか理解の足しに

なれば良いとは思う.


あー,まあ巨大なシステム開発のプログラミングでは,このような

例はあまり当てはまらないかもしれないけど,少なくとも大学の

プログラム演習講義レベルでは,ということで.

最新の画像もっと見る

5 コメント

コメント日が  古い順  |   新しい順
Unknown (kalu)
2012-01-10 14:39:35
プログラムにとっつき難い人に対する
初歩のアプローチとしては面白いですね

赤ん坊という例えが妥当かはちょっとアレですが
「まっすぐ進め」と命令したら
壁があろうと崖が待っていようと進むので
どうすれば良いかはプログラマが
ちゃんと示す必要がある
って感じですかね?

ただ、継続するモチベーションに関しては
別の考え方が必要かな?と思う
初歩の初歩ですが (とど)
2012-01-11 15:30:57
なかなか維持するレベルまでも
持ち上げられないのですよ.

4年生になって研究室に配属
されて慌ててプログラミング
再勉強するような学生が多いので.
ああ・・それなら・・ (kalu)
2012-01-17 16:40:30
ココにいますw
再勉強というかなんというか (とど)
2012-01-19 11:16:44
<ココにいます
 いやいや、ある程度知識や考え方などが
備わっていて、その上にその言語固有の
文法なり約束事なりを覚える程度ではなくて、
本当に1からやりなおしな子が多いのですよ。

 そういう意味では教育機関としてちゃんと
した教育が出来ていないと指摘されても
仕方ないような状況なんですわ。
Unknown (kalu)
2012-05-17 12:36:05
興味深いエントリーがありました
元の論文は知りませんでした

http://cpplover.blogspot.jp/2012/05/60.html
> 60%の人間はプログラミングの素質がない

(注意)
「プログラムを学ぶ環境」にあるだけでフィルタがかかっているので
統計情報としてどう扱うかはエントリーだけでは判断できませんでした

コメントを投稿