プログラマーのためのコンピューターサイエンス


8

私は独学のプログラマーであり、8年間コーディングを行っています。この経験により、私はプログラミングの原則(ifステートメント、クラス、ポリモーフィズムなど)にすでに精通しています。

しかし、私は「コンピュータサイエンス」を学んだことがなく、プログラミングだけを学びました。コンピューターサイエンスを独習する立場にある人にとって、優れたリソースとは何ですか。つまり、速いペースで動き、基本的なプログラミングの知識を前提としているリソースです。


収集されたstd / popular cs refs
vzn 2014年

それからあなたは正しい場所に来ました。
SDsolar 2018年

それからあなたは正しい場所に来ました。
SDsolar 2018年

回答:


11

コンピュータサイエンスは多面的な分野であり、アルゴリズムとデータ構造はその重要な部分です。プリンストン大学のAlgorithms、Part 1のような無料のビデオコースを試すことができます-今すぐ実行されています。

スタンフォード大学のもう1つの注目すべき無料のビデオコースアルゴリズム:設計と分析、パート1は最近終了しました。うまくいけば、今後も繰り返されるでしょう。このコースのパート2は今週月曜日に始まります。


OK。私はインターネットでいくつか検索しましたが、一般的なアルゴリズムクラスがまさに私が探しているもののようです。
Shivam Sarodia 14年

9

さて、これが私の最初の答えです。また、私はあなたより経験が浅いです。だから、それはあなたや他の人には無関係かもしれない初心者の答えと考えてください。しかし、私は私の答えで質問の価値を保存しようとします!

まず、コンピュータサイエンスの領域、またはCSの学習にかかわるライフサイクルについて説明します(概要のみ)。おそらく、私はそれらのいくつかを見逃しているかもしれません。また、それらの配置についてはあいまいな場合があります。しかし、それは次のようになります:-

  1. コンピュータの基礎(コンピュータの一般的な作業)とコンピュータの紹介
  2. コンピューターの助けを借りて現実の問題を解決するためのプログラミング言語とその使用法
  3. プログラミング言語のバリエーション(関数型、オブジェクト指向、手続き型)とその異なる原則
  4. データ構造とアルゴリズム//最も重要な部分の1つであり、CSのバックボーン
  5. コンピュータシステムの基礎---離散数学、デジタルエレクトロニクスの一部
  6. ソフトウェアエンジニアリング//やはりCSの最も重要な部分の1つであり、バックボーン
  7. オペレーティングシステム---私のCSブランチのお気に入りのテーマであり、CSの最も重要なコアブランチでもあり、少なくともCS全体がこれで実行されます。
  8. コンピュータアーキテクチャ---コンピュータの動作の基本的な機能を知ることは、やはり重要なテーマの1つです。
  9. データベースはすべての承認に値します!優れた発見。
  10. コンピュータネットワーク---ネットワークに関連するCSの非常に美しいセクション(実際の接続)
  11. 計算理論、オートマトン、コンパイラ---私の2番目に好きな主題、すべて1つのセクションで、状態の変化と言語の形成と操作について説明します。
  12. データマイニングと機械学習---今日のコンピュータサイエンスの最も進歩的な分野であり、実際には最も有益な情報の1つです。
  13. 人工知能&ニューラルネットワーク&ファジーロジック---言うまでもなく、最高の現実のシミュレーション

さて、質問に戻ります。すべてのセクションで、深く掘り下げて興味のある分野を見つける機会を与える必要があると思います。どの分野が彼/彼女に最も適しているかを決定するのに数年かかります。

プログラミングセクションのみを含むフィールドに直接ジャンプしないでください!!! プログラミング言語は、枠に収められている「価値がある」ものではありません。最も重要な部分は、CSフィールドを強化する基本的なモデリング、機能、アイデアの生成、および新しい理論です。だから、私のように、各フィールドを一度に試してみて、たとえば1週間は、あなたが本当に彼らに最も惹かれていることを確認してください!これは最初にあなたが持ち去るべき主題を与えます!

今、オンラインリソースにアクセスしてください。たくさんの見どころがあります。今日では、インターネット上で利用できるチュートリアル、ビデオ、講義がたくさん見つかります。

  1. www.coursera.org
  2. www.nptel.ac.in
  3. www.khanacademy.org

等々。

CSの基本を学習するために、これらをより頻繁に使用するようにしてください。これらとは別に、問題が発生しているトピックを提供するのに役立つ検索エンジンをいつでもクリックできます。


2

プログラマーとして、基本的なコンピューターサイエンスに従って次のことを知っているはずです。

  1. 基本的なプログラミング原則
  2. データ構造
  3. ソフトウェア工学方法論
  4. さまざまなプログラミング手法(アルゴリズムに依存)
  5. コードのテストに関する基本的な知識

これらのコースはMOOCから取得できます。

Courseraは、必要に応じてサインアップできるように、優れたリソースでさまざまなコースを提供しています。


あなたは後ろ向きの質問をしているようです。コンピューターサイエンスのどの側面がプログラマーに関連しているかを尋ねているのではありません。プログラマーがコンピューターサイエンスについて学ぶためのリソースをどこで見つけられるかを尋ねています。
David Richerby 2014

-1

私が勉強した他のコース(そして私は重要だと思います):

  1. デザインパターン(シングルトン、ファサード、工場など)
  2. 離散構造

漸近的な複雑さは、CSでも非常に重要なトピックです。データ構造とアルゴリズムの優れたリファレンスブックとして「アルゴリズム入門」をお勧めします。その後、プロジェクトオイラーで練習できます。それ以外に、MITはMIT Open CourseWareのコースをYouTubeで提供しています。彼らのデータ構造のコースは非常に役に立ちます。

私が提案できるもう1つのことは、大学のCSコースブックに目を通し、トピックを取得して、どれが興味のあるものであるかを確認し、それらを研究することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.