• 締切済み

プログラミングのための数学

現在、初級SE(Web系)として仕事をしています。データ構造やアルゴリズムの勉強をしていると、わからない数式がたくさんでてきてしまいます。高校の1年ぐらいの数学の知識しかありません。また、集合知などAIや行動経済学なども自分のキャリアで必要になってきますし、簿記などの会社経営の初歩の初歩などの知識も必要になります。 この際、数学ちゃんと勉強しようと思うのですが、大学入試向けのの参考書をやりつくせば、データ構造やアルゴリズムでの本にでてくるようなこともわかるようになるでしょうか?大学入試向けの勉強では何が足りていて、何が足りないでしょうか? また、物理も勉強した方がいいでしょうか?現在のところ、ゲームプログラマや組み込みシステムのプログラミングまでの知識は必要ありません。 アドバイスをいただければ幸いです。

noname#122808
noname#122808

みんなの回答

  • jmh
  • ベストアンサー率23% (71/304)
回答No.3

たぶん、遠回りですが、初歩→(応用)→基礎の順で勉強した方がよいと思います。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

 SEに限らず、実務家には、必要になったときに如何に素早く勉強できるか、といういわば「一夜漬け力」が求められます。いろんな知識が必要だ~とあせってらっしゃるようだけど、 (1) 基礎をしっかり持っている (2) いろんな分野をちょっとずつかじっている のがポイントです。  なので、基礎の勉強(1)を地道にやりつつ、いろんなの(2)を(分かんなくても良いから)眺める、というやり方をお勧めします。  使うのは「××入門」というタイトルの本に限定で、厚さ2cm程度までとし、それぞれ半分ぐらいまでやるのを目標にすべきでしょう。専門性の高い部分は必要になってからやればいいのだから、まずは浅く広くやって、いろんなものの考え方を知ることです。ただし、本は買います。いつでも使えるように自分で持っていることが重要ですから。  数学書に毎月×万使う、とノルマを決めちゃうのも手かも知れません。同じ分野の別の著者の本を2~3種類買う、というのも手でして、分かんなくなった時に他の本と引き比べるとナントカなる場合が結構あります。  まず欲しいのは抽象代数学で、とりあえず群論。それから、離散数学の順列・組み合わせ論およびグラフ理論の初歩、オートマトン論(形式言語学)でしょうか。  これらを読みこなすためには、集合論、数理論理学、線形代数(行列)の入門書ぐらいは持ってないと辛いでしょう。(データベースは、要するに論理学の応用ですし。)軽い数理パズルはちょっとした空き時間に考え続けることができ、応用力を磨くのになかなか良いと思います。  いずれは確率論も欲しくなるでしょうね。それから、計算幾何学は幾何の計算を如何に効率よくやるか、という分野でして、お気に召すかもしれません。  物理学や解析学(微積分)は優先度低いです。

noname#122808
質問者

お礼

ありがとうございます。ボトムアップとトップダウンの両方でやったほうがよさげですね。とりあえず、基礎的な勉強をしながら、高度な理論についてや読み物を中心に始めたいと思います。

  • ESE_SE
  • ベストアンサー率34% (157/458)
回答No.1

いきなり全部は無理でしょう。 また数式と言ってもプログラムで使用する数式と学生時代の数学で学ぶ数式はかなり毛色が違います。 データ構造に関する基礎理論などは大学の情報系の専攻でやっと出て来ますし私自身も学びましたが、それを学んだところで即効性はありません。 (もちろん知っておいた方が有用なことがほとんどですが、習得に時間と労力がかかりますし、基礎研究レベルの内容なのでむしろ現実の問題に摺り合わせるのが大変です) それよりもむしろ、現在使用しているツールを使って出来る処理を実戦形式で学んでいくのが第一歩ではないかと。 書店に行けばデータベースや開発専門の月刊誌もありますし、それに類する書籍もあります。 普段使用している開発環境に合わせて本を選べば、例題形式などで学べます。 現在の開発環境の多くはフリーで家のPCでも構築可能ですから、自宅で学ぶのならそういった環境を整えてみては? 物理は・・・Webに関しては全く関係無いと思います。 お勤めの会社で特に物理学が必要なのであればそれに合わせて学習すべきでしょう。

関連するQ&A

  • プログラミングと数学的知識について

    コンニチワ 有能なプログラマの経歴を見てみますと数学者などが多いですが 私はプログラミングは好きですが数学は苦手です。 公式などを使わない文章問題は比較的得意なのですが それ以外はほとんど苦手です。 プログラミングをする際必要な公式などはその都度調べています。 しかし、最近は数学的知識があってこそ生まれるアイディアというものが あるのではないかという風に考えるようになり、数学を本格的に学ぼうかと思い始めました。 やはり数学的アルゴリズムなどをきちんと勉強しておいた方が いいアイディアが生まれるのでしょうか? 専門家の方や詳しい方の意見をお聞かせください。

  • アルゴリズムが全くわからない

    「Javaによるはじめてのアルゴリズム」や、「Cプログラマのためのアルゴリズムとデータ構造」という本を買ったのですが、 数式や図表が難しくて理解できません。 (中学並の数学の知識しかないので・・) 私のような初心者でもアルゴリズムが理解できるようになるような、 数学やアルゴリズムの、本やウェブサイトなどがあれば教えてください。 方法論とかでも構いません。 よろしくお願いします。

  • プログラマにとって「アルゴリズム」や「データ構造」の知識は必須ですか?

    最近の、いわゆるパッケージソフトウェアや、Webアプリケーションの開発においては、 必要なコンポーネントをインポートして部品を組み立てていくイメージで コードを書いていくというのが主流だと思います。 ほとんどのプログラミング言語には、すでに便利な関数やパッケージが用意されており、「アルゴリズム」や「データ構造」といった知識はあまり必要になりません。 例えば、データをソートしたい場合、クイックソートなどで自分で実装しなくても、すでにソート関数が用意されているので、その関数を使用すれば良いわけです。 そのような環境においても、プログラマにとって「アルゴリズム」や「データ構造」の知識はやはり必須ですか? 時々、 ・「優先順位付き待ち行列」くらいは、スラスラ実装できなければ、プログラマとしては半人前 ・「離散数学」をしっかり理解していないと、プログラマとしては致命的 などという話も聞くのですが、皆さんの意見を聞かせてください。

    • ベストアンサー
    • Java
  • Webプログラマーって数学を必要としますか?

    私は大学1年なのですが、将来Webプログラマーになりたくて、IT,パソコン関係の大学で授業を受けています。私の大学では、ほとんどがIT関係なのですが、必須科目に数学は入ってなく数学は選択科目となっています。それで、Webプログラマーって数学を必要するのか分からなかったので、今、数学の授業は取ってないのですが、必要になるのでしょうか? 社会では、数学より、英語を必要とするから英語を勉強した方がいいと聞いたのですが、数学より英語を勉強した方がいいですか?(ちなみに、英語は大学で必須科目になってるので、勉強してます) お願いします。

  • プログラマの数学知識

    こんばんわでございます。 プログラマには数学が必須?みたいな記載をたまに見かけます。 勿論業務や業界によって違うのだとは思いますが……。 例えば、大学数学程度のレベルは使いこなすと出世が早い(良く出来てるから?)等聞きます。 まぁ、じゃあ具体的に大学数学って何よって話しにもなるのですが。 そこでご質問なのですが、プログラミングが上手い方々はやはり数学知識は豊富なのでしょうか? それとも数学的考え方が上手ということでしょうか? また、もし数学知識が必要という場合は、具体的にどのような数学の知識(例えば、~関数やら~概論等)が必要なのでしょうか? 漠然とした質問で申し訳ございませんが、宜しければ教えて頂けませんでしょうか? 宜しくお願い致します。

  • プログラミングと数学センス

    現在、通信制大学で文系の勉強をしています。最近、コンピュータへの興味が強くなって情報系のコースに転籍しようかと考えています。 プログラミングには数学センスが必要だと聞きますが、数学には自信がないので不安です。 高校では、数学の全国偏差値は68程度(難易度が低めの進研模試です。)でした。文系ですので、数IIICは習っていません。三角関数や微分積分も忘れました。基礎学力自体には自信がある方ですが、数学センスには全く自信がありません。 数学の学び直しは必須だと思いますが、プログラミングにはどの程度の数学知識、センスが必要とされるのでしょうか?

  • 経済学の数学

    経済学を大学で勉強するに当たって、必要な数学の知識とは主に、行列や微積でいいんでしょうか。 受験科目に数学をとっていなくて高校数学の知識は豊かとは言えません、高校数学の復習からはじめた方が良いのでしょうか? 経済学に必要な数学の知識を付けるのにお薦めの本とかはありませんか? まとまりませんが、どなたか教えてください。

  • 大学院の入試(数学)の勉強について

    大学院の入試(数学)の勉強について  私は今、大学3年生で食品系の学科(生化学が中心)にいるのですが、大学院の独立研究科の物理化学の分野に進学しようと考えています。  そこの入試に出る数学について、どのように勉強するべきか悩んでいます。  大学受験の時は数学II・Bまでしか受けず、大学のカリキュラムでは微分積分、線形代数を少しかじった程度です。どちらかというと数学の知識は疎いです。  入試の出題範囲は線形代数、微分積分学、ベクトル解析、線形常微分方程式、複素積分となっています。  勉強していくにあたって、まずはあやふやな高校数学から始めるべきだと考えております。高校の教科書が理解できれば、大学教養レベルに進んでも問題ないでしょうか?  また数学の勉強にお勧めな書籍があったら教えていただけると助かります。

  • プログラミングで心がけていること

    プログラマーさんに質問。 僕はからっきし数学がだめでプログラミングなどもってのほかです。 でも作りたいウェブサイトがあってそれにはPHPのプログラムが必要で、勉強中です。とほほ。 絵を描くのはめっちゃ得意なんですけどね。 そこで質問なのですが、プログラムを組む上で個人的に大切にしていることってあります? もしあったら教えてください。よろしくお願いします。

  • 「数学」は役に立つ?

    先日友達が、 「数学なんて下らない。なんの役に立つんだよ!計算なんてコンピュータがやってくれるじゃん。」 と言っていました。思わずあっけに取られてしまいましたが(笑)、数学を勉強することでその知識が役に立つような場合って、具体的に何か考えられるでしょうか? 統計学をやるのに必要とか、経済学やるのに必要とか、物理、化学等おおよそ"科学"と呼べるものの発展には大体貢献してきたとか、それくらいならなんとなくわかるのですが、 学校で学んだ数学の知識が、実際仕事についた時何か役に立つというような具体的な例が、場面が欲しいです。 私が思いつくのは、学校の数学の先生とか予備校教師が数学を教えるのに役に立つとかそのくらいです^^;あと、コンピュータの技術者やプログラマとかって数学の知識を必要とされる事もあるんじゃないかと想像するんですが、実際のところどうなんでしょう…