【令和版】プログラミング初心者が独学する方法とおすすめのジャンル
  • プログラミングを勉強したいけど独学の場合は何をすればいい?
  • プログラミング学習は挫折者が多いと聞くけどなんで?
  • どうすれば独学でプログラミング学習を成功させることができる?
疑問に思う人

プログラミングを独学で勉強したいけど、実際に勉強しようとしてどうすればいいのかということでお困りの方も多いと思います。

小学生でもプログラミングを勉強し始める時代の流れもあり、これからはプログラミングができなくてもプログラミング的な思考を持っている人が重要な時代になるのは誰の目にも明らかです。

これからは、エクセルが使えない人が仕事ができない人のように捉えられるようにプログラミング的な思考を保有している人としていない人で仕事への評価が変わる時代と言えます。

そこでプログラミングを勉強しようとしても、実際にどうすればいいのかわからないというのが現状かと思います。

ここにはプログラミングの実装方法に関する勉強とプログラミングで何をするのかということをごちゃ混ぜにして考えてしまうということが原因にあります。

この記事では実際にプログラミングを学習した筆者がプログラミング初心者の人に独学で勉強するための方法を解説していきます。

AIの学習をするかどうかで迷っている方へのアドバイス
そもそもAIの学習をするのはなぜですか?
もしかしたらAI以外のことを学習した方がいいかもしれないし、そもそも学習する必要性がないかもしれません。
また、AIの学習方法も色々ありそれぞれにメリットデメリットがあります
当サイトでは実際にAIのスクールで学んだ筆者がAIの学習理由や学習方法などを提示していますが、重要なことはAI学習までの正しい学習ステップを踏むことです。
このステップを踏まないでいると、勉強した方がいいかで迷ってしまい時間を無駄にしてしまったり間違えた学習方法でお金を浪費してしまうことになります。

コツリン
実際に俺も学習をするまでに悩んでしまって時間を浪費したり、余計な教材を買ってお金を無駄にしてしまったんだ・・・。

このSTEP自体は完全無料でできます。
みなさんはAI学習をするかどうかで迷ったり、お金を浪費することのないように当サイトのAI学習までの正しいSTEPを参考にAI学習をするかどうか決めてみてください。

プログラミング学習

プログラミング学習をしよう

と意気込む人は多いのですがそもそもプログラミングとはなんでしょうか。

ここではプログラミングについてみていきます。

プログラミングとは

プログラミングとは人間がパソコンに対して動作を支持する指令書です。

パソコンは勝手に動いているのではなく、人間があらかじめ指示した内容に従って動作しているだけということになります。

そのため、文字通り機械的にロジックが決まっている作業については高速かつ正確に挙動させるということが可能になります。

ひとエちゃん
人間がどんなふうに動いて欲しいのか具体的に指示する作業がプログラミングということね

やりたいことが決まってプログラミング言語が決まる

プログラミング言語にもいろいろなものがあります。

  • Java
  • Python
  • PHP etc...

これらの言語にはできることとできないことがあるためプログラミングを勉強しようと考えた場合、何をしたいのかを考えないとどのプログラミング言語を勉強すればいいのか決まらないと言えます。

例えばスマホアプリ(Android)を開発したいのであればJavaがメインになりますし、Web開発を行いたいのであればPHPがメインになります。

いろいろな言語でもプログラミング言語の文法などは共通していることも多いため、一つのプログラミングに対する文法を習得したら他のプログラミング言語の習得も比較的用意と言えます。

しかしながら、単にプログラミングを勉強しようと言ってもいろいろな言語があるため一般的なプログラミング学習ではまず何をしたいのかということを決めて、目標を実現するために必要なプログラミング言語が何かを考えることになります。

プログラミング学習は二つのことを学ぶ必要がある

プログラミングを学習しようということは二つの意味があります。

  • プログラミングの文法を勉強する
  • プログラミングの実装の仕方を勉強する

文法部分の勉強ではプログラミングの書き方やルールを勉強します。

プログラミング言語にはいろいろなものがありますがその文法的な観点で考えると動作原理は次の3つで決まります。

  • 順次処理
  • 反復
  • 条件分岐

この3つの処理を組み合わせることでパソコンの挙動が決まっていきます。

コツリン
プログラミングというと複雑な印象があるかもしれないが、基本原理を突き詰めていくとこの3つに集約されるといえるぞ

一方で勉強したプログラミングの文法部分を実装しようとする場合には違う技術も必要になるのでそのための技術を習得します。

野球でもバッティング練習だけでは実践では使えないのと同じことになります。
実践の中ではバッティングの技術を活かして状況判断などからピッチャーがどのような球種を投げるのかの予想をしたりするなどの技術や考え方が重要になります。
プログラミングの文法の勉強は野球で言うところのバッティングの練習であり、実装の方法はまた違う技術の習得などが必要になってきます。

挫折ポイント

プログラミングは人工言語でもあるため文法部分についてはルールが明快です。

そのためプログラミングの文法部分についてはそれほど難しい学習内容ではないと言えます。

コツリン
プログラミングの文法部分の学習で挫折している人は見たことがないくらい簡単だ

プログラミングを独学で習得しようとすると多くの人が挫折しますが、挫折する人の多くが実装方法の部分で挫折することになります。

プログラミングの文法部分の勉強はルールが明快であるため多くの人が理解できるということもあり挫折するということはそれほどありません。

一方で実装する部分になると次の理由などで挫折する人が多いです。

  • プログラミングを通してやりたいことが明確でないため何をすればいいのかわからない
  • 実装方法の技術がいろいろあって何を勉強すればいいのかわからない
  • 実装方法部分の技術の存在理由がわからない

実装部分の技術はいろいろなものがあります。

それらの全てを習得しようとすることは不可能です。

よくプログラミングができる人はプログラマーとして一括りにしますが、プログラマーの中でもジャンルがあり実際にできることは人によって違うと言えます。

野球でも、ピッチャーやキャッチャー、外野、内野の技術は共通部分がある一方でポジションによって違うと言えます。
野球選手と言ってもいろいろなポジションでそれぞれ技術を磨く必要があると言えます。

もちろんジャンルは違うにしても基本技術については共通している部分も多いので一つのジャンルのプログラミングを勉強すれば他のジャンルのプログラミング技術についても習得することは比較的簡単にできます。

また、実装方法の技術というのはやってみてわかる部分が多いです。

そのため、単に実装方法を勉強しようではなく何をしたいのかということを明確にしとりあえずやってみるということで習得することができる技術と言えます。

プログラミング学習の目標

プログラミング学習では目標が大事と言いますが、目標の決め方も考える必要があります。

プログラミングの学習ではプログラミングの文法部分とプログラミングの実装方法の二つを勉強する必要がありますが自分がどこまで勉強したいのかということは明確にしておく必要があります。

コツリン
教養としてプログラミングを知りたいのか、実践的な部分まで知りたいのかによっても学習範囲が変わるぞ

これからは学生でもプログラミングができるのが当たり前の時代になっていきますが、学生が学ぶ範囲がまだ明確ではないですがおそらくプログラミングの文法部分のみとなる可能性が高いと思われます。

実際の開発部分の勉強を行うことになるといろいろな知識が必要になるため「何を目標にするのかという課題設定が難しい」「開発目標によって必要な知識が変わるため学習環境の構築などが難しい」ということがあるからです。

英語でも基本的なことは学校で教えてくれますが、製薬業界の英語、エンジニア系の英語など専門的な部分まで教えようとしたら学校での学習はほぼ不可能と言えます。
そのためどこでも通用するための英語の基礎を学校で学んでいるということになります。

プログラミングの文法部分だけであれば比較的簡単に勉強できるためこれからの社会人はプログラミングの文法を知っている人が多くなることが予想されます。

自分がこのプログラミング的な発想を持っているだけでいいのかそれとも実際に何かしら開発を行うなどもっと深く知りたいのかと言った目標をどこに設定するかは考えておく必要があります。

プログラミングの独学方法

ここからはプログラミングの独学方法について解説していきます。

【一番大事】目標を決める

プログラミング学習を独学で行う場合は、自分で学習のロードマップを決めないといけないためプログラミング学習の目標をどこにおくのかを考えましょう。

具体的には次のことを決めます。

  • プログラミングを教養として学習したいのか
  • プログラミングで開発をするなら何を開発したいのか

プログラミングスクールなどではこういった目標をあらかじめ設定してくれていて、その目標に向かってカリキュラムが決定しています。

しかしながら独学の場合は自分でカリキュラムを設定しないといけないことから目標をしっかりと決めておきましょう。

もしプログラミングを教養として学習したいのであればPythonの勉強がおすすめになります。

Pythonはプログラミング言語の中でも次のような特徴を兼ね備えています。

  • プログラミング言語の中でも初心者でも書きやすい
  • 汎用的な言語なのでできることが多い
  • 他のプログラミング言語とも共通している考えが多いので他の言語の学習も行いやすい

実際にプログラミング学習を始めると、何か開発を行なってみたいということになること想定されますがPythonは他の言語に比べてできることが多くあることなどから学習後の軌道修正が容易ということがあります。

とりあえず、教養としてプログラミングを勉強したいのであればPythonを勉強してみましょう。

プログラミング部分の文法に関する勉強

プログラミングの基礎である文法の学習ではWeb上などに多くの無料教材が出てきています。

その中でも代表的なのがProgateになります。

プログラミング学習においてプログラミングの文法自体は習得がそれほど難しいということもないことなどから多くのWeb教材などが無料で開放されています。

コツリン
プログラミングの文法を習得するだけであればここの学習だけで十分ともいえるぞ

これらを使えばプログラミングの基本は無料で習得することが可能となります。

目標部分

プログラミングでしたいことが決まっている場合は目標部分の構築に関する勉強も行う必要があります。

プログラミングを通して実装したい目標部分はいろいろな方法があるので目的に合わせて書籍を購入するかUdemy で勉強しましょう。

目標部分の学習では次のことが重要になります。

  1. 目標設定
  2. 目標部分の内容を一通り勉強する
  3. 自分のやりたいことに対する内容を取捨選択する

プログラミング初心者の場合、文法を習っただけでは実際の開発で何がすればいいのかわからないという事態に陥りやすいです。

そのため、まずは教材の内容などを簡単で構わないので一通り学習してしまいましょう。

プログラミングでできることを知ることで実際に必要な知識を見つけていき開発を進めることがおすすめになります。

ひとエちゃん
プログラミングでできることを一通り体験してから実際に必要な知識を取捨選択するということね

【目標が決まらない人むけ】学習しておくべきプログラミングジャンル

プログラミングを勉強しようと考えても結局目標がないため何を勉強すればいいのかわからないということから挫折をする人も多いです。

そのため、プログラミングを独学するのであれば適切に目標を設定する必要がありますがその目標としておすすめなのがAIに関するプログラミングです。

AIに関する独学方法は下記の記事でまとめています。

市場が伸びている

プログラミングを学習するのであれば社会から必要とされている内容を学習した方が学習後に「学習した方が転職ができる」「副業ができる」などメリットが大きいです。

プログラミングと言ってもいろいろな開発がありますが最近ではノーコード・ローコードによる開発もできるようになっていることから簡単な開発については誰でもできるようになっている時代です。

一方でAIに関してはまだまだ発展しかけているジャンルであり人材不足が顕著なジャンルです。

コツリン
まだまだ世に出てきて浅いから今のうちに勉強しておけば、いろいろな経験を得ることができるぞ

これから伸びるジャンルを勉強しておくことでAIに関する人材として、さまざまな知見を習得することができることからAIはおすすめと言えます。

独学で無料の教材が充実している

AIは機械学習と呼ばれる技術を利用していることが多いですが、この機械学習とは過去のデータから特徴をアルゴリズムに落とし込む作業のことをいいます。

そのためAIはデータ活用と密接な関係にあると言えます。

現在、日本ではこのデータ活用に関して2025年の壁と呼ばれる問題などからデータの活用によってビジネスを推進するDXが国によっても急務となっています。

そのためマナビDXなどでさまざまな企業が無料の学習教材を提供してくれています。

こういった時代の流れとしても無料の教材が出てきていることから初心者のための独学の環境が整っていると言えます。

勉強してから目標を考えられる

AIに関する学習は他の学習範囲と違い学習項目が狭く決まったことを中心に行うため学習がしやすいです。

AIは応用範囲が広いため学習した内容を実際に応用してみるといったことができます。

  • AI×マーケティング
  • AI×経済
  • AI×音楽

仕事に限らず自分の趣味などと掛け合わせることも可能なため、実際にAIを勉強してから自分で何をするのかという目標も立てやすいと言えます。

コツリン
もちろん単にAIの構造の勉強をするだけでも価値のあることだ

これからの時代を楽しめる

AIはこれからさまざまな場面で活用されていくことになりますが、AIのことを知っていればAIで何ができて何ができないのかということがわかるようになります。

今後、小学生にプログラミングを学習させるための文科省の議論では次のように書かれています。

2.これからの時代に求められる資質・能力とは
(1)情報を読み解く
(2)情報技術を手段として使いこなしながら、論理的・創造的に思考して課題を発見・解決し、新たな価値を創造する
(3)感性を働かせながら、よりよい社会や人生の在り方について考え、学んだことを生かそうとする

小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)

これからは時代に必要な資質として課題解決能力や感性が挙げられていますが、AIを知っておくことでなぜこれらの能力が必要なのかということの本質なども理解することができます。

まとめ

プログラミングを独学で学習する際に大切なことは学習項目には二つが存在し、そのうちどこまで学習するのかということを決めることです。

  • プログラミングの文法を勉強する
  • プログラミングで開発手法を勉強する

このとき自分が教養としてプログラミングを勉強したいのであればプログラミングの文法を勉強することで目標は達成できます。

一方で実際に開発を行いたいのであれば開発手法まで勉強する必要がありますがその際は書籍で勉強するかUdemy で自分の目標に合った項目を学習しましょう。

また開発手法の勉強では一通りの内容を行なってみることでプログラミングで実際に何ができるのかを知ってから自分の目標に対して必要なスキルを取捨選択していきましょう。

おすすめAIスクール

キカガク

アイデミー

データミックス