回答:
コンピューターサイエンスについて学ぶことは確かに利点になると思います。コンピューターサイエンスが提供する(関連する)スキルの数を次に示します。
プログラミング – プログラミングの方法を知ることは、あらゆる分野で役立つスキルです。統計学者や社会学者、地理学者、エンジニアなどは、多くの場合、プログラムを作成する必要があります。CS学位を取得すると、適切にプログラムすることを学ぶことができます。
モデリング -コンピューター科学者が行う重要なことの1つは、世界のモデリングです。物理学者、生物学者、社会学者も同様ですが、モデルの種類は異なります。コンピューター科学者が作成するモデルの種類を知ることは、多くの場合、他の分野でのモデリングに役立ちます。さらに良いことに、コンピュータサイエンスモデルは一般に実行可能です(ポイント1を参照)。
抽象化 –コンピューターサイエンスは抽象化に関するすべてであり、問題の核心を引き出すために無関係な詳細を無視します。プログラミング言語をモデリングするとき、すべての詳細がモデル化されるわけではありません。ほぼすべての詳細から抽象化し、並行性モデルを単独で、またはオブジェクト指向言語のクラスのみを学習できます。この種の抽象化は他の科学ではあまり一般的ではありませんが(私は主張します)、コンピューター科学者が興味を持っている現象を理解するために重要です。
これはおそらく、Jeannette Wingによる計算思考に関する記事で最もよく要約されています。
私は、科学/工学のトラックの誰でも、少なくともいくらかのCSを持つべきだと思います。少なくとも1つのプログラミング言語、データ構造、アルゴリズムの基本的な知識に精通していると、思っている以上に役立ちます...
私はそれが大したことだとは思っていませんでしたが、今は自分のキャリアの早い段階でこれらのことに取り組んでいたらいいのにと思います。
良い「プログラミング入門」についてはわかりませんが、これはアルゴリズムの入門書としてはまともです。
「本物の」コースを受講する提案についてもわかりません。注意して、教師や仕事の負荷について尋ねてください。私は自分が取ったものに感動しなかったので、いくつかの点で自分でやったほうがいいと感じました。前提条件に縛られていると感じないでください。アドバイザーと話し、最も役立つクラスに配置されます。
物理学や数学を勉強しているのであれば、コンピューターサイエンスを勉強することは問題になりません。また、良い情報源から知識を得るのは良いことです。コンピューターサイエンスの学位を取得する必要がないのであれば、自分自身の意味でも正しいのですが、休暇中にコンピューターを学習できるので、あちこちで時間を過ごしても、他の方法で考えることができます科学、今日の時点で、あなたはコンピューターサイエンスのキャリアを追求したくありませんが、あなたの意見は時間とともに変わるかもしれません。心を変えなくても、得た知識は無駄になりません。いくつかの章の紹介部分を試してみてください。読み進めていくと確信し、さらに先へ進むことができます。