プログラミング学習

たったこれだけ!?プログラミングの基礎はどこまで学べばいいのか?

プログラミング 基礎 どこまで

プログラミングを勉強していると、

  • 基礎の勉強はもう飽きた
  • 自分はもう基礎が習得できたのかな?
  • どこまで勉強したらプログラマーとして就職できるのかな?

こんな気持ちが出てきてプログラミングをするのが辛いと感じることもありますよね。

今回は、基礎の勉強ばかりでプログラミングがつまらないと感じてしまっているあなたのやる気を復活させるお手伝いをしたいと思います。

「プログラミングの基礎は何を学べばいいのか」、「基礎を覚えたらエンジニアになれるのか?」、「基礎を効率良く勉強する方法」についても書いていますのでぜひ最後まで読んでくださいね!

プログラミングの勉強を辛く感じる根本的な原因は?

プログラミング つらい

「プログラミングの基礎ってどこまで勉強すればいいの?もう飽きたんだけど…」

もしプログラミングを楽しむことができているなら、たとえ基礎の勉強が続いてもこのような気持ちにはならないと思います。

なぜなら、開発の現場と言えども、実際に書くプログラムコードは基礎の勉強で学ぶ内容とぼぼ同じであり、特別に楽しいと感じる何かをすることはないからです。

例えば、サッカーの場合、基礎としてボールを蹴る練習をしますよね。そのボールを蹴るという動作は試合の中でも至る所で使われます。しかも、試合だけ特別な蹴り方をすることはなく、練習で覚えた通りの蹴り方をします。

もしボールを蹴る練習をしていてサッカーに飽きたと感じるのであれば、それはサッカー自体に飽きたといことではなく、ボールを蹴る練習に飽きて、つまらないと感じるようになったということです。この場合、解決策としては、的当てゲームにする、シュート練習にする、などより楽しめる練習方法を考えてあげれば問題を解決することになります。

プログラミングに話を戻すと、「基礎の勉強に飽きてプログラミングが楽しくない」という問題は、プログラミングに飽きたのではなく、楽しむ方法が分からないということになります。つまり、この問題を解決するためには、プログラミングを楽しむ方法が分かればよいということです。

今、あなたが知りたいことは恐らく、基礎がどこまでなのかではなく、プログラミングの勉強を飽きずにやる方法なのではないでしょうか?

この問題を解決しておかないと、プログラミングの基礎がどこまでなのかを知っても、また途中で勉強に飽きてしまいます。

そのため、まずは飽きずに勉強をする方法をご紹介したいと思います。そして、その後、プログラミングの基礎とは何か、どこまで勉強すれば良いのかについて改めて詳しくお話します。

プログラミングを飽きずに勉強する方法は?

プログラミング 飽きない

あなたはプログラミングを勉強して作りたい物がありますか?

作りたい物があるかないかで飽きずに勉強をするための方法が変わってきます。

作りたい物がない場合

もし作りたい物が無いのであれば、作りたい物を明確にすることでモチベーションを上げることができます。

■ ゴールの設定が大事

なぜ作りたい物を明確にするといいのか?その理由は「作りたい物」というゴールを設定すると、学習の度にゴールに近づいている喜びや成長を感じることができるからです。

例えば、ダイエットのために毎日ランニングをする場合、5キロ痩せるという目的を決めておけば、毎日の体重の変化を楽しむことができますよね。体重が4キロ減って目標まで残り1キロになったら、例え辛くてもあと少しだから頑張ろうと歯を食いしばれるはずです。

これがもし目標の体重が決まっていなければ、体重が減り始めても、ゴールに近づいている感じがありません。最初は体重が減ることで楽しいと感じるかもしれませんが、次第にそれにも慣れて刺激も無くなり、ランニングをすることがイヤになって飽きてしまいます。そして、結局、止めてしまうでしょう。

プログラミングの勉強もこれと一緒です。作りたい物を見つけて、それを完成させるために勉強をすることで、ゴールに近づいていることを実感できます。このゴールが見えるということがとても大事です。

作りたい物がある場合と無い場合では成長の感じ方が全然違います。そのため、まだ作りたい物が決まっていないなら作りたい物を探すことが飽きずに勉強をするコツです

作りたい物の見つけ方は?

作りたい物は自然と見つかる物なので、なかなかパッと出てこないと思います。そんな場合は、なんとなく興味がある程度の物でも大丈夫です。自分の直感を信じて、少しでも興味がある、作ってみたいと感じる物を作ってみましょう。

作りたい物を探す方法はこちらで詳しく書いているのぜひ参考にしてください。

プログラミング 何から
疑問解決!プログラミングをやるならまず何から始めればいいのか? プログラミングを始めたいけど、まずは何からすればいいの? 今回は、そんなあなたのために、プログラミングをやるときにまず何から始め...

作りたい物がある場合

もし作りたい物がすでに見つかっている場合、飽きずに勉強をするには次の2つの方法がオススメです。

  • 開発しながら勉強する
  • 成果を公表する

それぞれとても効果的な方法です。

開発しながら勉強する

開発しながら勉強するとは、言い換えると作りたいものを作りながら勉強をするということです。自分が作りたい物を作りながら勉強をすれば、モチベーションを保ちながら飽きずに勉強することができます。

飽きずに勉強できる理由は、作りたい物が明確であれば、何を勉強すればいいのかハッキリするので、学ぶべきことも自然と分かってくるからです。

例えば、ゲームを作るのであれば、ゲームを作るために必要な文法だけ勉強すればいいということです。英語の単語を全部知らなくても英会話はできますよね。これと同じ考えです。

平仮名が書けないと文章が書けないように、プログラミングも必要最低限知っておくべき文法はあります。(※必要最低限な文法は後ほど解説します)ただ、それ以外は開発しながら勉強すれば大丈夫です。

プログラミング言語の文法は利用頻度が高い物と低い物もありますが、それを全て覚えようとすると大変です。なので、最初のうちはよく使う物だけを勉強することで飽きることなく勉強を続けることができます。

ゆうき

でも、どれがよく使う文法なのかも分からないんですよ…

先生

開発しながら勉強をしていれば自然と分かりますよ!

■ 作りながら勉強することで効率が上がる!

よく使う重要な文法は、開発をしていれば必ず必要になります。つまり、何が必要なのかは調べなくても自然と分かるのです。

「開発の過程で必要になった文法をその場で学ぶ」、これが効率的に学習をする方法になります。

開発の過程

では、なぜ開発しながら勉強をすると効率的なでしょうか?その理由は、何回も読み書きをすることで意識的に覚えようとしなくても自然に覚えることができるからです。

例えば、自分の名前は小学生でも漢字で書けることが多いですよね。たとえ中学や高校で学ぶような難しい漢字でも、自分の名前だけは書けるという人も多いと思います。これは常日頃から自分の名前を漢字で書くことで自然に覚えてしまっているからです。

開発しながら勉強をする時もこれと同じ現象が起こります。例えばよく使う条件文や繰り返し文などは利用頻度が高いので、頻繁に使うことになります。最初はうまく使えないかもしれませんが、何回か使っていると自然と使い方を覚えてしまいます。また開発の中で使うことで、どんな時に使うのか、どんな動作をするのか、などの実際に使ってみないと分からないことも知ることができます。

このように開発しながら学ぶことで、より効率的に、実践的に学習をすることができるようになります。

■ 開発しながら勉強をする手順

開発しながら勉強する時は、

  1. 作りながら分からないことを見つける
  2. 調べる
  3. 自分でプログラムを書く

という流れを繰り返して勉強していきます。

開発手順

先に文法を覚えてから作るのではなく、作りながら文法を覚えるというイメージです。このようにしていくと、勉強するたびにゴールに近づくことを実感できるので飽きずに勉強をすることができます。

文法を勉強するだけだと、何に使うのか分からない文法が出た時、理解できなくてイヤになりますが、実践形式で学習をすれば用途が分からないということは絶対にありません。常に生きた文法を学ぶことができるのです。

このように、開発しながら学ぶことが飽きずにプログラムを勉強する1つ目のコツになります。

成果を公表する

飽きずに勉強をする2つ目の方法は、成果を公表することです。

公表と言ってもみんなの前でプレゼンするとかそういう話ではありません。作った物や勉強したことをブログやSNSで公表すればいいのです。

開発 アピール

なぜ公表をするといいのか?その理由は、誰かから反応をもらうことでやる気が湧いてくるからです。

例えば、スマホアプリを作って、SNSでアピールしたら使ってくれる人がいるかもしれません。特に、Facebookなど身近な友人のつながりが多いSNSなら、興味本位で使ってくれる人もいそうですよね。

たとえ電卓のような簡単に作れるアプリでも作れない人からしてみたらすごいと感じるものです。ダウンロードしてくれないにしても、「すごい!こんなの作れるんだ!」というコメントが来たら、それだけでもかなりモチベーションが上がると思いませんか?

■ 私がモチベーションを保てた実例

私も実際にこれでモチベーションを保つことができました。私の場合、超簡単なインベーダーゲームを作って友達に作ったことを伝えたら、その友人が電車内の暇な時間に遊んでくれたのです。「電車の暇つぶしに役立ったよ!」と言ってくれたのがとても嬉しくてかなりモチベーションが上がったのを覚えています。

バカにされたらどうしよう、役に立たないと言われたらどうしよう、と思うかもしれませんが、実際に周りに公表してみると、例えバカにされたとしても反応があるのは嬉しいものですよ。

クソアプリ、クソゲーと言われるとやっぱりイラッとすることはありますが、自信が無いなら「クソゲー作りました!なんとかいいところ見つけてください!」みたいな感じで開き直ってしまえば面白いですよね!

一番つらいのは誰からの反応もないまま一人で勉強を続けることです。モチベーションを保つためには反応をもらうのが一番です。そういうことから考えてもSNSなどで公表することはとても効果的な方法になります。

ゆうき

それでもやっぱり自信がないからイヤだなぁ…

先生

そんな場合はQiitaがオススメですよ!

■ 匿名性があるブログサービスで公表する

SNSが苦手ならQiitaがオススメです。

Qiitaはエンジニアの方たちが自分で勉強したことや問題を解決した方法などを書き込むWEBサービスです。ここで自分が勉強したことや問題を解決した手段を公表すると「いいね」のような反応を得ることができます。

このように作品の公表でなくても、勉強したことを共有することでモチベーションを保つことができます。

ゆうき

初心者なのに教えられることなんてないですよ…

先生

そんなことありませんよ!初心者だからいいんですよ!

「初心者の自分が教えれることなんて何もない」と思うかもしれませんが、初心者だからこそぶつかる壁というものがあります。そして、それは経験者では分からないものです。もしあなたがその壁の乗り越え方を投稿しておけば、これからプログラムを始める人にとってはとても貴重な情報になるということです。

Qiitaはプログラマなら誰しもが必ず1度はお世話になるサイトです。そこに投稿をすることで、自分の学びや経験が誰かの役に立つという繋がりを感じることができます。「いいね」という反応がもらえれば、それはプログラマーとしての自信にもなります。

QiitaはSNSよりも個人間のつながりが薄いので、SNSが苦手な人にもオススメです。ちなみにQiitaで記事を書いていると就職活動で評価されることもあるそうなので、プログラマーとして仕事をすることを目指すならやっておいて損はないと思いますよ。

飽きずに勉強をする方法のまとめ

ここまでが飽きずにプログラミングを勉強する方法になります。まとめると、

作りたい物が無い
  • 作りたい物を見つける
作りたい物がある
  • 開発しながら勉強する
  • 成果を公表する

ということになります。

大事なことは、作りたい物が明確になっていることです。これによりゴールが決まるので何を勉強するべきか分かります。ゴールが分かれば飽きずに勉強をすることができるようになるということです。あとは、成果を公表して他人からの反応を得ることでモチベーションを保つことができます。

作りたい物は簡単な物を選ぼう!

最後に作りたい物を選ぶ時の注意点を一つお話します。

作りたい物を選ぶときは、最初は必ず簡単にできる物を選びましょう。

理由としては、目標が高すぎると挫折する可能性が高くなるからです。

例えば、山登りをするにしても、いきなりエベレストに登ることを目標にしませんよね。まずはハイキング感覚で行ける近くの山から挑戦して、長い時間を掛けて体力と経験を積んだ後、エベレストに挑戦すると思います。

プログラミングの勉強もこれと一緒です。最終目標として、大きな目標を持つのはいいことですが、実践する時は、クリアできそうな小さな目標から達成するようにしましょう。クリアできない目標は、ゴールを設定していないのと同じです。そのため、目標を設定する時は、努力すれば達成可能な目標を設定するようにしましょう。

ここまでで飽きずにプログラミングを勉強する方法は分かったのではないでしょうか。

もし「プログラミングの基礎はどこまでなのか?」という疑問の原因が「飽きた」ということに起因しているなら、これで問題は解決できると思います。

それでは、次は開発しながら勉強をするための必要最低限なプログラミングの基礎について詳しくお話していきます。

プログラミングの基礎とは?

プログラミング 基礎

先ほど、プログラミングを飽きずに楽しく学習するコツとして「開発しながら勉強をする」というお話をしました。しかし、開発しながら勉強をするといっても全く知識がないレベルでいきなり作り始めるのは難しいと思います。その場合、何をどこまで勉強してから実践に移るべきなのか迷いますよね。

ここでは、開発しながら勉強をする前に知っておいた方がいいプログラミングの基礎についてご紹介します。

プログラミングの基礎はどこまでなのか?

プログラミングの基礎は人によって定義が変わりますが、私が考えるに

  • 文法
  • 開発ツールの使い方

この2つがプログラミングの基礎になります。

理由としては、この2つをある程度使いこなすことができれば検索をしながら一人で開発をすることができるからです。

ちなみに基礎以外の部分は以下になります。

  • アルゴリズム
  • 分かりやすいコードを書く能力
  • イレギュラーを予測する能力
  • 不具合の原因を予測する能力
  • 不具合を解決する能力

他にも色々ありますが、基礎以外の部分とは、

  • 無理して学ぶ必要がないこと
  • 学習では学びにくいこと

になります。これらの能力は実戦経験を積む中で学ぶことができます。

それではプログラミングの基礎である「文法」と「開発ツールの使い方」について、開発しながら勉強をする前にどこまで学習すれよいのかお話していきます。

文法はどこまで学べばいいのか?

開発しながら勉強をする前に最低限知っておきたい文法はこの4つです。

  • 代入
  • 計算
  • 条件分岐
  • 繰り返し

理由は、これらの4つはどんなプログラミング言語にも必ずあるプログラミングの基本で、プログラムで行っているほぼ全ての処理がこの4つに集約されているからです。

ゆうき

これだけでいいんですか?
もっとたくさんあると思ってました。

先生

もちろんたくさん知っていた方がいいけど、最初はこれだけでも大丈夫ですよ!

例えば、

リンゴ 150円
みかん 60円
キャベツ 120円
にんじん 50円

このような表を読み取って合計金額を計算する場合、表から値段を読み取るという行為を4回「繰り返す」必要があります。そして読み取った値段を変数に「代入」して「計算」をして合計金額を出します。

これは簡単な例ですが、どんなプログラムでもよく見るとほとんどが代入、計算、条件分岐、繰り返しでできています。

このようにこの4つの要素はプログラムを作る上で必須の技術です。そのため、どんな言語を学ぶにしても、実践に移る前に、最低限、上記の4つの文法は読み書きできるようにしておきましょう。

上記以外に覚えておいた方がよいもの

プログラムを書くには、上記の4つ以外にも知っておいた方がよい文法があります。それは

  • 関数 or メソッド
  • クラス
  • 配列

この3つです。これらは先に書いた4つの要素を効率よく書いたり見やすくするためによく使う文法になります。

■ 関数

関数は言語によってはメソッドと呼ばれます。これはどんな言語にも必ずあります。プログラムを意味のある単位で分割したり機能化するためのものです。プログラミングの勉強をしていれば必ず使うことになるので自然と使い方は覚えます。無理して覚えなくても自然と身に付く文法です。

■ クラス

クラスはオブジェクト指向型のプログラミング言語では必須の知識になります。オブジェクト指向についての詳しい説明は省略しますが、簡単に言うと、データとそのデータを扱うための関数をひとまとめにした物です。

最近のプログラミング言語は、ほぼすべてがオブジェクト指向型の言語です。そのため、クラスの使い方を知ることはプログラマーとして活躍するためには大事な要素になります。

配列

配列はたくさんの変数やデータを連続で並べたものになります。繰り返しの処理と相性が良いのでプログラムでは頻繁に使われます。

これらの3つは先に述べた「代入、計算、条件分岐、繰り返し」を効率よく実行させる時やプログラムを見やすくするときにとても便利な文法です。この3つは最初は書けなくてもいいので、せめて読めるようになっておきましょう。

これらの知識を一通り勉強したら、あとはゲームやアプリの開発をしながら勉強をしてもいいと思います。

開発ツールの使い方はどこまで学べばいいのか? 

次は2つ目の基礎の開発ツールの使い方についてです。

開発ツールの使い方に関しては、開発しながら勉強をする前に覚えておくことはありません。

ただ、事前知識として開発ツールの基礎とは何かということは知っておいた方がいいので、ここでご説明したいと思います。

開発ツールの基礎とは?

開発ツールの基礎は、開発の一連の流れを知ることになります。

ちか

なんかイメージが湧かないですね…

先生

WindowsアプリとWEBアプリを例にして紹介しますね!

■ Windowsアプリ作成の場合

例えばWindowsアプリを作る場合、Visual Studioという開発ツールを使いますが、

  1. プロジェクトの新規作成
  2. フォームの編集(ボタン等を配置)
  3. ボタン等に制御を追加
  4. ビルドして実行、デバッグ
  5. exeファイルとして出力

これが開発の流れになります。

この5つの工程は、全く何もない空っぽの状態からアプリを完成させるまでの流れになります。この開発の流れを一通り経験して、どのように開発を進めていくのかを理解できたら開発ツールの基礎が身についたと言っていいと思います。

■ WEBアプリ作成の場合

WEBアプリは、開発ツールとしてフレームワークと呼ばれるものを使うことになります。フレームワークとは、WEBアプリを作るために必要な機能が付加されたプロジェクト(ひな形)です。手順に沿ってプログラムを書くことで簡単にWEBアプリを作ることができます。

有名な物でRuby on Rails(ルビー・オン・レイルズ)やDjango(ジャンゴ)といったフレームワークがあります。

フレームワークを使って開発をする流れは以下の通りです。

  1. プロジェクトを作成
  2. データベースを作成
  3. モデル、ビュー、コントローラーを作成
  4. CRUD処理の追加(※参考を参照)
  5. ビューの編集
  6. デプロイ(※参考を参照)

作るもので違いはあると思いますが、このような流れになります。

この開発の流れを一通り経験してどのように開発すればいいか分かったら基礎が身に付いたと言えます。

CRUD処理とは

  • C → Create(レコード作成)
  • R → Read(レコードの読取り)
  • U → Update(レコードの更新)
  • D → Destroy(レコードの破棄)

の頭文字で、データベースの基本的な操作のことです。(※レコード=データベースに登録したデータ)

デプロイとはWEBアプリをリリースすることです。

開発ツールの基礎は開発の流れを知ること

このように開発ツールやフレームワークの基礎とは、開発の一連の流れを知ることです。

開発ツールやフレームワークは機能が多いので、最初から使い方を完璧に理解する必要はありませんが、まずは開発の手順を知り、プロジェクトの新規作成から完成まで、やることをイメージできるようにする必要があります。

開発をしながら勉強をするまえにどこまで勉強すればいいのかのまとめ

それでは、開発をしながら勉強をする前に何を知っておけばよいのかのまとめです。

文法

■ 読み書きできるようになっておきたい物

  • 代入
  • 計算
  • 条件分岐
  • 繰り返し

■ せめて読めるようになっておきたい物

  • 関数 or メソッド
  • クラス
  • 配列
開発ツール
  • 特になし

飽きないためにはつまらないと思うことをできるだけやらないことが一番です。そして、できるだけ早く開発に移ることで「つまらない」を少なくすることができます。

開発しながらの勉強でも、つまらないと感じたら作る物を変える、本などの教材を買ってみるなど、色々と工夫をしながら勉強をしてみてくださいね。

基礎を学べばエンジニアになることはできるのか?

この記事の目的は、「基礎の勉強を飽きないようにすること」、「プログラミングの基礎が何なのかを伝えること」です。

プログラミングを学ぶ理由がエンジニアになることである場合、どこまで勉強をすればエンジニアになることができるのかを知ることは、勉強を続けるためのモチベーションにも大きく関わります。つまり、飽き防止にもつながります。

そこで、次はプログラミングの基礎を身につけたらエンジニアになることができるのかというお話をしていきます。

会社が求めるプログラミングのレベルはどれくらい?

プログラミングの基礎を学べばエンジニアになることができるのでしょうか?

ゆうき

基礎ができたくらいじゃまだ難しいかなって思うけど…

これについては「分からない」という答えになります。

答えになっていないような答えで申し訳ありませんが、この理由は、会社によって基礎の基準も違うし求められる能力も違うからです。

例えば、開発ツールやフレームワークを使いこなしてスムーズに開発を行える即戦力を雇いたいと考える会社もあれば、簡単なプログラムの読み書きができる人なら大丈夫という会社もあると思います。

プログラミング 基礎 エンジニア

そのため、プログラマーを目指すのであれば、自分の知識が足りないからまだプログラマーにはなれないと勝手に決めつけてしまうよりは、色々な会社を探してみるとよいと思います。

中にはやる気さえあれば未経験でもOKという会社もあるので基礎的な知識さえあればプログラマーとしてデビューすることも可能かもしれません。

基礎は必ず必要になる

基礎だけでエンジニアとして働けるかは会社により違いますが、エンジニアになるために基礎が必要になることは確実です。なので、基礎を学ぶことはあなたのエンジニアとしてのキャリアを構築する上で必ず役に立ちます。

基礎の勉強は飽きやすいものですが、誰もが最初に習得する必須のスキルです。やり方次第では楽しく勉強をすることもできるので、先に書いた飽きないための方法を上手に使って楽しく勉強をしてくださいね。

補足:就職活動では自分の実力を過大評価しないように!

プログラマーとして就職活動をする時は、自分の力をしっかりと把握することが大事です。特に初心者でプログラマーを希望する時は自分の力を過大評価しすぎないように注意をしてください!

理由は、自分の力を過大評価して仕事をもらったとしてもできないことはすぐにバレてしまうからです。さらに、そのような形でプログラマーになっても、実力が期待外れであれば信用を失ってしまいます。

逆に自分の実力を正直に話して仕事を得ることができれば、実力に見合った仕事をもらうことができます。実力に見合った仕事の方がモチベーションも保ちやすいし、先輩に質問しやすい環境を作ることもできるのでエンジニアとしてのスキルアップがしやすい環境になります。

自分ができることに正直になって、今、あなたが持っている力でできる仕事を探すようにしましょう。

もし、今の自分の力で仕事を取ることができなければ、それはまだプログラマーとしての能力が足りないということです。その場合、もっと勉強をしてプログラマーとして活躍できるだけの力を身に付けていきましょう!

プログラミングの基礎を効率よく学ぶコツ

プログラミング コツ

それでは、次はプログラミングの基礎を効率良く学ぶコツについてご紹介します。

ゆうき

簡単にできる方法を教えてください!

先生

簡単にできる方法では無いですよ!あくまで効率良く学ぶコツです!

プログラミングを効率よく学ぶコツは2つあります。

  • 学習よりも実践
  • 専門用語を覚える

この2つです。それぞれについて詳しくお話します。

学習よりも実践

プログラミングを効率よく学ぶコツは、学習よりも実践を意識することです。言い換えると、インプットよりもアウトプットを意識するようにしてください。

理由としては、いくら学習(インプット)して必死に覚えたことでも使わなければすぐに忘れてしまうからです。逆に利用頻度が高い文法や開発手順は何度も使う(アウトプット)ことで自然に覚えることができます。

ちか

たしかにがんばって勉強したことでも使わないとすぐ忘れちゃうよね…

私たちは文法の学習というと英語と同じように暗記をしないといけないと感じてしまいますが、プログラミングの場合は暗記の必要はありません。

理由は、プログラミングは英会話のように即答しないといけないような場面が無いからです。何か分からないことがあればゆっくり調べることができます。そのため、プログラミングの場合は暗記よりも、その言語を使ってどんなことができるのかを知ることの方が大事になります。

例えば、Pythonでプログラムを作っていて、1から10までの足し算をしたい時、「Pythonでは1から10まで数えながら繰り返しをする書き方がある」ということを覚えておけば大丈夫ということです。

それさえ知っておけばネットで検索することで書き方は調べることができます。忘れたら何回でも検索すれば大丈夫です。何度も検索をすれば自然と書き方は覚えていきます。

このように実践(アウトプット)の中で学習(インプット)をしていくことがプログラミングを早くできるようにするコツです。

専門用語を覚える

もう一つのコツは専門用語を覚えることです。

なぜ専門用語を覚えると良いのか?その理由は、正しい専門用語を使って検索をすると簡単に答えにたどり着くことができるからです。

例えば、「This is a pen」が、何個の単語でできているのかを調べたいとします。これを実現する手順としては、

  • スペースで文字列を区切る
  • 各単語を配列に入れる
  • 配列の要素数を調べる

やり方は色々ありますが、これで答えが分かります。

C#でこのプログラムを書くとして、手順をネットで検索をする場合、専門用語が分からなければ「C# 文字列 単語数 計算」という感じで調べますよね。もちろんこれでも答えにたどり着くことはできますが、望まない結果が出てくる可能性もあります。

文字列の分離は、プログラミングでは「split(スプリット)」と言います。ここで「C# split スペース」と検索したらより確実に答えを見つけることができます。

ゆうき

たしかにどんな言葉で調べたらいいのか分からない時ってあるよね。

このように自分が望む検索結果をいち早く見つけるためにも専門用語を覚えることは大事です。

文法を学習する時は使い方を覚えるのと同じくらい専門用語を覚えることが大事ということも覚えておいてください。

プログラミングの基礎を学ぶ手順

プログラミング 基礎 ステップ

それでは最後にプログラミングの基礎を学ぶ手順についてご紹介します。

手順は、

  1. 基礎的な文法を学習する
  2. 開発ツールの基礎的な使い方を覚える
  3. 開発する

という手順になります。1と2がインプットで3がアウトプットになります。

ゆうき

あれ?やっぱりインプット中心なんですか?

先生

最初に軽くインプットは、あとはアウトプット中心という手順ですよ!

まず基礎的な力を軽くインプットして、あとはアウトプットである開発を中心に学習していきましょう!

ポイントは①と②は程々にして③を中心に学習することです。文法の学習については、すでに基礎的なものを学習済みなら飛ばしても大丈夫です。

① 基礎的な文法を学習する方法

基礎的な文法の学習はProgate(プロゲート)がオススメです。

Progateとは、プログラミングの勉強ができるWEBサービスです。開発環境の構築やプログラミング用のパソコンなどを用意することなく、すぐにプログラミングの学習ができるサービスになります。かわいいキャラクターと一緒にゲーム感覚でプログラミングの学習ができるので初心者には特にオススメです。

progate レベルアップ画面
ちか

私もProgateで勉強したよ!
スマホアプリもあるから隙間時間でも勉強できるしオススメですよ!

基礎的な文法の学習にProgateが向いている理由は、

  • 初心者向けのサービス
  • 文法が学習の中心

というように、プログラミングの基礎を学ぶ上で最適な内容になっているからです。

基礎的な文法とは、先にお話した

  • 代入
  • 計算
  • 条件分岐
  • 繰り返し

になりますが、Progateは当然これらの文法も学習することができます。加えて、

  • 関数 or メソッド
  • クラス
  • 配列

についても学ぶことができるので、文法を学習する時はProgateがオススメです。

開発ツールの基礎的な使い方を覚える方法

開発ツールの使い方を覚えるのはUdemy(ユーデミー)がオススメです。

世界最大級のオンライン学習サイトUdemy

Udemyは学習コンテンツを販売しているオンラインのマーケットプレイスです。

ゆうき

オンラインマーケットプレイス?

先生

動画教材を販売しているWEBサイトのことですよ!

Udemyは様々な内容の学習コンテンツが販売されています。もちろんプログラミングの学習コンテンツも豊富で、現役のエンジニアたちがコースを作成して販売しています。

値段はセールス期間中なら1200円~2000円程度なので、プログラミング系の書籍を1冊買う程度の値段で現役エンジニアたちのスキルを学ぶことができます。

開発ツールの使い方にUdemyをオススメする理由は、現役のエンジニアたちが実際に使っている開発ツールの使い方を学ぶことができるからです。

動画によるレクチャーなのでエンジニアたちのリアルな操作を目で見て学ぶことができます。

書籍と違って監修が無いので内容がイマイチなこともありますが、星による評価やレビュー、30日間の返金保証が付いているので、ある程度は質を把握した上で安心して購入することができます。

現役エンジニアの実践的な技術が学べるのは大きなメリットです。そのため、開発ツールの学習はUdemyをオススメします。

世界最大級のオンライン学習サイトUdemy

どんなコースを選べばよいのか?

Udemyのプログラミング系のコースには

  • 文法に特化したコース
  • 一つのゲームやアプリを作成するコース
  • 特定の技術に特化したコース

というように様々なコースがあります。

開発ツールの使い方を学ぶ場合は、「1つのゲームやアプリを作成する」コースがオススメです。理由は開発環境の構築からリリースの方法まで一連の開発手順を学ぶことができるからです。

例えば、Rubyの勉強をしたい場合なら、Rubyの文法だけを教えてくれるコースよりはRuby on Railsというフレームワークを使った開発方法を学ぶコースが良いということです。(初心者向けのコースであれば文法がコース内容に含まれていることもあります)

文法をしっかり学びたいなら文法に特化したコースでもいいのですが、文法は先にお話したようなProgateでも学ぶことができます。

文法も分からない、開発の手順も分からない、という時は、文法をProgateで軽く学習して、その後に何かを作成するコースを選ぶと効率良く、楽しく学習することができます。

YouTubeではダメなのか?

ゆうき

いきなりお金払うのは嫌だなぁ…YouTubeではダメなんですか?

先生

良い内容の物があればもちろんYouTubeでもいいですよ!

もしお金を払うのに抵抗がある場合はYouTubeで学習コンテンツを探すのも一つの方法です。

ただ、YouTubeのコンテンツは宣伝のための動画もたくさんあります。その場合、内容が充実していない可能性もあるので注意が必要です。

YouTubeで良い学習コンテンツが見つかればもちろんそれで良いですが、もし見つからなかった場合は、自己投資と考えてUdemyも検討することをオススメします。

実践する

Progate、YouTube、Udemyを使った学習は全てインプットになります。ある程度、プログラミングができるようになってきたら自分の作りたいものを作るアウトプットの学習に切り替えましょう!

作る物を選ぶときのコツは、最初から大規模な物を作らないことです。

例えばゲームを作りたい場合、いきなりスーパーマリオやドラクエみたいなゲームを作ろうとしても挫折してしまいます。そのため、まずはブロック崩しや4択のクイズなど比較的簡単にできそうな物を作るのがオススメです。

WEBアプリを作りたいなら、掲示板アプリやTODOリストなど、基礎的なCRUD処理だけで完成できそうな物がいいでしょう。

疑問を感じた時が成長のチャンス

何かを開発していると必ず疑問が出てきます。例えば、ゲーム開発ならデータをセーブする方法が分からないとか、WEBアプリなら「いいね」ボタンの作り方が分からないとかです。

この瞬間が成長できるチャンスです。疑問の解決方法を色々と調べて自分の力で原因を解決してみてください。そうすることでプログラマーとしての力が付いてきます。

もし身近に質問をできる人がいるなら、その方に解決方法を質問してもいいのですが、まずは自分で考えたり検索をしたりする方が確実に成長します。そのため、質問をするにしても、まずは自分で色々と試してそれでも分からなければ質問をするようにしましょう。

ベテランプログラマーもみんな悩んでいる

開発歴が長くなるとあらゆるものをスラスラ作れるようになるとお考えかもしれませんが、実はそんなことはありません。

経験を積むとできることは増えますが、それと同じくらいに新しい技術が出てきます。プログラマーは常に新しい技術に対応していかなければいけません。そこがプログラミングの楽しさであり難しさでもあります。

新しい技術に関してはベテランであろうと初心者であろうと関係ありません。つまり、基礎が身に付き自分で考えてプログラムを作成するようになった段階で、あなたももう経験者にとても近い立場にいるということです。

経験の差により新しい技術の習得スピードやエラー対応の上手さは違いますが、ここから先はどれだけ経験するか、どれだけ意欲的に新しい知識を得ようとするかによって力量に差がついてきます。

プログラマーは「新しい技術に対して敏感であることが早い成長につながる」ということも忘れないようにしてください。

まとめ

それでは最後にまとめです。

プログラミングの基礎はどこまで?
  • 基礎の勉強に飽きるのは楽しむことができていないから
  • 勉強に飽きないためには目標を持つことが大事!
  • 開発をしながら勉強をする、成果を公表することで飽きを防止することができる
  • プログラミングの基礎は文法とツールの使い方
  • 文法の基礎は、代入、計算、条件分岐、繰り返し。
  • 開発ツールの基礎は開発の一連の流れを覚えること。
  • インプットよりもアウトプットを意識した学習をしよう!
  • 検索力を付けるために専門用語を覚えよう!
  • 新しい技術には敏感になろう!

以上になります。

どんなことを学ぶにも基礎はとても大事です。そのため、しっかりと勉強したいという気持ちはものすごく理解できます。しかし、基礎ばかり勉強しているとすぐに飽きが来てしまいます。

プログラマーは9割の人が諦めるという話も聞きますが、この原因の一つは基礎を頑張りすぎて飽きてしまっているのもあるのではないかと思います。

基礎は使っていれば自然に覚えていきます。最初からマスターする必要はありません。

例えばサッカーをやるとして、多少なりともボールが蹴れるようになったら試合をしたくなりますよね。試合をしたらパスがうまくできなかった。それで今度はパスの練習をする。こんな感じで基礎練習と実践の繰り返しで上手くなっていきます。

プログラミングもこれと同じです。文法を勉強する。開発してみたけど分からないことが出てきた。分からないことを調べる。また開発をする。この繰り返しです。

最初は分からないことばかりで大変ですが、自然と分かることが多くなってスラスラとプログラムが書けるようになってきます。いち早くそうなるためにも、インプット中心ではなくアウトプット中心の学習をしてくださいね!

プログラミングの効率が良い勉強法については以下の記事でも詳しく解説しています。もしよかったらこちらも参考にしてみてください。

プログラミング 勉強法
簡単4手順!本と動画を使ったプログラミング勉強法を超具体的に解説! プログラミングを早く身に付けたい…いい勉強法は無いかなぁ… そんなこと思っていませんか? 私もプログラミングを独学する...

追伸:プログラミングの基礎を学ぶ教材を作成しました

ここでお話をした「プログラミングの基礎」を学べるコースをUdemyで公開しました。

【未経験者歓迎】開発をしながら学ぶプログラミング基礎講座〜プログラマーとしての自走力を身に着けよう〜

内容としては

  • プログラミングの基礎
  • アプリの開発手順
  • 問題解決の方法

この3点を学ぶ内容になっています。

具体的には、JavaScriptというプログラミング言語を使い、電卓、ブロック崩しといった簡単なアプリを作りながらプログラミングの基礎を勉強していきます。

学習する内容は限定されていて、

  • 代入
  • 計算
  • 条件分岐
  • 繰り返し
  • 配列
  • 関数
  • オブジェクト指向(クラス)

というように、この記事で書かれた内容と同じものになっています。

作りたいものがまだ見つかっていないプログラミング未経験者を対象としているコースになっているので、専門用語に関してもできるだけ分かりやすく丁寧に解説をしています。

すでにプログラミングを勉強している人からすれば少々物足りなさを感じる内容かもしれません。

  • プログラマーになりたいけど作りたいものが見つかっていない
  • プログラミングの基礎を復習したい
  • 開発の手順を知りたい

そのような要望があればお役に立てる内容になっています。

【未経験者歓迎】開発をしながら学ぶプログラミング基礎講座〜プログラマーとしての自走力を身に着けよう〜

基礎を学ぶ良い教材をお求めであればぜひご検討ください。

ABOUT ME
こぼ
こぼ
プログラマー/ 独学スタートで20年以上プログラマー継続中/ Udemyでコースも出しています/ 得意言語:C言語、C++、C#/ 2023年にフリーランスに転身/ 身に付けた経験を惜しみなく発信していきます(^^)/