今回は文系大学生やプログラミング未経験の方を対象に「プログラミングをする際に数学の知識が必要なの〜?」という質問に答えてみました。
プログラミングに数学は必要なの?
最初に結論から言うと
分野にもよるが、基本的に数学の知識は必要ない
数学が必要とされるのは、例えば以下のような分野です。
人工知能(AI)
ゲーム開発
人工知能の技術は高度な数学的理論で成り立っているので、人工知能を用いて開発を行うためには数学的知識が必要です。
しかし、今はIBM watsonやAWSなどクラウド上で気軽にAI技術に触れられるサービスなどがあります。これらのサービスを活用すれば高度な誰でもAIや数学的知識がなくても気軽に機械学習や深層学習などの概念や仕組みについて実践的に学習することが出来ます。私も数学的知識はあまりありませんが、AIの概念や機械学習、深層学習の仕組みを理解するためにIBM cloudなどを活用しながら学習しています。
もし、AIに興味がある方がいれば、以下の記事も参照してみてください。
ゲーム開発には物理の法則などの知識が必要になってきます。ゲームの中でのキャラクターや物の動きをリアルに再現するためには数学的な知識が必要です。
例えば、キャラクターがジャンプして着地する動きを再現させるためには数学的法則を駆使することによってリアルに再現されています。
逆に数学的な知識があまり必要とされていないのが、以下の分野です。
- webアプリケーション開発
私のやっているプログラミングの分野はwebアプリケーション開発です。私は昨年の夏からprogateやドットインストールを使って独学でプログラミングの学習を開始して約1年が経ちましたが、今までに数学的知識を使う機会はほとんどありませんでした。数学の知識を使う機会もありましたが、その時に必要だった知識は不等号や簡単な四則演算のみです。なので、プログラミングをするのに必ずしも数学的知識が必要になる訳ではありません。数学的知識があった方がもちろん有利ですが、
それはエンジニアに限らず、営業やマーケティング、コンサルティングなどの職種、業界でも同じことが言えると思います。
プログラミングに必要なスキルは?文系学生はプログラミング学習をするべき?
プログラミングに必要なスキルは以下の三つだと思います。
- 課題解決能力
- 論理的思考力
- 英語力
問題解決能力
プログラミングを学習していく上でエラーはつきものです。優秀なプログラマー、エンジニアでさえエラーの壁には必ずぶち当たります。何故、エラーが発生したのかを検証し、インターネットや書籍を活用しながらエラーの問題を解決しなければなりません。
論理的思考力
コンピューターは正しいコードでプログラムを書かなければ、エラーが表示されます。エラーが表示された際にエラーが発生した箇所、原因などを仮説を立てながら一つ一つ調べ検証を行なっていきます。一つ一つエラーの可能性を潰していかなければならないので、論理的思考力が必要とされます。
英語力
基本的に最新の技術は海外から発信されます。そういった時に海外のサイトや文献を読む機会があります。また、エラーに遭遇した際に日本語サイトのみで検索するより、英語サイトを含めて検索にかけた方が情報量が数十倍違います。プログラミング言語は英語と同じく世界共通の言語です。英語が読めた方いち早くエラーの解決に導くことが出来ます。
といったように、プログラミングに必要なスキルを見ていくと文系大学生の方がプログラミングに向いているのではないかなあと感じています。
必要なスキルが上記の三つなので、逆にプログラミング学習を始めれば社会人になって必要とされる
- 課題解決能力
- 論理的思考力
- 英語力
のスキルを身につけることが出来ます。
文系学生やITに興味のある学生は、在学中にプログラミング学習を始めてみるのも良いかも知れませんね!