質問
私は、PHP、Ruby、ColdFusion、およびjavascript(私は知っている言語ではありません)を数年間書いています。
しかし、私はコンピュータサイエンスの世界にもっと入り込み、低レベル言語で書くことを本当に望んでいます。
開始するのに役立つリソースは何ですか?私が手に入れたすべての本は非常に初歩的なものであり、それはまったく役に立たないようです。基本をスキップするものが必要です。
解決
MITのOpenCourseware マテリアルは見やすい場所。
このリストを見ると、CSのコアトピックのいくつかにヒットしているように見えます。
6.001 Structure and Interpretation of Computer Programs Spring 2005
6.006 Introduction to Algorithms Spring 2008
6.033 Computer System Engineering (SMA 5501) Spring 2005
6.042J Mathematics for Computer Science Fall 2005
他のヒント
CS教育は、SICP(コンピュータープログラムの構造と解釈)のようなものから始まります-無料のオンラインで利用できます。
私が思う最も簡単なことは、地元の大学のウェブサイトを見つけ、CS学位のコースカリキュラムを見つけ、それらのコースに必要な教科書を確認することです。多くの場合、無料のオンラインバージョンを見つけることができます。
コンピューターサイエンスについては、離散数学から始めることをお勧めします。良い本は、私の大学で使用しているローゼン本です。そこから、コンクリート数学、アルゴリズムの紹介、および計算理論の紹介。アルゴリズムの紹介についてはあまり話すことができません-まだ私の希望リストに載っています。しかし、他の2つは非常に優れています。これは、コンピューターサイエンスの基礎をカバーするはずです。
そこから、任意のルートを下ることができます。コンピューターサイエンスのいくつかの主要な分野は、理論コンピューターサイエンス(論理、オートマトン理論)、計算理論(計算可能性理論と複雑性理論)、アルゴリズムとデータ構造、コンピューターアーキテクチャ(並列処理)、オペレーティングシステム、コンピューターネットワーク、グラフィックス、ビジョン、データベースです。 、AI ...あなたが最も興味を持っているものを決定し、その特定のトピック領域をより詳細に調査する必要があります。
これらのブログ投稿は本当に役に立ちます
- 私の理想的なCSカリキュラムの詳細
- より良いCS学位?
新しい言語の学習が好きで、手を濡らしたい場合。
HaskellまたはF#をお勧めします。
関数型プログラミングは高度なコンピューターサイエンスの要素であり、「楽しい」です。
アルゴリズムと離散数学を強くお勧めします。また、コンピュータサイエンスには、たとえば人工知能、データマイニング、計算幾何学、分散コンピューティングなど、それだけではありません。