はじめに
こんにちは。大学1年のフラットと申します。
今回が初投稿です。
私は入学当初からプログラミング学習を続けていています。
HTML,CSSは一通り終わり、現在はJavaScriptを学習している状態です。
バックエンド志望なので、RubyとRailsにも手を出す予定です。
さて、今回の内容はJavaScriptを勉強していたとき、壁にぶち当たり、今までの学習の仕方に疑問を持ち、改善策を考えるものとなっています。少しでも参考になれば幸いです。
目次
HTML,CSSまでは何とかなったが...
これらのマーケアップ言語については、一番最初はProgateの道場以外は2週程しました。
そして、Udemyの講座を一つ購入し学習しました。基本的には動画を見ながらひたすら写経するといった学習をしていました。たまに自分でホームページを作ることもありました。
プログラミング学習はインプットよりアウトプットのほうが重要だ
と言われていますが、Udemyで進めていく中でHTML,CSSであれば結構理解できましたし、先ほども言った通り自分でホームページを作ることもできました(簡易的ではありますが)。でも、この時点でアウトプットよりもインプットのほうが多かったように思います。
そして、そのままJavaScriptの学習に突入!
講座もみるみる進むぞ!いける!と思ったのですが...
自分でコンテンツが作れねえ...
講座の内容は何とか分かるんだけど、いざ自分で作るとなると何を書けばいいんじゃ...
あれが作りたいから、constで定数を指定して、if文を使って...あれ、上手くいかないや。
調べてみてもよく分かんねえ。
もうやーめた。
のループになってしまいました。
ああ、自分ってプログラミング向いてねえのかな...
待てよ、まだ諦めるには早い!
まずは何がダメだったのか考えてみよう。話はそれからだ。
原因と改善策
アウトプットよりもインプットの量が多かった
ここまで見てわかった人がほとんどだと思いますが、まさにこれです。
講座を見ながらコードを写していく、というのはインプットに入ります。
アウトプットは、なんでもいいから学習した内容を使って自分でコンテンツを作ることです。
JavaScriptを勉強していたときは
講座1→講座2→講座3→講座4...→講座終わり→よし、何か作ってみるか!
という風に、ひたすらインプットに時間を使っていました。HTML,CSSのときは多少アウトプットできていたのにね。次。
とにかく終わらせることに集中していた
JavaScriptの講座は、HTML,CSSの講座に比べて多く、面倒くさかったので「とにかく終わらせよう」という気持ちでどんどん進んでいきました。確かに、効率よく学習するにはそれも必要なことかもしれません。しかし、限度があります。
講座で分からないことがあってもほとんど自分で調べることもせず、ちょっと考えることも面倒くさかったので「まあいっか!」というスタンスで進めてしまった結果、今の状況にあるわけです。
さて、改善策を考えてみようじゃないか。
言語の学習に入る前にそれで何を作れるか、それにはどの構文が必要かを調べるなど
まず、これから学習する言語について調べてみて、「何ができるの?」「どの構文が必要なの?」「それを見た上で自分は何を作ってみたい?」を考えてみるのがいいと思います。
具体的に作りたいと思うことがない自分は、その言語を使って他の人が作ったものを見てみて「これ面白そう」「これならできるかも」と小さくてもいいからゴールを決めるといった戦法をとります。
講座(学習)を進めるごとにアウトプットに入る
今までは講座を全て終わらせてから、あるいはかなり進めてからアウトプットをしていました。
これからは講座ごとにアウトプットすることを心掛けたいと思います。基礎の基礎のチョー簡単な内容は別にしなくていいかもしれませんが、特に重要なところ、自分が作りたいコンテンツに必要な内容であれば徹底的に取り組むつもりです。
そもそもインプットの量が足りないので増やす
全体的な勉強時間がそもそも足りていません。始めたばかりなので当然ですが、インプットである講座を進めるときに書いたコードだけで満足していたところもあると思います。ということは、そもそもインプットの時間が足りていない可能性もあります。
インプットは増やすが、アウトプットの量の方が多くなることを意識すれば、身に付きやすいですし、コードを書く量も自然と増えると思います。
終わりに
ここまで挙げた3つの改善策を用いて学習を進め、ダメだったらまた練り直して、を繰り返せばきっとエンジニアへの道は開かれると思います。
これからも諦めず学習に励みたいです。