「自分は数学が苦手だからプログラミングはできない」と思っている人はいませんか?実は、数学が苦手でもプログラミングは学べます。この記事では、数学が苦手でもプログラミングを学べる理由と、実際にプログラマーになった人の声を紹介。さらに、プログラミング学習に必要な数学の知識について解説します。
なお、未経験からプログラミングを習得してプログラマーを目指したい人には、無料のプログラミングスクールプログラマカレッジがおすすめです。
最終更新日:2025年7月4日
目次
数学が苦手でもプログラミングはできますし、文系出身者でもプログラミングを活かして活躍している人は多数います。
もしあなたが数学が苦手でも、プログラミングが苦手とは限りません。プログラミング学習を考えているのであれば、諦めずチャレンジしてみてください。以下で、プログラミングは数学が苦手でもできる理由について、より詳しくお伝えします。
プログラミングには数学が必要だと思われがちですが、特定の分野以外では高度な計算式は必要ありません。
例えば、未経験からでも目指しやすいWebプログラマーの仕事では、中学や高校で学習するような証明、微分積分などの難しい計算式や物理などの高度な知識は不要です。
プログラミングに必要なのは、数学よりもむしろ小学校で習うような算数の知識や考え方です。
プログラミングに必要なのは、数学よりも論理的思考力です。論理的思考力とは、物事を筋道を立てて考え、整理していくような考え方のこと。
一般的に論理的思考力が高い人は数学が得意と思われがちですが、必ずしもそうとは言い切れません。
計算問題を解くスピードが速い人でも論理的な思考が苦手な方はいます。また逆に、公式を覚えておらず計算に時間がかかってしまう人でも、論理的な思考が得意な人はいます。論理的思考力を求められるのは理系科目だけではありません。文章を読解するためにも論理的思考力は必要です。
実際に、IT業界でエンジニアとして活躍している文系出身者はたくさんいます。
独立行政法人 情報処理推進機構が発表したIT人材白書によると、IT企業で働いている人のうちおよそ3割は文系出身者。企業によっては、半分以上が文系ということもあります。
「学生時代にWebサイト制作の授業で学んだプログラミングが楽しかったことを思い出したんです。
文系出身でエンジニアになった友人もいたので、私もプログラマーになれる可能性を秘めているんじゃないかなと思って。」
自分もIT未経験から始めたので、心配しなくても全然大丈夫です。勉強が苦手でも問題ありません。動画を見ながら手を動かすので、勉強という感じもしませんでした。個人的な感想としては、学校の勉強で言えば数学や英語というよりは、美術の授業に近いような感覚でしたね。楽しみの延長でスキルを身につけられたし、就職もできたという感じです。
本当に楽しいので、迷ったらぜひ受講してください!
先にも紹介した通り、プログラミングにとって数学は必須ではありません。しかし中には、数学的知識が必要とされる部分や重要とされる分野があります。さらに、数学ができれば、より幅広い分野のプログラミングに対応できるというメリットもあります。
以下で具体的にお伝えします。
プログラマーやエンジニアが活躍する分野の中には、一部高度な数学の知識が必要になる分野があります。例えば、以下のような分野です。
• ゲームプログラミング
• AI(人工知能・機械学習)
• 統計処理
しかしこれらの分野は、プログラミング初心者がいきなり目指すのは難しい分野でもあります。ある程度エンジニアとしての経験を積んでいく中で、上記のような分野に挑戦したいと思ったら、高度な数学の知識があるに越したことはありません。
数学の知識は、プログラマーとしての幅を広げるのにも役に立ちます。
例えば、プログラミングでは配列を使うことがよくあります。これは、高校数学の範囲である行列や数列の知識が頭に入っていると習得しやすくなります。同様に、数学の知識があることで理解しやすくなる処理は数多くあります。数学の知識がないと使えないわけではありませんが、理解し使いこなせるようになるまでの時間に差が出ます。
結果的に、数学の知識があった方がプログラミングの習得にかかる時間が短くなり、同じ時間でも多くのことを学習できるため、プログラマーとしての幅を広げることが可能になります。
プログラミングでは、「こうなったら、こうする」というように、論理的に物事を組み立てる力が求められます。その中でも特に重要なのが「AND」「OR」「NOT」という考え方です。
■ AND(かつ)
両方とも条件を満たすときだけ実行する
【例】ユーザーがログインしていて、かつ管理者であるときにだけ設定画面を表示する
設定画面を表示する条件:ログインしている AND 管理者である
■ OR(または)
どちらかの条件を満たしていれば実行する
【例】平日または祝日なら通知を表示する
通知を実行する条件:平日 OR 祝日
■ NOT(ではない)
ある条件が成立していないときに実行する
【例】ログインしていないユーザーにログイン画面を表示する
ログイン画面を表示する条件: NOT ログイン中
論理思考は数学というより「考え方のクセ」に近いものです。日常生活の中にもたくさんあるため、プログラミングの練習を通して自然に身につけることができます。
プログラミングの最初の段階では、高校数学のような難しい内容は必要ありません。足し算・引き算・かけ算・割り算ができれば学習を進められます。
ただし、次のような数学的概念を知っておくとプログラミングに役立ちます。
概念 | わかりやすい説明 | どんな場面で使う? |
---|---|---|
数の型(整数、少数など) | コンピュータは「1.0」と「1」を別物として扱う | 計算ミス・エラー防止に必要 |
順番と位置(配列・リスト) | 「0番目、1番目…」のように、順番には数字がつく | データを並べて管理するとき |
繰り返し(ループ) | 同じ処理を何回も自動でやらせる | 「10人分の成績を表示する」など |
条件分岐(if文) | 「もし〇〇なら〜」のような判断 | ボタンが押されたら反応する、など |
変数 | 情報に名前をつけて使い回す | 「得点」や「ユーザー名」などの管理に |
これらの概念は、プログラミングを学ぶ中で登場するものです。最初は完全に理解していなくても問題ありませんが、学習の中で必要に応じて利用できるようにしておきましょう。
プログラミングの基本は「論理」と「手順」です。例えば、朝の支度をプログラムにした場合以下のようになります。
簡単なプログラムは、このようにやるべきことを並べるだけでも完成します。さらに「雨が降っていたら傘を持っていく」「最低気温が15度以下になる日は上着を着る」などの条件分岐を加えるとさらに複雑なプログラムとなります。
プログラミングとは難しい数式を書くことではなく「コンピューターに手順をわかりやすく伝える技術」です。料理のレシピや掃除の手順を考える感覚に近いため、論理的に考える習慣があれば数学が苦手でも十分に対応できます。
フロントエンド開発とは、簡単にいうとWebサイトの見た目や操作する部分を作る仕事です。
HTML・CSS・JavaScript等をつかってボタンや画像、入力フォームなどを作ります。数学よりも、どちらかといえばデザインや使いやすさに興味がある人に向いている仕事だといえるでしょう。
目に見える成果がすぐに確認できるため、達成感を得やすい仕事でもあります。
アプリケーション開発の基礎とは、スマホやパソコンで動くアプリを作るための「土台」を学ぶ分野です。例えば、ログインや検索など普段インターネットやスマホアプリを使う中でよく使っている機能には、高度な数学はほとんど用いられていません。
もちろん、複雑なアプリを作りたい場合、アプリの内容によっては高度な数学が必要になる場合もあります。
しかし、基礎的な分野を学ぶために高度な数学を要求されることはないため、数学が苦手でも学習しやすいでしょう。
データを受け取ってわかりやすく見せるようなシンプルな処理を行うプログラムであれば、高度な数学の知識がなくても開発できます。
例えば、アンケート集計ツールや家計簿アプリ、決まったキーワードに反応して返答を返すチャットボットなど、身近で使いやすいものも多いためチャレンジしやすいでしょう。
プログラムを作ってみたい人は、こうしたシンプルで数学の知識がそれほど必要ないものから挑戦するのもおすすめです。
プログラミングには、数学よりも必要とされるスキルがたくさんあります。数学を学ぶことも大切ですが、それより前にここで紹介するスキルを身につけておくと、プログラミング学習をスムーズに進められます。
どのようなスキルがプログラミングに必要とされるのか、具体的に解説します。
論理的思考力とは、筋道を立ててものごとを考える力のこと。一見複雑に見える問題を、一歩ずつ解決に近づけていく力とも言えます。
例えば、「夏になると知覚過敏用の歯磨き粉が売れる」というデータがあります。「夏」と「知覚過敏」には一見なんの関係もないように思えます。
この現象が起きる理由は以下の通りです。
このように、順を追って考えられる力を論理的思考力と呼びます。プログラミングはそれ自体が論理的な構造となっているため、論理的思考力が欠かせません。
✔ プログラミング言語は英語で出来ている
繰り返し出てくる単語はプログラミングを学んでいるうちに覚えられるので、改めて英語学習の時間を確保する必要はありません。ただし、文献を参考にしてプログラミングを進めようとする場合にはさらなる英語力が必要になる場合があります。
✔ マニュアルは英語の場合がある
プログラミングを習得するためには、長い時間の学習が必要です。さらに、プログラミングにつきものなのがエラーです。
プログラミング学習の中で、エラーがたくさん出てしまうと「自分はプログラミングに向いていないのではないか」と思ってしまうこともあるかもしれません。しかし、それを乗り越えて学習を続けられる人だけがプログラミングを習得できます。
プロのエンジニアでも、エラーと戦いながらプログラムを作成しています。エラーが出るのは当然だということを知っておくだけでも、学習を続けやすいでしょう。
長時間エラーが解決できないことも学習を断念してしまうきっかけとなるので、困った時に相談できる人を見つけておくのも重要です。
プログラミングを使いこなすには、膨大な知識が必要です。大きなシステムを何も調べずに組み上げるのは、熟練のエンジニアでも難しいでしょう。
プログラミングをある程度学んでも、続けていくうちにわからないことは次から次へと出てきます。そんなときに、すぐ調べられる人はプログラミングスキルが伸びやすい傾向があります。調べてみて自分だけで解決できないときには、ためらわず人に聞けることも情報収集力の一種です。
プログラマーやエンジニアは、黙々とパソコンに向かって仕事をしていて、コミュニケーションが必要ない仕事というイメージを持っている人も多くいます。しかし、ほとんどの場合仕事はチームで行うため、チーム内でのコミュニケーションは欠かせません。
また、立場によってはクライアントとのコミュニケーションも必要です。クライアントは必ずしもプログラミングの知識を持っているわけではないので、技術に関する知識がない人にもわかりやすく説明できるスキルを身につけておくと役立ちます。
数学が苦手かどうかに関わらず、初心者がプログラミングを学習し、習得するためには次の3つのポイントが重要です。
• 正しい手順で学習を進めること
• 実際に手を動かしてたくさんコードを書くこと
• 学習を継続すること
ここでは、初心者でも取り組みやすい3つの学習方法を紹介します。
出典:Scratch
ひとつめは、プログラミングゲームアプリで学ぶ方法です。プログラミングゲームアプリで学ぶメリットは次の通りです。
• ゲームなので楽しく学べる
• 隙間時間でも学習しやすい
• 無料で遊べるゲームも多い
例えばScratchは、日本語でプログラミングの練習ができるアプリです。ブロックを組み合わせてプログラムを作っていくアプリで、小学生でも理解できるほど簡単な部分からプログラミングの学習を始められます。
プログラミングの考え方に慣れてきたら、CODE COMBATのような少し難易度の高いゲームに挑戦してみるのがおすすめ。RPGで遊びながら、それぞれのステージに設定された課題をクリアして進めます。
アルゴリズムを学べるアプリなどもあり、どれもゲームとは言っても楽しみながらしっかり勉強を進められるようなものとなっています。
出典:Progate
学習サイトを使ってプログラミングを学ぶ方法もあります。学習サイトで学ぶメリットは次の3つです。
• 自分のペースで学習できる
• 隙間時間を活用できる
• 自分に合った難易度で学習できる
プログラミング学習サイトとして特に有名なのがProgateです。初めてプログラミングに触れる初心者から上級者まで学習できます。環境構築不要で、スマホアプリもあるので移動中などの隙間時間も活用しやすいのが特徴です。
忙しくてなかなか学習時間が確保できない人にはCODEPREPがおすすめ。1日10分の学習でも達成感を得られるよう作られています。ディスカッションボードと呼ばれる掲示板機能があり、わからないところはすぐに質問できるのもメリットです。
プログラミング学習は、手を動かして実際にコードを書きながら学ぶことが重要です。特に数学が苦手な人の場合、頭で考えるよりも手を動かす方が頭に入りやすい傾向があるので、アプリなどを使ってプログラミング学習を進めてみてください。
おすすめのプログラミング学習アプリは、以下の記事でも紹介しています。
本格的なプログラミング学習を考えているなら、プログラミングスクールで学ぶのがおすすめです。プログラミングスクールで学ぶメリットは次の3つです。
• 専門的なカリキュラムに沿って効率よく学べる
• 挫折する可能性が低い
• 困ったらすぐ相談できる
独学でのプログラミング学習は、挫折してしまいやすい傾向があります。しかし、プログラミングスクールであればサポートを受けながら学べるため、挫折しにくいのがメリットです。また、独学では目的に対して遠回りな学習になってしまうこともありますが、プログラミングスクールであればカリキュラムに沿って効率よく学習を進められます。
弊社が運営するプログラマカレッジは、完全無料のプログラミングスクールです。仲間と共にプログラミングを学べるのはもちろん転職サポートのサービスがあるため、エンジニアやプログラマーを目指す人にぴったり。
キャリアアドバイザーと相談しながらの転職活動も可能です。ぜひ、お気軽にお問い合わせください。
まずは「自分は数学ができないからプログラミングも無理」という思い込みを捨てましょう。そもそも、プログラミングに高度な数学は不要です。
さらに、数学についても「できない」ではなく「わからないだけ」と考えることで、苦手意識の克服に繋がります。「わからないことは少しずつ覚えれば良い」「少しだけでも学べた」といったように、できないことではなくできること、できたことに目を向けてみましょう。
「できない」という思い込みを捨て、少しずつ覚えていけばよいというマインドセットが、プログラミングにおいても数学においても上達への道となります。
学習の際にはいきなり難しいことを進めようとするのではなく、段階的に学習をすすめましょう。
例えば、次のようなステップで学ぶのがおすすめです。
• 簡単なコードを真似して書いてみる
• 変数やif文など、基礎の使い方を覚える
•「じゃんけんゲーム」などのミニ課題に挑戦してみる
• 途中で気になったことをその都度ネットで調べる
このような手順でプログラミングを学習すると、必要な知識はだんだんと身についてきます。自分がやりたいことをやるために数学が必要になった場合には、その段階で焦らず少しずつ知識をつけていけば、比較的習得しやすいでしょう。
プログラミングには、いくつかつまずきやすいポイントがあります。これまで生活の中であまり使ったことがない考え方が出てくるため、つまずくのは当然です。自分のペースで、少しずつ理解を深めながら学習を進めましょう。
例えば、初心者がつまずきやすいポイントには次のようなものがあります。
• 変数や関数の仕組みがイメージしづらい
• 繰り返し処理(for文、while文)で混乱する
• エラーの意味がわからなくて止まってしまう
学習につまずいたときには、まず学習サイトや参考書などを使って図やイラストで解説を確認して見るとよいでしょう。さらに、わからないことがあったときには答えを得ようとするのではなく「なぜそうなるのか」を調べるクセをつけてみてください。
どうしてもわからない時に質問できる環境を見つけておくと、よりスムーズに学習を進められます。
プログラマカレッジ
キャリアアドバイザー 松山 光
キャリアアドバイザーと個別研修担当として、受講生に寄り添った支援を心がけております。はじめてのプログラミング学習に苦手意識をもってしまう方、逆に得意だと感じる方もいます。面接が得意な方もいれば不安な方もいるでしょう。誰一人同じということはなく、様々な受講生がいらっしゃいます。そのようなひとりひとりの個性を大切にしながら、皆様が自信をもって就職活動に臨んでいただけるよう研修と転職のサポートをさせていただきますので安心してご参加ください。
数学が苦手でも、プログラマーとして活躍することは可能です。すべての分野のプログラマーが高度な数学を求められるわけではありません。
それよりも、重要なのは問題解決能力です。数学が苦手だからと諦めず、ぜひチャレンジしてみてください。
以下の記事では、文系プログラマーの長所について詳しく解説していますので、あわせてご覧ください。
結論から言うと、必須ではありません。
プログラミングは、一部の天才だけのものではありません。もちろん、飲み込みが早い人はいますが、それ以上に「論理的に考える力」「粘り強く試行錯誤する力」「学び続ける意欲」といった後天的に伸ばせるスキルの方が重要です。
高いIQとプログラミング能力に明確な相関関係があるというデータはなく、むしろ「問題を細かく分解して一つひとつ解決していく」という地道な作業を楽しめるかどうかが、上達の鍵を握ります。
数学の知識がなくても始められるプログラミング言語は多数ありますが、初めての学習におすすめなのはHTML/CSSやJavaScriptです。
HTML/CSSはWebサイトのデザインや装飾を作成するための言語です。JavaScriptを使うと、Webサイトに動きを与えられます。
これらの言語は比較的学習難易度が低いため習得しやすいことに加え、Webサイトを作れるようになると、自分の作品を掲載するポートフォリオも作成可能です。
そのため、まずはHTML/CSSやJavaScriptから学習を始めるのがおすすめです。
初心者におすすめのプログラミング言語については、以下の記事で詳しく解説しています。
・Webサイトやブログの制作
自分だけの情報発信の場を作れます。
・スマートフォンのアプリ開発
日常生活を便利にするオリジナルアプリを作れます。
・業務の自動化
面倒な手作業を自動化するツールを作り、仕事や作業の効率を劇的に改善できます。
・ゲーム開発
自分が思い描いた世界のゲームを制作できます。
▶ 参考記事:プログラミングでできることとは?活用例や学習方法を紹介|インターノウス株式会社
プログラミングを習得するためには、学習の継続が重要です。毎日30分でも良いので、継続して学習できるよう時間の使い方を見直してみてください。
通勤時間やちょっとした待ち時間などの隙間時間を有効に活用すると、忙しくても学習を継続しやすいでしょう。
プログラミングに必要な学習時間については、以下の記事で詳しく解説していますのでぜひご覧ください。
・基礎構文の理解
200〜300時間
(簡単なWebサイトの模写や、基本的な機能の実装ができるレベル)
・就職・転職を目指せるレベル
約1000時間
(自力でオリジナルサービスを開発できる実践的なスキルが身につくレベル)
■ プログラマカレッジの学習時間と期間
プログラマカレッジは、受講料完全無料で受講できるプログラミングスクールです。2〜3ヶ月後の研修終了後に就職活動を行います。
研修時間は平日5日間コースの場合420時間、個別フリーコースの場合は200時間です。じっくり研修を受けてスキルを身につけてから、就職活動を進められます。
\簡単登録30秒!!/
プログラミングのために数学を学びたいと考えている場合には、すべてを学ぶ必要はありません。プログラミングに必要な数学だけを学べば十分です。
学習の中で、コードと一緒に数学についても学んでいくとよいでしょう。プログラミングに必要な数学は条件分岐や繰り返しなどそれほど難しいものではありません。机に向かって数学だけを学習するよりも、使いながら学ぶことで身につきやすくなります。
作りたいものからどのような知識が必要か逆算すると、モチベーションを維持しながら学習を続けやすくなります。
ProgateやYoutube、マンガ形式の書籍など、初心者向けの教材を使いながら学んでみましょう。
物事を順序立てて考えるのが好きな人、分からないことを調べて自分で解決することが苦でない人、新しい技術や情報に興味がある人、コツコツ作業や学習を積み上げられる人が向いているとされます。
ただし、これらの特徴が必ずしも全て備わっている必要はありません。興味と意欲があれば、誰でもプログラミングを学ぶことができます。
■ プログラマカレッジのサポート体制
プログラマカレッジでは、不明点をZoomで個別に講師に質問できます。
わからないことを放置せずすぐに解決できるため、挫折の可能性を下げられます。
また、チャットやQ&A掲示板を利用しての質問も可能です。
気になること、解決できないことがあればzoomの個別ルームにて講師と1対1でのやり取りができます
プログラマカレッジ プログラマーコース受講風景
\簡単登録30秒!!/
プログラミングを学ぶのに、高度な数学は必要ありません。必要なのは、論理的思考力です。
数学に苦手意識を持っていても、プログラミングは習得できます。プログラマーとして活躍することも可能なため、まずは勇気をもって、プログラミング学習の一歩を踏み出してみましょう。
自分に合う学習方法を見つけられると、きっとプログラミングを楽しめるはずです。
独学での習得に自信がない、困ったときに質問できる環境がないという場合には、無料のプログラミングスクール「プログラマカレッジ」がおすすめです。数学が苦手な方、これまでプログラミングの経験がない方でもゼロからプログラミングを学習できるため、ぜひ一度無料オンライン説明会にご参加ください。
\簡単登録30秒!!/
INTERNOUS,inc. All rights reserved.