パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

コンピュータサイエンスの学位って、本当に必要?」記事へのコメント

  • 参考
    「プログラミングできる人とできない人との間の深い溝」 http://d.hatena.ne.jp/masatoi/20090707/1246965336 [hatena.ne.jp]
    「どうしてプログラマに・・・プログラムが書けないのか?」 http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm [aoky.net]
    「Javaスクールの危険」 http://local.joelonsoftware.com/mediawiki/index.php/Java%E3%82%B9%E3%8... [joelonsoftware.com]

    「学位は持ってる = 優秀なプログラマ」ではないが、
    「独学でやりました(キリッ)=優秀なプログラマ」でもない。
    それだけの話だと思う。

    ひょっとしたら、この記

    • by Anonymous Coward

      a = b;

      の=記号が代入であるとの前提なしに出現したら(「あくまでコードを一度も見たことのない学生にむけてのテスト」である)
      "数学的等号", もしくは"電卓的計算要求"が候補となり、右辺が存在することから数学的等号であると判断するのは、当然ではないだろうか。
      結果、式は偽なのに選択肢に無いので途方に暮れると。

      • そういう、「当然ではない」記法・概念がごろごろ出てくるのがプログラミング言語なので。

        自分の知ってる常識からは外れてるが、何かしら合理的で一貫性のあるルールで書かれてる、と言うのをさらっと納得した上で、上手いことそのルールを演繹できる能力、みたいなのを見てる話でしょう。

        一字一句、順に勉強するよりは、「こんなルールかな」と想像してそれがあってる、みたいなプロセスを挟むとプログラミングの習得は簡単ですよ、みたいな。 素晴らしいプログラミングの講義を聴くか、抜けの無い完璧な解説をちゃんと読めば全部書いてあることとは言え、 必ずしもそういうテキストなりに当たるとも限りませんし。
        • 前半二つの段落はそれでいいと思います.

          ですが,それは一般的にプログラミングを学ぶ上での話だと思いますがどうでしょう.
          理論としてコンピュータサイエンス,
          特に言語理論をやる人はその「さらっと納得」している部分を,
          きちんと論証していく能力を身につけるのが一つの目的です.
          a = b; という例では"="オペレーションの意味論を定義した上で,
          その特性について議論しますので,「さらっと納得」というレベルだと困ってしまいます.

          余談だけど,CやJavaのこの"="を「代入」と呼ぶ人は,
          自分の言っているに違和感をもたないものなんでしょうか?
          明らかにやっていることは上書きなのに.

          • >ですが,それは一般的にプログラミングを学ぶ上での話だと思いますがどうでしょう.

            はい、その話として、コメントを書きました。このストーリーの本題に対してではなく、このコメントツリーの根っこからの流れに対してです。

            一方で、改めて考えてみて、コンピュータサイエンスでも似たような能力が理解の一助になると思います。

            ざっと見て、どういうルールの理論なのかを想像する(この時点で、ごく当然のこととして、それなりに合理的かつ一貫性のあるルールを想像できる能力)→教科書その他を念入りに参照して、想像したルールが正しいことを確認、みた
            • by imunolion (39292) on 2012年09月13日 15時35分 (#2230902) 日記

              もちろん,言語理論なんて知らなくていい状況の方が多いでしょう.
              というよりもそれが支配的でしょう.
              それを批判するつもりもありません,念のため.
              でもそういうことが必要になるケースがあり,その能力を示すひとつの目安が学位なんではないでしょうか.

              あの複雑な理論をそういうやり方で理解するのは私には無理そうです。

              どの理論のことを言っているのかわかりませんが,
              それが無理と言うのは教材が悪いか,重要なところを読み飛しているんだと思います.

              結局言語理論なんてのは数学ですから,
              より馴染みのある例で話をした方がいいかもしれません.
              中学で数学の勉強をするとき,練習問題があったかと思います.
              公式を知らずに法則を自分で推測し,
              その正しさを練習問題で確認する勉強方法をとるでしょうか?
              練習問題ではうまくいったけれど,章末問題で上手くいかない.
              あのときの法則は違ってたんだ,と知って元に戻ってやりなおす.
              場合によってはそれを知るのはテストの結果が返ってきたときになるかもしれません.
              そんなことはしないのではないでしょうか.

              もちろん,複雑なものを学ぶときに,
              一定の手続きを踏まずに概要を把握できる能力,というものがあるのでしたら,
              それは素晴しいことだとは思います.
              一方,そんなものがなくてもスムーズに勉強できる教材は良い教材.(タネンバウム然り,ピアース然り)

              親コメント
              • by s02222 (20350) on 2012年09月14日 12時07分 (#2231615)
                >より馴染みのある例で話をした方がいいかもしれません.

                個人的には、そこに壁を感じました。
                中学・高校までの数学・物理は、どこか現実の問題をモデル化したような感じなので、 分からないところを、世の常識(こういう風に動くはず、とか)で補えたのが、 より抽象度の高い言語理論とか、論理学とかになると、対応する世の常識が存在しなかったりして。

                幸い、私は、プログラミングはそこそこ経験があり、「こういう作用をもたらしたいけど、直接それは書けないから、システム上許されるこの操作とこの操作で間接的に結果を得る」みたいな回りくどい話には慣れていたので、そういうのを使って乗り切った、と思ってます。

                >一方,そんなものがなくてもスムーズに勉強できる教材は良い教材.(タネンバウム然り,ピアース然り)

                それはそうかも知れません。・・・分かってしまえば、「ただ正しい」だけではなく、もうちょっと、分かりやすい言い回しで説明出来るよなぁ、これ、とか思う授業が結構多かったです。
                親コメント

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...