数学が苦手でもプログラミングは習得できる?【どこまでの範囲が必要か】
こんにちは、GeekSalonライターの和也です。近年文系出身のエンジニアも増えてきている傾向からも多くの学生がITに興味を持たれています。
この記事をお読みの方は、プログラミングに「数学」が必要なのか、「文系の私でも大丈夫なの?」そんな悩みをお持ちなのではないでしょうか。
そこでこの記事では、この4つを紹介していきます。
- 数学にプログラミングは必要なのか
- 数学が必要のない分野
- 数学が役立つ分野
- 数学以外であると役に立つスキル
目次
数学が苦手でもプログラミングは習得可能
プログラミングと数学の関係
プログラミングも数学も、「論理的思考力」が求められるという点がよく似ています。
論理的思考力は、物事を筋道立てて考える力のことを指します。プログラミングも数学も、「この結果を出したい」という課題に対して、結果を得るために論理的な道筋で答えを算出していく力が必要です。
よって、数学が得意な人はプログラミングも得意である可能性が高い傾向にあります。
とはいえ、必ずしも数学が得意でないといけないわけではありません。これから数学が苦手な人に向けてプログラミングについて紹介します。
プログラミングは数学が苦手でも問題が無い
数学はプログラミングを行うにあたって必ずしも必要というわけではありません。ログイン機能や掲示板、検索機能などのWebサービスの開発には、数学が用いられないからです。また、これらは一般的なプログラマの業務内容にも含まれており、これらの開発を行う企業・業務では数学が必要とされないのです。
具体的に数学の知識が特に必要のない業務は以下の通りです。
- Webアプリケーション開発
- デザインのコーディング
Webアプリケーション開発
ログイン機能・検索/表示機能・掲示板など、私たちがよく使うWebサイトに用いられる機能には、数学の知識はほとんど使われていません。必要な場合があっても、足し算や引き算などの小中学生でも理解のできるレベルしか用いられないのです。
さらに、こういった初歩的な機能の実装も、一般的なプログラマの業務内容であるため、これらの作業を行う企業で業務を行う場合は、数学の知識は必要とされません。
デザインのコーディング
Webサイトを中心とするデザインのコーディングにも数学の知識は必要ありません。必要な知識は数学というよりも、中学生や高校生レベルの英語の単語力が求められます。
Webサイトの場合は、CSSという言語を利用しコーディングしますが、基本的には数学の知識は必要ありません。
数学の知識が必要になる分野
先ほど、プログラミングには数学の知識が必要ないということを解説してきましたが、中には数学の知識が役に立ったり、マストで必要になってくる分野もあります。以下で、いくつか紹介していきます。
これから紹介するものに興味がある人は数学にもしっかり目を向けていきましょう。
ゲーム開発
特に3Dのゲーム開発を始めとした、ゲームプログラミングには数学の知識が必要になります。3Dゲームの開発では、キャラクターやその他様々な物体の動作をよりリアルで滑らかに表現することが求められます。その物体の動作に役立つのが、数学の中でも三角関数といった物理の知識なのです。
人工知能
近年需要が高まっているAIの開発でも、数学の知識が多用されています。AIの開発では膨大なデータを扱い、予測計算を行います。その過程には微分積分・数理統計学・線形代数などの大学数学の知識が必要になります。他の分野と違い、AI開発ではこれらの知識を持っていないと、開発に携わるのは厳しいと言えるでしょう。
統計解析
統計解析とは、膨大なデータをあらゆる視点から分析し、特定の規則や傾向を見出すことです。ソフトウェアなどのマーケティングでもよく用いられています。標準偏差・確率分布・最頻値・分散を示すのには、統計学の知識が必要です。
また、プログラミングにはアルゴリズムが必須です。数学は、特にソートと呼ばれるアルゴリズムを理解するのに役に立ちます。ソートとは、複数あるデータをある規則に基づいて並べ替える、1種のアルゴリズムです。指数関数や対数といった数学の知識を持っていれば、ソートの計算時間や、メモリの消費量を調べるのに役に立ちます。
その他(画像処理、信号処理)
画像処理や信号処理にも、微分積分・フリー絵変換などの数学の知識が必要になります。また、文章などの文字情報から意味を持つ情報を取り出すテキストマイニングという解析作業では、機械学習のアルゴリズムが用いられます。
数学以外で求められる能力
プログラミングでは、数学の知識以上に求められるスキル・姿勢があります。ここからは、それらを紹介していきます。
これから紹介する力を持っているか持っていないかでエンジニアとしての市場価値が変わってきますので、ぜひ参考にしてみてください!
論理的思考力
こちらはプログラミングと数学の関係の章で既に述べてありますが、プログラミングでは論理的思考力が重要視されています。論理的思考力が身についていると、プログラムを組む際の作業効率がぐっと向上します。また、論理的思考に基づいて説明やコミュニケーションを行えば、相手への説得力も向上していくでしょう。
情報収集力
プログラミングを実際に行っていく上で非常に大切なスキルが、情報収集力です。プログラミングをする上で調べる力、いわゆる”ググり力“はとても重要になってきます。現役のエンジニアでさえ、調べて実装を行い業務を行なっています。そのため、情報収集力はとても重要な力となります。
コミュニケーション能力
プログラマの中には、営業を兼ねている職種や、他部署と連携を取りながらシステム開発を行っていく場合もあります。相手の要望を要件定義し、より忠実に再現するためには高度なコミュニケーション能力が必要です。先述の様に、相手に説得力のある説明を行うためにもコミュニケーション能力を身につけておくといいでしょう。
英語力
プログラミングでは、英文を用いたコードを入力することが多々あります。また、海外初のシステムやソフトを使う際には英語の記事を参照することもあります。スムーズな作業を行うためには、ネイティブレベルに英語を話せる必要はありませんが、中高生レベルのある程度の英語力を持っておくといいでしょう。
数学が苦手でもエンジニアになれた人の体験
GeekSalonの卒業生
これまでにも数多くの文系大学生がGeekSalonを受講されてきました。
当時、琉球大学の国際地域創造学部に所属していたKさんのお話です。GeekSalonを受講されたのは大学3年生の2月から。もう就職活動も始まっている中、GeekSalonを受講されました。GeekSalonでwebコースを3ヶ月受講された後、GeekSalonのメンターとして長期インターンを行いながら就職活動を行い、システムエンジニアとして就職されました。
実際、大学3年生までプログラミングにすら触れたことのない文系大学生が実際にGeekSalonでプログラミングを3ヶ月受講した後、半年ほど長期インターンを行なったことによってエンジニアになっています。
今の時代、文系エンジニアと言う言葉があるほど、文系出身の人がエンジニアになることは珍しくはありません。皆さんのやる気と学習機会でエンジニアになることも不可能ではありません。
Geekのカリキュラムを紹介
大学生限定のプログラミングコミュニティGeekSalonでは、数学の知識が無くても最短3か月間でプログラミングの自己開発を行うことができます。受講生の80%が独学スタート、60%が文系の学生です。
また、3ヶ月で完結するカリキュラムになっております。
パソコン操作が苦手な人でも3ヶ月間完走できるように、専属メンター制も取り入れています。同じ大学生が優しく教えてくれ、また気軽に質問できるため多くの大学生に好評価を得ています。
どんな方でも最後までやりぬくことができる環境があります。気になる方は、是非無料説明会に参加してみましょう!