こんな方におすすめ
- 勉強してるのにプログラミングが上達しない…
- どうやったらプログラミングが上達できるか分からない
- プログラミングの上達のコツをしりたい
いきなりですが、
- こんなに勉強しているのに、プログラミングが上達しない…
- どうやったら上達できるか分からない…
と感じてはいませんでしょうか?
また、学習方法として「参考書」や「学習動画」をひたすらやっていませんでしょうか?
もし、参考書や学習動画だけという方は、プログラミングが出来る様に上達していくのは難しいでしょう。
これは、プログラミングでとても大切な能力の、問題解決力が身につかないからです。
今回の記事では、問題解決力を素早く身につける様に、上達するためのコツや学習のコツを解説していきます。
✔この記事の信頼性
筆者は元プログラミングスクール講師またIT新人研修の講師として
たくさんの受講生さんを担当し、プログラミングが習得できるように試行錯誤してきた経験があります。
今は現役エンジニアとして働いていますので、「講師の視点」「エンジニアの視点」を交えてお話できればと思います。
では早速行きましょう!
目次
プログラミングが上達しない理由
私は講師として、たくさんの受講生さんの相談に乗ってきましたが、プログラミングが上達しない特徴として「問題に直面し、解決する」回数が少ない事が原因だと感じています。
なぜ、「問題に直面し、解決する」回数が少ないとダメなのか?
それは、プログラミングは答えのないものを作って行くからです。
プログラミングはサイトを作ったり、ゲームを作ったり、スマホアプリを作ったり、色々なものが作れます。
ただ、プログラミングで作るものって似ているものはあっても、まったく同じものはないですよね?
つまり、プログラミングは「答えのないもの」を作って行かなければいけません。
答えのないものを作るためには、自分で問題を解決していく力が必要となります。
極端な例ですが、Facebookを作ったマーク・ザッカーバーグ氏が、
ってなりますよね。
ただ、安心してください。世の中には沢山の情報がありますので、
作りたいものと似ているものを探して、参考にしながら自分の作りたいものを作っていくが基本となります。
プログラミングを上達させるためのコツ
先程、プログラミングが上達しない理由として「問題に直面し、解決する」回数が少ない事が原因だと話ました。
つまり、問題に直面する事が、プログラミング上達において最も大切なことになります。
そして、問題に直面する方法が「アウトプット」を中心に学習するという事です。
プログラミングの上達が早い人は「アウトプット中心」の学習をしており、
さらに、これからお話するプログラミングを上達させるコツを実践しています。
プログラミングを上達させるコツ
- 自分の頭で考えて、コードを書く
- 暗記をしない、分からに所は調べる
- なぜエラーが出て、解決したのか?を理解する
- コード内容を理解する
- 実装する内容を細かく考えられる
番外編
- 目標が明確
- 積極的に質問する
それでは1つ1つ詳しく見ていきましょう!
1、自分の頭で考えて、コードを書く
1つ目のプログラミングを上達させるコツは「自分の頭で考えて、コードを書く」です。
「自分の頭で考えて、コードを書く」ことで、
- 問題解決力を高めてくれる
- 自分でロジックを組む練習になる
この様な事を身につける事ができます
特に問題解決力を高めるのはとても重要で、参考書や学習教材だけの学習では、問題解決力を身につける事はできません。
自分の頭で考えてコードを書くと、かならずエラーがでます。
この出てきたエラーに対して、試行錯誤しながら解決することで、「問題解決力」を高めてくれます。
一旦、変数、メソッド、返り値、引数、3項演算子、if文、繰り返しなどのプログラミングの基礎となる部分を調べれば使える程度になっていれば、参考書を閉じて「自分の頭で考えて、コードを書く」アウトプットの学習に移して行きましょう。
やり方としては、
いきなり大規模ではなく、まずは「絶対作れると思う簡単なもの」から作って行きましょう。
参考
- 1+1をして結果を出力するプログラムを作ってみる
- 天気が晴れの場合は外に出かける、雨の場合は家で遊ぶ、と出力するプログラムを作ってみる
- 九九の計算を自動で行ってくれるプログラムを作ってみる
- HTML・CSSならボタンを押したらクリックしたらyoutubeにアクセスする様にしてみる
何でも良いので、今持っている知識で、挑戦できるものを考えてコードを書いてみましょう。
2、暗記をしない、分からない所は調べる
2つ目のプログラミングを上達させるコツは
- 暗記をしない
- 分からない所は調べる
です!
上達させるコツに「暗記をしない」ってウソでしょ!と驚く人もいるかと思います
しかし、ここは大切なのでもう一度言います
プログラミングの上達のコツは「暗記をしない」そして「分からない所は調べる」です!
では、なぜ暗記をしなくて良いのか?
理由は2つです
- 覚える量が膨大すぎる
- アップデートがある
覚える量が膨大
例えばRubyではメソッド、CSSにはプロパティなど、
1つの言語だけでも膨大な量の単語が出てきます
Rubyメソッド
putsメソッド、pメソッド、printメソッド、to_aメソッド、to_hメソッド、to_iメソッド.....
CSSプロパティ
font-size、font-weight、font-family、text-align、line-height、letter-spacing...
プログラミングが上達しない人がやりがちなのが、1つ1つの単語を英単語の様に覚えようとする事です。
(私もプログラミングを初めた頃は必死に覚えていました…)
プログラミング言語は、
HTML,CSS,JavaScript,Ruby,PHP,Pythonなどたくさんの言語が存在します
この様に言語1つ1つに膨大な量の単語があるのに、それを1つ1つ覚えるのは不可能です
でも覚えなかったら、プログラム書けないよね…?
と思われるかもしれません
おっしゃる通りです!
では、どの様にプログラムを書いていくか?
それは、「インターネット検索」を使いながらプログラムを書いていきます!
プログラミングは何かを作る為の道具であり、テストではありません。
大切な事は、プログラミングで何かを作ることです
調べながら作れればそれでOKなのです!
アップデートする
ITは変化が本当に早いです
暗記した内容がアップデートして変更される事はたくさんあります
アップデートが実装され
- 書き方が変わった
- そもそも暗記してたものが使えなくなった
なんて事が起きてしまえば、暗記した内容は無意味になってしまいます
それは大変ですよね…
なので、
プログラミングは「暗記はせず、分からない所は調べる!」を大切に学習していきましょう!
なぜエラーが出て、解決したのか?を理解する
3つ目のプログラミングを上達させるコツは、エラーが出た時に「なぜ解決したのか?」を追求するです!
プログラミングをやっていると、必ずエラーと遭遇します
- HTML、CSSで思ったようにデザインが反映されない
- Rubyで英語の良くわからないエラー文が出現する
エラーが出た時に、
1つ1つのエラーにしっかり向き合っていますか?
エラーが出ると、訳が分からず怖いですよね…
でも、エラーは自分を成長させてくれる絶好のチャンスです!
エラーが出てラッキーと思ってエラー解決してきましょう!
エラーが出た時、やってはいけない行動
エラー解決の方法は
エラー解決の方法
- 独学の方は、自力で解決する
- エンジニアの知り合いがいる人は、エンジニアに解決方法を聞く
があると思います
エラー後にやってはいけない行動があります
独学の方
とりあえず動いたから良いかと、理解せずに進むこと
誰かに聞ける環境の人
なぜ解決できたのか?を聞かずに進んでしまうこと
ここで、1つ1つのエラーに向き合い
「なぜ解決できたのか?」を理解していけば、格段に成長していきます。
ただ、どうしても
- なぜ解決できたのか?分からない...
- エンジニアの方に解説を聞いても理解できない...
そんな時があると思います
そんな時は、別の知識が足りていない可能性が高いです
- 今、何を実装しようとしているのか?
- 何を実装しようとしてエラーが出たのか?
ここを、自分の中でしっかりと説明してみましょう
説明できなければ、足りてない知識があるということです。
なぜ説明できないのか?を分析し、足りない知識が見えてきたら、そこを勉強し再度エラーの理解に挑戦しましょう。
「コード内容を理解する」努力をする
4つ目のプログラミングを上達させるコツは「コードの内容を理解する努力する」ことです。
プログラミングの学習方法に、写経というものがあります
写経とは
本やサンプルコードを見ながら、そのまま書き写すこと
この写経はプログラミング学習において、良い学習方法だとされていますが、
コードの内容を理解出来なければ、ただの作業になってしまい意味のない学習になってしまいます。
コードの内容を理解しようと努力することで、
- 自分の分からない所が明確になる
- コードを読む力が身につく
- 読めたコードは自分の財産となり、同じ様な機能を作るときにとても参考になる
この様に、多くのメリットがあります。
でも、そんなに簡単に読めないよ…という方、
次にコードを理解するコツを紹介します。
コードを理解するコツ
ではコードを理解するにはどうするか?
結論:1行1行のコードをじっくり、丁寧に見ていきましょう。
- この1行は何をやっているのか?
- どこに繋がっているのか?
- 変数には何が入っているのか?
この様に、ゆっくりでも1つ1つしっかり見ていってください。
ここで1つコードを理解する、おすすめの方法を紹介します。
それは、「デバッグ方法を覚える」ことです!
デバッグとは
プログラムが動かない原因を探して、取り除くこと
デバッグはエラーが出現しプログラムが動かなくなった時に、動かない原因を探す時に使う方法です。
しかし、このデバッグはコードを理解するときにも使うことができます。
デバッグを使いながら、1行1行しっかりコードを理解していきましょう
画像の様に、変数の中身を1つ1つ確認して行くことで、何が起きているのかわかりやすくなります。
※if文がよくわからない方は、if文ってなに?をお読みください。
使い方は、それぞれの言語やフレームワークによって違うので、
「言語 デバッグ方法」で調べながら、デバックしていきましょう!
実装する内容を細かく考えられる
5つ目のプログラミングを上達させるコツは、作りたいものに対して「細かく作業を考える」です
- コードが書けるようにならない
- コードが書ける気がしない
と悩んでいる方も、実装する内容を細かく考えられていないのがコードが書けない原因です。
例えば、
「入力してもらった数字を2倍したい」というプログラムを作りたいとします。
「入力してもらった数字を2倍するには…」どんなコードを書けばいいかな?と考えますよね。
しかし、このままでは実装する内容が大きすぎて、どこからコードを記述していけば良いのか分からなくなります。
まずは、実装したい内容を分解していきましょう!
細かく分解
「入力してもらった数字を2倍したい」は
- 入力してもらう
- 数字を2倍する
- 出力する
この3つに分ける事ができます。
なので、まずコードを記述していくのは、1番の「入力してもらう」です。
ここまで見えれば、2番、3番は一切考えず、1番だけに全力を出して実装していきましょう。
たとえ「入力してもらう」の実装が分からなくても、Google検索で「〇〇 入力受け取る」
などで範囲を絞って検索することができるので、求める記事に出会えるはずです。
番外編:上達のコツ以外で大切なこと
ここまでは、プログラミングを上達するためのコツをお話してきました。
しかし、プログラミング学習においてコツ以外にも大切な事がありますので、そちらを紹介したいと思います。
目標を明確にする
コツ以外で大切なこと1つ目は、「目標を明確にする」ということです
目標
- 自分のアプリを作りたい
- 職場で業務効率化をしたい
- 転職したい
- 副業したい
この様に、なぜプログラミングを学ぶのか?
を自分の中でしっかりと目標を持っている人はプログラミングの上達が早い傾向があります。
さらに、もっと具体的に目標があると、上達はかなり早いです。
例えば、
「プログラミングを身につけて転職をしたい」という目標があっても、それは抽象度が高すぎるので、もう少し具体的にしていきます。
転職したの具体
転職
↓
フロントエンジニア?サーバーサイドエンジニア?
↓
フロントエンジニアならHTML、CSS、JavaScriptを勉強する
この様に、具体的に目標が分かると学習する技術が自然と決まってきます。
プログラミングを学ぶ事が目標になっている人は、
- 今学んでいる言語が何に繋がるのか分からない
- 学習が楽しくない
この様に、学習に身が入らずプログラミング学習が辛くなってしまいます。
あなたは、なんのためにプログラミングを学んでいますか?
プログラミングを学ぶ事が目標になっている人は、もう一度目標を見返して見ましょう!
積極的に誰かに質問をする
コツ以外で大切なこと2つ目は「積極的に誰かに質問をする」です。
誰かに質問する回数が多い方は、上達も早い傾向があります。
講師としてプログラミングを教えていたときも、質問回数が多い受講生さんは上達もかなり早かったです。
分からない所があれば、知り合いのエンジニアやプログラミングができる人に積極的に質問しましょう。
しかし
- 知り合いのエンジニアなんていない
- プログラミング質問サイトで質問するのが怖い
この様な方も多いと思います。
そんなときは、プログラミングスクールに通うのをオススメします。
プログラミングスクールは「小さなことでも、積極的にどんどん質問して」というスタンスなので、気軽に質問することができます。
値段は少し高めですが、「質問できる環境が手に入るのであれば」全然良いと思います。
元プログラミングスクール講師として、お伝えすると
プログラミング学習の辛さは痛いほど分かるので、「こんな質問失礼じゃないかな?」と思わずに、どんな質問でもじゃんじゃん質問してほしいです。
講師も質問されると嬉しいので喜びます!(少なくとも私の周りは喜んでいました)
また、ブログでは書ききれないほどのコツもお伝えできるので、もし「プログラミングスクール通った」という人は、遠慮せず積極的に質問していきましょう!
気になった人は「無料相談」で話を聞いてみましょう!
質問し放題のスクール | スクールの魅力 | 無料相談 |
テックアカデミー |
|
無料相談はこちら |
DMM WEBCAMP |
|
無料相談はこちら |
テックキャンプ転職 |
|
無料相談はこちら |
最後に
プログラミングは、なかなか成長が実感出来ず、辛い時もありますよね…
それでも続けていれば、必ずできる日が来ます!
その日が1日でも早く来る助けになればと願っています
読んでいただき、ありがとうございました!