「プログラミングを始めたい」と思ったが、何からやればいいのか分からないこと、ないでしょうか?
そんな時の考え方、勉強の始め方を紹介します!
プログラミングで必ず活きるのがブラインドタッチ(見ないでキーボードを打つ技術)ですので、初めて聞いたという方はこちらもどうぞ
そもそもプログラミングって何?
まずはプログラミングとは何かを確認します。
プログラミングとは、
「論理を組み立てて、自動で動く仕組みを作る」
ことになります。
プログラミングは身の回りにあふれています。
例えば信号機は「赤、青、黄の3色が一定時間毎に点灯を繰り返す」機械ですね。
これがプログラミングで、予め人間が機械に動作を指示して後は機械が自動で動きます。
信号がないと車の運転もできませんから、信号機はプログラミングで世界が便利になっている例ですね。
プログラミングの技術が上がると、便利なもの・面白いものを作ることができるようになります。
それではプログラミング学習の考え方、進め方に移ります。
プログラミングの学習手順:まずは言語を決めよう
プログラミングを始める時、まず決めるのが言語です。
なぜ言語を決める必要があるのでしょうか?
それは、プログラミングは「人と機械(コンピュータ)との対話」だからです。
日常生活で会話する時、無意識に話しても会話が成立しますよね。
これは、お互いが日本語で話しているからです。
反対に、こちらが日本語で話していて、相手から英語が返ってきていては会話が成立しません。
日常会話で使うのと同じように、プログラミングでも機械と対話するために言語が必要です。
プログラミング言語ですが、有名どころだけでも30以上あり全部の習得はできません。
例を挙げてみます。
・Java
・C++
・C
・C#
・Python
・Ruby
・JavaScript
・PHP
・Go
・Perl
・Scala
まずは、学習するプログラミング言語を1つ決めるのがおすすめです。
決め方としてはこの後紹介します。
作りたいものがあれば逆算して学習できる
自分の作りたいものが何となくある場合、そこから逆算すると効率が良いです。
以下に作りたいものがあれば、目安となる言語があるのでそれを勉強してみましょう(管理人の主観が入ってます)
・PCゲーム(2D、3D):C#
・Web制作、デザイン:HTML+ CSS+ Python or PHP
・SE(システムエンジニア):Java
・競技プログラミング:C++ or Python
・IoT機器:C++ or Python
・スマホアプリ:Java(Android)、Swift(iPhone)
それぞれの言語には得意分野、不得意分野があり上の言語が目的にマッチしています。
上に作りたいものがあれば、対応する言語をまず勉強してみましょう。
特に作りたいものがなくてもOKです。(勉強するうちに何か作りたくなってきます)
この場合はとりあえず「C++ か Python」を選ぶのがおすすめです。
言語を決めたら無料学習サイトでとりあえず始めてみよう
学習する言語を決めたら、早速無料学習サイトで始めてみてください。
プログラミングは特に「実際に手を動かさないと上達しない」技術です。
勉強といえば「座学して資格をとる」イメージがあるかもしれませんが、プログラミングに関してはそれは誤りです。
私は情報系の資格「基本情報技術者」「応用情報技術者」を取得しています。
資格勉強自体は有意義で知識は得られるのですが、プログラミング技術は手を動かしてコーディングしないと上がりません。
それではおすすめの無料プログラミング学習サイトです。
まず始める無料サイト3選(初級者向け)
プログラミングを始めたら、まずやってみたいサイト3選です。
解説も丁寧ですので安心です。
ドットインストール
3分間の動画で学習する、という形式が特徴です。
一つの言語につき10~30ほどの動画があり、動画を見ながら解説に沿って練習していきます。
動画はすぐに終わるのでサクサクと進めるられます。
とにかく言語のラインナップが豊富で、自分の練習したい言語が見つかると思います。
応用編などが付いた有料版もありますが、まずは無料版で十分です。
短期間で動画を制覇する達成感もあり、最初の練習用サイトとしておすすめです。
Progate(プロゲート)
ドットインストールの次に私がおすすめしたいのはProgateです。
こちらはサイトデザインがとにかくキレイで、快適に練習ができます。
解説動画は少し長めですが、問題も出題されており動画の通りに練習すれば着実に身に付きます。
なお、利用には無料会員登録が必要です。
有料版もありますがまずはe-typingと同じく、まずは無料で十分です。
Paizaラーニング
「勉強している感」なしにプログラミングしたい方はこちらのPaizaラーニングがいいでしょう。
合間にある漫画やストーリーを楽しみつつ、ゲームに似た学習形式で学べます。
無料の学習サイトですが、ラインナップは広く勉強したい言語はほぼあると思います。
次に学ぶ無料サイト(中級者向け)
上で紹介したサイトの内容だと物足りなくなってくるかもしれません。
次はもっと実践的なプログラミングを学んでみましょう!
N予備校
おすすめしたいのがN予備校です。
N予備校のプランには無料プランと有料プラン(月額1000円)があります。
無料版利用には「体験入学」が必要ですが、メールアドレスかニコニコアカウントがあれば簡単に無料利用ができます。
N予備校の講座は無料でも視聴できる動画が結構あり、しかも内容がかなり本格的です。
私は無料版でもかなり満足して、有料版も購入してしまいました。
(プログラミング入門Webアプリコース、楽しいです)
N予備校で満足できない、ということはほぼないと思います。
次は実際に何か作ってみよう
N予備校でも満足できない(興味ある動画は見た)という状態になったら、もうある程度の技術がついています。
次は実際に何か作ってみましょう!
(簡単なゲーム、シンプルなWebサイト、スマホアプリなどなんでもいいです)
方法はここには書きませんが、ネット上で探すと結構解説記事が見つかりますので真似をしてやってみます。
何か作れた時の感動は結構なものですよ!
作りたいもののイメージがない場合、とりあえず「競技プログラミング」に出てみるのがおすすめです。
AtCoder
数学・パズルに近い問題が出題され、それをプログラミングで回答するコンテスト形式のサイトです。
メールアドレスを用意すれば、無料でアカウントを作り参加できます。
「アプリとか作るのはハードルが高いけど、とりあえずプログラミング練習がしたい!」という場合に。
自分のレーティング(スコア)があるので、競争しながら上達できますよ。
Atcoderのレーティングは、就活でもアルゴリズム力(エンジニアのレベル)の目安になりアピールもできます。
・数学的なパズルを解くのが好き
・レーティングあり、ゲーム感覚で楽しみたい
・情報系(進学予定含む)の学生
私のAtcoder実践記です。
【AtCoder1週目】競プロ初心者が6ヶ月で水色コーダー目指す学習記
まとめ:挫折せず続けるために
プログラミング学習では、とにかく「楽しむ」ことが重要です。
段階別に、少しずつでいいので学習を継続しましょう!