コンピュータ演習 : プログラムの作成 : 1996年度

次のような意見が届きました。 名前を伏せて紹介させていただきます。 あわせてわたしの反論を少し(たくさん(^^;)。


意見-1

夏休み前にお話したように、今回のこの授業ではパソコンの基本的な使い方をほとんど 知らない学生ばっかりなので、いきなりプログラムをやるというのはまずかったと思い ます。確かに去年の共通教育でC言語に付いてやりましたがその時もプログラムについ て理解できていた学生はほとんど以内と思います。実際にその結果がレポートの数で出 てきたと思います。なのでもし来年度もプログラムについてやるならば、本当の基本か ら始めればいいと思います。基本となる操作方法、短いプログラム(例えば九九のプロ グラム;このくらいまでレベルを下げて)を例にして命令文の説明などからやればいい と思います(時間の関係もあると思いますが)。僕の周りでは命令文の役割はわかって いるけれども、プログラムの文法がわからずプログラムを書けなかったという学生もい ます。なのでプログラムをやるなら時間をしっかりとってやるか、思い切って削除する かのどちら化のどちらかと思います。

((以下signatureは略))

反論-1

(a) 共通教育で行なった内容が身に付いていないのは残念です。 しかし、以前に習った(はず)のことを前提にしないと、授業は組み立てられません。 すなわち毎回ゼロからのスタートでは、 いつまでたっても先へ進めないのではないでしょうか。 過去の蓄積に基づいて先への道を進むのは、自然科学の基本でもあると思います。

(b) また「いきなりプログラミング」でもなく、 ワープロや電子メールをやったあとであり、 キーボードやファイルの取扱いはある程度わかるものだと期待していました。 そのほかに必要とされるものは、日常的な「計画を立てる能力、 段取りをつける能力、手順を考える能力」だけだと思うのですが。

(c) この時間では、特定のプログラム言語の習得を目指しませんでした。 これは例えば、英語仏語日本語を問わずコミュニケーションができればよい、 との発想に基づいています。 われわれがやりたいのは「化学の問題を解決すること」のはずだと考えたからです。

(d) 「そうは言っても全くの白紙では、 どこから手を付けていいかもわからないだろう」 との予想から、プリントには簡単なc言語によるプログラムの例を示しました。 ここで用いた文法の要素は、「逐次実行する、繰り返す、条件により実行する」 だけのつもりでした。 そして課題としては、本質的には「計算式を別な物に置き換え」ればよいものの つもりだったのですが、 それでも難しすぎるというのでしょうか?

(e) 「コンピュータで計算したから結果は正しいはず」などと誤解しないために、 プログラムをブラックボックスとして過信しないために、 ``プログラムの作成''を削除するのは反対です。 正当な理由無く結果を天下りに信用するのは、 自然科学へとりくむ態度としてふさわしくありません。
# ちなみに、入力データの誤りや計算式の誤りにより、コンピュータでの計算は 期待した結果を出さない可能性があります。 ここで注意して欲しいのは、計算自体は正しいのであって、 ただそれが利用者の期待にそぐわなかった、というだけの事です。 (原因はおわかりですね?)


意見-2

自学が大事というのは正論だが、なんら手ほどきもせずに無理難題をふっかけるだけというのもどうかと思う。これでは授業の意味がないのでは。もう少し順を追った課題もしくは授業にしてほしい。

反論-2

(a) どのへんがどのように「無理難題」なのか、 具体的に指摘していただけるとありがたいです。

(b) この時間は演習・実習であり、受講した学生本人が手を動かす事が基本です。 またコンピュータのような道具は、話(講義)を聞くだけではだめで、 実際に使ってみる事で始めて使えるようになるものだと思います。
# 話を聞くことではコンピュータが使えるようにならないと、言い切ってはいません。 補助的な手段の一つとしては有効でしょう。 しかし、せっかく触れることができる環境にあるのだから...

(c) (1-b)の意味で、全くの初心者を相手にプログラムの作成を強要したつもりは ありませんでした。 あとは常識があれば(手順を考えることができれば)難しい事ではないと期待しました。 また、(1-d)に述べたようなつもりの課題設定だったので、 「順を追って」といわれても、これ以上細分化できるようには思えないのです。
# 重箱の隅をつつくような細かい文法知識を要求するよりは、 大局的な見方を身に付けて欲しいと思いました。 「変数xの値を1増やす」のに、x=x+1,x+=1,x++,++xのどれであっても大差は無いと 思います。むしろ問題解決の手順のある段階で、変数xの値を増やす必要があると 気付くことが大切と考えます。
# 重要なのは「何をやりたいのか」であって、それを友人に頼むには日本語を用いて 要求/依頼するが、コンピュータに仕事をさせるにはプログラム言語を用いるという、 相手に応じた表現の違いがあるだけだと思います。