見出し画像

身に付くプログラミングの勉強法を未経験者向けに解説してみました

いざ、新しいことを始めようとすると「何から手をつけていいのか分からない」と悩みますよね。私自身、自分の学習パターンをわかっていて、毎度同じことをしているにもかかわらず、未だに始める前に思考も手も止まってしまいます。

スタートでつまづいていては、せっかくのやる気がもったいない!

どうも、こんにちは。
希少型ITエンジニア育成スクール「CORE ENGINEER」のサービス企画・販促を担当してますトモヨシです。

https://note.com/hiroto_tomoyoshi

そう思ったので、プログラミング未経験者向けに、学習の道筋やつまづいたときの対処法について解説、独学でも勉強していただけるように、オススメの本やアプリ・ウェブサイトについても紹介します。
 
初めてのプログラミングでもとっつきやすく、基本が身につけられるような内容になっています。この記事を読んで学習を進めていけば、初心者を脱してプログラムが書けるようになるはずですので、ぜひ最後までお読みください。

プログラミングの効果的な勉強法

勉強の本質は「プログラミングができるようになること」
できるようにならない、一向に身に付かないのであれば、その勉強に意味はなく、方法そのものを変えることをおすすめします。

モチベーションの保ち方の記事でもご紹介している内容ですので、合わせてお読みいただけますと、より参考になるかなと思います。

プログラミング勉強が続かない|そんな時のモチベーションの保ち方 →

作りたいもの・なりたい職業からプログラミング言語を決める

プログラミングを始めるにあたって、まずは自分が作りたいもの、なりたい職業等を決めましょう。作りたいもの・職業によって、対応するプログラミング言語が変わってきます。
 
プログラミング言語には様々なものがありますが、いくつもの言語を一度に習得するのは難しいので、まずは1つに絞りましょう。自分が一番何を作ってみたいのか考えて、目標を明確にすることが大切です。以下、開発できるものと言語の例を幾つかピックアップしています。

iOSアプリ開発がしたい:Swift(スウィフト)

iOSのアプリ開発がしたい場合、対応するプログラミング言語はSwiftになります。Apple系のソフト開発にはObjective-Cが一般的に使われていましたが、初学者にも扱いやすく、よりシンプルになったのがSwiftなのです。
 
Swiftは2014年にAppleが発表した、比較的新しいプログラミング言語のため、経験者がまだ少ないようです。そのため、Swiftが扱えるエンジニアは需要が高く、待遇がよい傾向があります。
 
Androidアプリ開発がしたい:Java(ジャバ)

Androidのアプリ開発がしたい場合、対応するプログラミング言語はJavaです。Androidアプリ開発だけでなく、家電、金融機関システムなど数多くのシステム開発に用いられています。
 
プログラミング言語の中でも人気があり、汎用性が高く高性能です。ただし、他のプログラミング言語に比べると難しい記述が多く、習得に時間がかかってしまうかもしれません。その代わり、需要が高いため習得ができれば就職に有利になるでしょう。
 
Web開発がしたい:Ruby(ルビー)

Web開発がしたい場合、対応するプログラミング言語はRubyです。Rubyは日本人が開発したプログラミング言語で、初心者でも習得しやすいというメリットがあります。RubyはWebサイトの作成に適した言語で、Rubyを使用したサイトは「クックパッド」や「食べログ」などが代表的です。
 
Rubyの開発には「Ruby on Rails」というフレームワークを用いることができます。フレームワークとは、枠組みがある程度決まっている開発ツールのことです。Ruby on Railsを使用することで、プログラミングを1から作る必要がなく、手間を省くことができます。
 
AI開発がしたい:Python(パイソン)

AI開発がしたい場合、対応するプログラミング言語はPythonです。PythonはAI開発以外にもWebアプリ開発やデータ解析にも使用されています。難易度も低めで、初心者でも理解しやすい文法のため習得がしやすいです。
 
比較的習得しやすいのに様々な分野の開発が可能なため、Pythonはかなり人気のあるプログラミング言語です。AIなど最先端の開発も行えるため、将来性があり今後もますます活用されることでしょう。

目標までの道筋を細分化する

作りたいもの・なりたい職業等が決まったら、目標までの道筋に小さなゴールを設定していきましょう。目標に向かってがむしゃらに頑張っても、途中で道を見失ったり、やたらと時間がかかってしまうものです。
 
目標までの道筋を明確にし、小さなゴールを達成していくことで、着実に前へ進んでいる実感を得られます。自分の成長を感じると挫折しにくくなるので、目標までの道筋を細分化することは大切です。

毎日必ず勉強する時間をとる

勉強をする際に大事になってくるのは、勉強のための時間を毎日確保することです。短い時間でもかまわないので、プログラミングに毎日触れましょう。
 
人は学習した内容を1日で74%も忘れてしまうと言われています。学習期間が空いてしまうほど、前回の内容を再度覚え直すのに時間がかかってしまうでしょう。毎日コツコツ学習をすれば、記憶に定着しやすくなります。まとまった時間をとるのが難しければ、スキマ時間などの短い時間を活用していきましょう。

インプット→考える/調べる→アウトプット

勉強をする上で、知識だけを詰め込むやり方はNG。
どんなに知識を詰め込んでも、実践してみると上手くいかないことはよくあります。
 
1つの型を覚えたら、実際に簡単なプログラムを書いてみましょう。インプットだけでは実力は身につかないので、必ずアウトプットすることが大切です。また、アウトプットを行うと、記憶に残りやすくなるメリットもあります。
 
学習の進め方については、以下記事にてまとめています。
プログラミングスキルを身に付けるには学習方法が肝|効率的な学び方をご紹介 →

プログラミング学習につまづいたときの勉強法

簡単なものをつくってみる

勉強のモチベーションが下がってきたら、実際に簡単なものを作ってみるのがオススメです。実際に作ってみると、書いたコードの動作が理解できたり、ものを完成させたという達成感を得ることができます。最初は立派なものを作ろうとは思わずに、簡単なコードだけで作成できるものを作ってみてください。

人に教えてもらう

勉強を進めると、教材を読んだだけでは理解できない部分が出てくるかもしれません。いつまでも悩むのは時間がもったいないので、分からないことは人に教えてもらいましょう。
 
周囲に気軽に聞ける人がいない場合は、SNSやWebサイトなどで質問することも可能です。人に教えてもらえばすぐに解決することも多いので、分からない場合は1人で考えすぎないようにしましょう。 

プログラミングの勉強法

本で学習する

Swiftの参考書:絶対に挫折しないiPhoneアプリ開発「超」入門 第8版

Amazonへ

Swiftの参考書でオススメなのは「絶対に挫折しないiPhoneアプリ開発「超」入門 第8版」です。「疑問を残さない詳細解説」をうたっており、プログラミングの経験がなくても安心して学習を進められます。
 
本書は地図アプリやカメラアプリなど、実際にアプリを作りながら学んでいく実践的な内容になっているのが特徴です。解説も丁寧なので、挫折することなくアプリ開発が学べます。
 
Javaの参考書:スッキリわかるJava入門

Amazonへ

Javaの参考書でオススメなのは「スッキリわかるJava入門」です。300点以上のイラストが使われており、ストーリー仕立てになっているため、楽しく学ぶことができます。
 
読者特典として仮想開発環境「dokojava」が用意されており、実践を交えながら学ぶことが可能です。巻末には「エラー解決・虎の巻」もついているため、初心者でも安心して学習できます。
 
Rubyの参考書:スラスラ読める Rubyふりがなプログラミング

Amazonへ

Rubyの参考書でオススメなのは「スラスラ読める Rubyふりがなプログラミング」です。プログラムのすべてにふりがなが振ってあり、初心者にやさしい一冊となっています。
 
プログラムの1文が何を意味しており、どのように動くのか理解を深めることが可能です。応用問題もあるため、Rubyについてしっかり知識をつけることができます。
 
Pythonの参考書:スッキリわかるPython入門

Amazonへ

Pythonの参考書でオススメなのは「スッキリわかるPython入門」です。プログラミングの基礎を分かりやすく解説し、楽しいストーリーで最後まで読み通すことができます。
 
プログラミングの仕組みやコツをしっかり身につけることができ、練習問題で知識の確認が可能です。挫折しない工夫が凝らされている一冊となっています。

アプリ・ウェブサイトで学習する

Progate

https://prog-8.com/

Progateは、多くの人がオススメしているプログラミング学習サイトです。無料プランでは基礎レベルの16レッスン、有料プランでは応用と実践が可能な79レッスンを受けることができます。イラスト中心のスライド学習を採用しており、とても分かりやすいのが特徴です。
 
Programming Hub

https://programminghub.io/

Programming Hubは、ゲーム感覚でプログラミング学習ができるアプリです。20以上のプログラミング言語に対応しており、コンテンツも随時追加されています。文章が英語で書かれていますが、高校生レベルの英語が理解できれば問題ないでしょう。
 
ドットインストール

https://dotinstall.com/

ドットインストールは、プログラミングを動画で学ぶことができるサイトです。文字起こしの閲覧も可能なため、音が出せない環境でも学習することができます。ドットインストールでは自分で書いたコードとの比較ができるため、きれいなコードの書き方が身につきやすいです。
 
paizaラーニング

https://paiza.jp/works

paizaラーニングは、1本3分の動画と練習問題で、効率的に学ぶことができるサイトです。環境構築が不要で、すぐにプログラミング学習を始めることができます。サポートも充実しており、学習で分からないことがあれば専属のエンジニアに質問することが可能です。
 
Udemy

https://www.udemy.com/ja/

Udemyは、開発だけでなく、デザインやビジネススキルなど様々なことが学べる有料動画配信サービスです。他のサービスとは異なり、月額制ではなく買い切り型となっています。一度購入すれば何度でも学習が可能なため、あとで動画が見られなくなるという心配がありません。
 
Schoo

https://schoo.jp/

Schooは、様々な講師の講座を視聴できる学習サイトです。いろいろなカテゴリの動画が見られるほか、無料で視聴できる生放送が毎日行われています。講師がたくさんいるため、自分と相性がよさそうな人を見つけるとよいでしょう。

スクールで学習する

希少型ITエンジニア育成スクール CORE ENGINEER

https://edict-coreengineer.com/

この流れで、自身が運営するスクールをおすすめするのは大変恐縮ではありますが、とても良いスクールだと自負していますので、ご紹介させていただきます笑

コアエンジニアは、「希少型ITエンジニアになる」とし、その名の通り、希少価値の高い開発実践力を備えたITエンジニアを育成することを目的に運営しています。

コースは、Webプログラマーコース、システムプログラマーコース、ゲームエンジニアコースと目指す職業ごとに分かれており、それぞれの職業に必要なスキルを網羅的に学ぶことが可能です。

以下コース概要ですので、ご参考ください。

【参考】
①Webプログラマーコース
[身に付くスキル]
HTML/CSS, JavaScript, PHP, WordPress, VisualStudio Code, XAMPP, Webサイト開発, 開発実践力
[制作物]
ネットショップサイト

②システムプログラマーコース
[身に付くスキル]
C++, JavaScript, HTML/CSS, PHP, WordPress, Android, VisualStudio Code, XAMPP, MySQL, フローチャート, Webアプリ開発, スマホアプリ開発, 開発実践力
[制作物]
チャットアプリ

③ゲームエンジニアコース
[身に付くスキル]
C++, C♯, JavaScript, Python, VisualStudio, フローチャート,  ゲーム企画, ゲーム開発, 開発実践力
[制作物]
横スクロールシューティングゲーム

継続学習できるように、受講生のモチベーションフォローも充実した、ITエンジニアとして実力が身に付くスクールです。※オンライン無料個別相談も実施していますので、気になる方は是非お気軽にご参加ください。

オンライン無料個別体験について詳しく見る →

最後に

当スクールのご案内も含めてしまいましたが、勉強法等はいかがでしたでしょうか。

何も知識がない状態からプログラミングを始めるのは、ハードルが高いと思うかもしれませんが、目標を明確にして初心者向けの本やサイトを活用すれば、独学でも着実にプログラミングスキルを身につけることができます。
 
ご紹介したものを参考に、勉強を始めてみてください。

最後までお読みいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?