文系大学生の趣味プログラマーです。関数型言語などをいじって遊ぶことが多いです。
本当は理系に進みたかったのですが、訳あって文系へ進みました。
さて、情報系の講義を受けられたことかと存じますが、その中で一番プログラマーとして役に立っていると感じるものはどれですか(例を挙げるならば、オートマトンだとか)?
文系なので情報系でどのような講義が行われているのか知る由もなく、情報系が羨ましい限りです。できるだけ独学してみたいので、ためになった講義や学問の名前を教えていただきたいと思い、この質問を投稿させていただきました。
オートマトンと形式文法の関係なんかは、今でも思い出すことがあります。
よく、「これを正規表現で~」という時に、「でも、元が文脈自由文法なんだから、そこから正規表現で抜こうとしても限界があるから、特定の実装に依存した形でしか....」といった感じで思い出す事があります。
あと、時間計算量の考え方は大切ですね。ソートプログラムで単純に作ると O(n2) になっちゃうけど、クイックソートならら平均 O(nlogn) だ、とか、この計算方法だと O(n!) になっちゃうから、10 個程度ならともかく、20 になったら終わんないよ、とか。この辺を分かってなくて、「データが2倍だから処理時間も2倍」と誤った規模感を持っている人は少なく無いですね。
情報科学生です。「情報 カリキュラム」などで検索すれば、情報科でどのようなことを学んでいるのかが分かると思います。次のページにあるレポートにも各領域でどのようなことを学ぶかが載っていて、参考になると思いますよ。
情報専門学科におけるカリキュラム標準J07
オートマトンと形式文法の関係なんかは、今でも思い出すことがあります。
よく、「これを正規表現で~」という時に、「でも、元が文脈自由文法なんだから、そこから正規表現で抜こうとしても限界があるから、特定の実装に依存した形でしか....」といった感じで思い出す事があります。
あと、時間計算量の考え方は大切ですね。ソートプログラムで単純に作ると O(n2) になっちゃうけど、クイックソートならら平均 O(nlogn) だ、とか、この計算方法だと O(n!) になっちゃうから、10 個程度ならともかく、20 になったら終わんないよ、とか。この辺を分かってなくて、「データが2倍だから処理時間も2倍」と誤った規模感を持っている人は少なく無いですね。
計算量について勉強してみようと思います。
具体的でわかりやすかったのでベストアンサーとさせていただきます。
ありがとうございました。
オートマトン、私も思い出します。
「この問題は、有限時間では絶対解くことができない」なんてあって、
ところが実社会に出ると、有限かつ最小時間で解け、ですね。
今の情報処理には、フリップフロップなんて必要ないですね。
昔、アセンブラ処理系を自作する、なんてときには有用でしたが。
あ、あまり2010年代の人には関係ない話でごめんなさい。
数学は
最低、離散数学でブール代数はきちんと練習すること。
あと集合。
それ以外の情報系の授業でソフトウェアだと、
ハード系だと
その他は、
具体的な列挙をしていただきありがとうございます。
計算量について勉強してみようと思います。
2014/03/13 10:32:39具体的でわかりやすかったのでベストアンサーとさせていただきます。
ありがとうございました。