それは依存します、この質問に対する良い答えはありません。
プログラマーは、コンピューターソフトウェアを書く人を識別する一般的な世界です。
現在、あらゆる種類のソフトウェアがあります。たとえば、ウィキペディアを一般化のソースとして使用すると、3つの大きな一般化を満たすことができます。
- システムプログラミング
- プログラミングソフトウェア
- アプリケーションソフトウェア
最初のフィールドシステムプログラミングでは、デバイスドライバー、オペレーティングシステム、サーバーを開発します。たとえば、オペレーティングシステムのコースをたどることができます。
しかし、プログラミングソフトウェアはどうですか?ここでウィキペディアが書いたように、コンパイラ、デバッガ、インタプリタ、リンカ、テキストエディタをコーディングできるため、自動化理論、言語理論、言語、コンパイラのコースが役立ちます。
どんな種類のアプリケーションソフトウェアについても話せません。-
ビデオゲーム:代数、物理学、オブジェクト指向コース?
-数学ソフトウェア:数学コース?
-画像編集:数学、物理学、アルゴリズムコース?
-産業オートメーション:数学、物理学、アルゴリズム、ロボットコース?
-医療用ソフトウェア:生物学、医療、その他のコース
-ここに多くのもの:ここに多くのコース。
あなたが見ることができるように、あなたが従うことができる多くのコースがあり、あなたの仕事に役立ちます。
私の経験では、私は、システム・ソフトウェア・エンジニアリングおよびアプリケーションソフトウェアだセキュリティ私はアルゴリズムでより興味深く、分散システムと、再び私の感触を取得していますプログラミングで少し非常に経験から始めて、(あなたはセキュリティのコースをたどるしたいですか?)フィールド私が書いた汎用アプリケーション(スニファ、ネットワーク侵入検知システム、プロトコルディセクタ、ディテクタなど)の単純さに不快です。
理論的なコンピューターサイエンスで苦労して学んだように!あなたはこのコースを投げましたか?:P
たとえば、すべてのコンピューター言語を一連の計算可能な数学関数に適合させることができること、そして経験が同じ道をたどると、すぐにこの小さな計算のセットに不快感を覚えることになり、私のように開発の様子を見ることができますソフトウェアはそれほど魅力的でも驚くべきものでもありません。なぜなら、同じデザインパターンが再び戻ってくるからです(デザインパターンコースに従っていますか?)。たとえば、なぜ言語に興味を持ち始め、どのように言語を数学関数に変換し、コンピュータ言語はそれほど複雑ではないことを学びましょう!例えば、すぐに人と心理学にもっと驚くことができ、それについてもっと興味を持ち、良いプロジェクトマネージャーになることができます!ソフトウェアのライフサイクルに関するコースを受講していますか?
それでは、CSキャリアの中で必見のコースは何ですか?
すべての分野、特に理論分野で学ぶことができる限り多くのことを学ぶことをお勧めします物事が実際にどのように機能するか、そして理論的知識のある人々がどのように物事が機能するかを予測し、自宅で食べ物を手に入れるためのコーディングの可能性を与えているかを見るためのより多くの時間。
コンピュータサイエンスには間違った現実感があります。たとえば、コンピューター科学者は、時にはソフトウェア開発者から本当に遠く離れています。
ウィキペディアの説明をご覧ください。
人生を楽しんでください:)
私の2セント。
本当に下手な英語でごめんなさい。