数学を学ぶための攻撃の長期計画?[閉まっている]


12

私は、プログラミングに関連する数学に自分のスキルセットを拡張したいというWeb開発者です。

2番目のキャリアとして、私は大学で働きながら仕事をしている。

私は自分の教育が数学を適用するのに必要なスキルを教えてくれることを望んでいましたが、私はそれがあまりにも簡単にテストできる幅に基づくアプローチが投資時間に対して非常に非効率的であることがすぐにわかりました。

たとえば、私のCalculus 2クラスでは、リモートで役立つ心拡張体験は、ボリュームと曲線下の領域だけでした。残りは単調な栄光化された代数であり、私には簡単ですが、wolfram alphaなどのソフトウェアで数秒以内に実行できます。これは数学を学ぶという私の考えではありません。

ですから、ここで私は、アプリケーションに焦点を当て、理解し、不必要な退屈を最大限に取り除く方法に数学の理解を向上させる方法を探している欲求不満の学生です。

しかし、このアプローチを念頭に置いて、長期にわたる優れた学習戦略を見つけることはできません。

だから、同じような心を持つ人のために、コンピューターがはるかに良くできることをあまり心配せずに、必要な数学をどのように学習しますか?

回答:


20

Steve YeggeのMath for Programmersに関する投稿を読んでください。

彼の洞察の中で:

  1. プログラミングは、プログラミングの方法を知っていれば、数学の方がずっと簡単です。実際、もしあなたが中途半端なプログラマーであれば、それはほとんど簡単だとわかるでしょう。

  2. 彼らは数学をすべて間違って学校で教えます。方法、間違っている。数学を正しい方法で習得すれば、より速く学習し、より長く覚えることができ、プログラマーとしてのあなたにとってより価値のあるものになります。

  3. 少しでも適切な数学を知っていれば、他の方法では難しいと思われる非常に興味深いプログラムを書くことができます。言い換えれば、数学は、暇なときはいつでも少しずつ覚えることができるものです。

  4. 数学のすべてを知っている人はいません。最高の数学者でさえも。人々は自分の問題を解決するために新しい形式を発明するにつれて、この分野は常に拡大しています。そして、プログラミングの場合と同様に、与えられた数学の問題には、それを行う方法が複数あります。あなたが一番好きなものを選ぶことができます。

  5. 数学は...正しい方法でアプローチすれば、実際にはちょっと楽しいです。


1
+1はい、それは私が与えたであろう正確な答えです。
ボブ・クロス

うわー、それは素晴らしい記事です!
メイソンウィーラー

彼が言ったこと、次にkhanacademy.org
フィリップデュパノビッチ

3

あなたは数学彼らが学校であなたに教える数学の違いに気づいています。

これは、Paul Lockhartによる数学者の嘆きに見事に説明されています。同様の感情は、コンラッド・ウルフラムのTED Talk「Teaching Kids Real Math with Computers」で表現されています。

「人生」で必要なほとんどの数学は、小学校で教えられました(頭の中でチップを計算する方法など)。あなたの仕事で使用する数学は、微積分や他の高度な数学を必要とする分野に行く場合、あなたの大学から教えられるかもしれません -しかし、ほとんどのプログラマーは毎日微積分を使用しません(ほとんどのプログラマーはビジネスアプリケーションを書くことになります) 、工学や科学の分野ではありません)。

とにかく、あなたが学ぶ多くの数学はあなたに当てはまらないでしょう。そして、学習中に行うことの多くは計算です。修正されることはありますか?それはあなた次第であり、あなたの世代の残り(およびすべての将来の世代)が決定します。


2

私は同様の船に乗っており、これまでのところwww.projecteuler.netを楽しんでいます:

Project Eulerは、魅力的な数学の世界に興味のある人のスキルと楽しみを奨励、挑戦、発展させるために存在します。

それらはあなたがプログラミングで解決する問題ですが、問題のほとんどはあなたにそれを解決するためのいくつかの特定の数学を教えることを目的としています。プログラミングで適用できる数学の力を学ぶのに役立ちます。

もう1つの優れたリソースはhttp://www.khanacademy.org/#calculusです

KhanAcademyは、見事に完成されたビデオだけではなく、あなたをテストするためのエクササイズシステムも備えています。http://www.khanacademy.org/aboutを参照してください


1

どんな種類のプログラミングをしているのか、興味があるのか​​は言及しません。計算科学に興味があるなら、その計算の背景、3学期すべて、線形代数、微分方程式、数値解析が必要です。いくつか。さらに、科学、物理学、生物学、化学のすべての要件が必要になります。通信システムの理論には、応用数学の別の分野があります。そこでは、数論、代数的コーディング理論、暗号、システム理論の数学的側面、応用フーリエ解析などを学びます。おそらく他にもあります。

私のようなデータベースに興味があるなら、データベース専門家のための応用数学を勉強しています。それが終わったら、私は自分の空想にふさわしいもの、おそらくCJデートによるもの、そして集合論とグループ論に取り組みます。

学習計画の作成方法に関する質問に答えるために、さまざまな大学を調査し、コンピューターサイエンスまたは応用数学の分野で提供されているものを確認します。大学は学位の要件を公開しています。おそらくすべてのコースをオンラインで見つけることができます。通常はビデオ、問題セットがあり、おそらくAmazonで本を見つけることができます。MITにはオープンコースウェアがあり、ハーバード大学とバークレー校にはオンラインコースもあります。また、OpenStudyをチェックしてください。受講したいクラスのために形成された学習グループがあるかもしれません。

あなたが知識を必要とし、マスターのために借金をしたくないとき、自己学習は行くための素晴らしい方法です。


0

一般的なアルゴリズムを実行する場合は、有限数学および抽象代数のコースが役立ちます(または、アルゴリズムコースを受講するだけでも可能です)。有限数学は、エンコード、暗号化、およびその他のさまざまな計算アルゴリズムの分野でも役立ちます。KnuthのThe Art of Computer Programmingを見てみてください。数学の種類へのポインタとしてのみ役立つ場合があります。

数値計算(計算と線形代数を使用するようなもの)を行いたい場合は、最新版のNumerical Recipesをご覧ください。また、Golub&van Loanの行列計算を、計算線形代数のより数学的に正しいテキストとしてお勧めします。

一般に、興味のあるアプリケーションドメインがある場合は、ライブラリにアクセスして、そのテーマに関する書籍を調べて、必要な数学の種類を見つける必要があります。利用可能なテーマに関する特定のコースはないかもしれませんが、それを止めさせてはいけません。自分のイニシアチブで一連の知識を追跡して学習する能力は、あなたが習得できる最も価値のあるスキルの1つです。もしそれが学校で学んだ唯一のものであれば、あなたの時間とお金はまだ使われます。

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