アプリ版:「スタンプのみでお礼する」機能のリリースについて

今大学でプログラミング系の研究をしている者です。どこを支援すべきなのかを模索中です。
そこで、プログラミング教育の支援を行おうということで、一般的な本に書かれているここが難しいというのではなく、プログラミングを学ぶ学習者がプログラミングのどこが難しいと感じているのか知りたいのです。
言語はC言語なんでも構わないのですが、どういったところが難しいと感じているのかといったことを調査した論文等があれば教えてもらいたいです。いろいろ検索してみたのですがこれといったものがなくて・・・。また、論文等じゃなくてもホームページとか、個人の人がこう言ってるみたいなものでも多く集めて参考にしたいと思うのであればよろしくお願いします。

A 回答 (2件)

難しいと感じるところ、と言うのはいろいろ難しいですが、いくつか上げます。


まずループなど、関数の仕事。正直、プログラムが何をするかとか、ループが何をするか分かっても、何かに例えることができなければ、理解できずにわけが分からなくなる。(初心者に多いのが、if文はすぐに覚えても、ループは覚えられない。ifは選択として日々使っていて、例えも利くが、ループを何かに例えることができていない証拠。)
ループはプログラマーにとって朝飯前の処理ですが、高校生でも、何をしているか理解できず、苦しんでいるクラスメイトを何人も見てきましたし、自分もループが意味不明で一時プログラムを挫折しました。
次に、理論でしょうか。何故こうなるのか。何故ここでこんなことをするのかと言う、処理の並べ方です。

プログラムの文法は英語より簡単です。perlとかでも大体基本的な文法は三つくらいですし、Cでも文法なんて片手で数えられるはずです。
どこが難しいかと言えば、数IIIの微分積分を解く時のように、どこでどの関数を使い、どの処理をどこで行い、値を変え、範囲を変えるという理論の組み立てや関数の働きです。実際、慣れた人には簡単でも、コツをつかめていない人はいつまで経っても解けませんよね?プログラムの難しさはそれと同じだと思います。

以上、プログラムを一度挫折した人間の意見でした。役に立てば嬉しいです。
    • good
    • 0
この回答へのお礼

大変参考になりました。ありがとうございました。

お礼日時:2007/07/28 15:27

論理的な考えができない人に論理を説明すること


四則計算や数字の比較ができない人に1次方程式(不等式)を解いてもらうこと
1次方程式がわからない人に、連立方程式を解いてもらうこと

プログラムは所詮連立方程式の集まり。
連立方程式を解くと言うよりは、その解を導き出すための連立方程式を作り出す、というのがプログラマーの仕事ですけどね。

学問に難癖をつけるつもりはありませんが、こういうのって、研究対象になるんだろうか、という疑問が、、、

> どういったところが難しいと感じているのかといったこと
感覚を論理的に(コンピューターに)説明することじゃないですかね?

自動車のアクセルを踏めばスピードが出て、ブレーキを踏めばスピードが落ちる。
どのくらいの圧力でブレーキを掛ければ、何秒でスピードが何km/h落ちるというのを論理的に連立方程式で説明できれば、レースゲームが作れるんじゃないでしょうか。
    • good
    • 0
この回答へのお礼

ふむふむ・・・。いろいろ参考になりました。
ありがとうございました。

お礼日時:2007/07/28 15:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!