私は独学のプログラマーであり、8年間コーディングを行っています。この経験により、私はプログラミングの原則(ifステートメント、クラス、ポリモーフィズムなど)にすでに精通しています。
しかし、私は「コンピュータサイエンス」を学んだことがなく、プログラミングだけを学びました。コンピューターサイエンスを独習する立場にある人にとって、優れたリソースとは何ですか。つまり、速いペースで動き、基本的なプログラミングの知識を前提としているリソースです。
私は独学のプログラマーであり、8年間コーディングを行っています。この経験により、私はプログラミングの原則(ifステートメント、クラス、ポリモーフィズムなど)にすでに精通しています。
しかし、私は「コンピュータサイエンス」を学んだことがなく、プログラミングだけを学びました。コンピューターサイエンスを独習する立場にある人にとって、優れたリソースとは何ですか。つまり、速いペースで動き、基本的なプログラミングの知識を前提としているリソースです。
回答:
コンピュータサイエンスは多面的な分野であり、アルゴリズムとデータ構造はその重要な部分です。プリンストン大学のAlgorithms、Part 1のような無料のビデオコースを試すことができます-今すぐ実行されています。
スタンフォード大学のもう1つの注目すべき無料のビデオコースアルゴリズム:設計と分析、パート1は最近終了しました。うまくいけば、今後も繰り返されるでしょう。このコースのパート2は今週月曜日に始まります。
さて、これが私の最初の答えです。また、私はあなたより経験が浅いです。だから、それはあなたや他の人には無関係かもしれない初心者の答えと考えてください。しかし、私は私の答えで質問の価値を保存しようとします!
まず、コンピュータサイエンスの領域、またはCSの学習にかかわるライフサイクルについて説明します(概要のみ)。おそらく、私はそれらのいくつかを見逃しているかもしれません。また、それらの配置についてはあいまいな場合があります。しかし、それは次のようになります:-
さて、質問に戻ります。すべてのセクションで、深く掘り下げて興味のある分野を見つける機会を与える必要があると思います。どの分野が彼/彼女に最も適しているかを決定するのに数年かかります。
プログラミングセクションのみを含むフィールドに直接ジャンプしないでください!!! プログラミング言語は、枠に収められている「価値がある」ものではありません。最も重要な部分は、CSフィールドを強化する基本的なモデリング、機能、アイデアの生成、および新しい理論です。だから、私のように、各フィールドを一度に試してみて、たとえば1週間は、あなたが本当に彼らに最も惹かれていることを確認してください!これは最初にあなたが持ち去るべき主題を与えます!
今、オンラインリソースにアクセスしてください。たくさんの見どころがあります。今日では、インターネット上で利用できるチュートリアル、ビデオ、講義がたくさん見つかります。
等々。
CSの基本を学習するために、これらをより頻繁に使用するようにしてください。これらとは別に、問題が発生しているトピックを提供するのに役立つ検索エンジンをいつでもクリックできます。
プログラマーとして、基本的なコンピューターサイエンスに従って次のことを知っているはずです。
これらのコースはMOOCから取得できます。
Courseraは、必要に応じてサインアップできるように、優れたリソースでさまざまなコースを提供しています。
私が勉強した他のコース(そして私は重要だと思います):
漸近的な複雑さは、CSでも非常に重要なトピックです。データ構造とアルゴリズムの優れたリファレンスブックとして「アルゴリズム入門」をお勧めします。その後、プロジェクトオイラーで練習できます。それ以外に、MITはMIT Open CourseWareのコースをYouTubeで提供しています。彼らのデータ構造のコースは非常に役に立ちます。
私が提案できるもう1つのことは、大学のCSコースブックに目を通し、トピックを取得して、どれが興味のあるものであるかを確認し、それらを研究することです。