その教材がこちら!!・・・・・なんてそんな詐欺なことはしないので安心してね!
プログラミング初心者向けサイトの下でスクールの広告するやつFUCK
僕はまだプログラミング初心者です。
圧倒的に勉強量がたりません。ただ、本当にプログラミング初めて!という人よりも一歩ぐらいは進んだところにいると思っています。
プログラミングってぶっちゃけどうやって勉強したらいいのかわからないんですよね。
僕もまだ初心者の立場なんですが、勉強の仕方というものについては一つ方法が見つかりましたので、その方法を私と同じ人たちにシェアしたいと思います。
ここで紹介する方法は独学で一人で勉強する方法です。
学校とかスクールとかに通っている人には参考にならないかもしれません。
まず最初は基礎の基礎
何はともあれ、まずはプログラミングという物に触れて基礎の基礎を勉強してみないことにははじまりません。
このページをみている人はもう終わってるかもしれませんね。
どのプログラミング言語をやりたいかを決める
プログラミング言語はめちゃくちゃ色々十種類があるので、まずはこの中からどれを勉強するのか決める必要があります。
コレに関しては完全にあなた次第。
選び方については、自分がやりたいことなどで検索すればそれにあったプログラミング言語を紹介してくれるサイトをみたらいいと思います。
androidアプリ -> kotlin
webアプリ -> PHP,Pytho,Ruby
人工知能 -> Python
こんな感じで、それぞれ目的に最適な言語がありますので、まずはそれを見つけましょう。
「ゲームで遊ぼう!どのゲームしよっかな?シューティング?RPG?」という状態です。
Progateとかその辺で基礎の基礎を学ぶ
基礎の基礎の勉強方法に関しては、今ならProgateとかドットインストールを使うのがおすすめです。
個人的にはProgateの方が初心者的にはやりやすいと思います。ただ講座にない言語がある場合もあるのでそれだけは注意ですね。
ドットインストールもいいんですが、早口ですし説明が雑なところも所々あるので、マジの初心者にはProgateかなと。
無料枠でOK。
ちなみにProgateでやるべきことは「プログラミングに触れること」です。
時々、ひたすらにProgateを周回している人がいるんですが、これはそんな意味ないと思います。
ゲームでずーっとチュートリアルをやる人います?
チュートリアルをやってだいたいすぐバトル行きますよね?
とにかく作って自分の引き出しを増やす
基礎の基礎に関してはただ初心者向けサイトに従っていればすぐに終えることができます。
ただ問題になるのがここから。
チュートリアルが終わったたら突然放り出されてしまうんです。
Progate等のチュートリアルでは「次はこれをして、コレを書いたら次はこれを・・・」という風に手取り足取り、具体的に何を勉強したらいいのかを教えてくれました。
でもそれが終わったあとは自分で勉強方法をさがさないといけないんです。
よく初心者向けの記事では「自分が作りたい物を作ろう!」と書かれていますが、最初から目標がある人ならまだしもそうじゃない人にとってこれって結構辛いんですよね。
僕もそのタイプでした。
でもだからこそ今の勉強と考え方にたどり着けたんです。
作ってみる系初心者本を一冊丸ごとやる
初心者用の基礎を終えたあなた。
でも正直まだまだ知識のたりなさはなんとなく感じているはず。
なにかを作ろうと思っても、それを作れる技量はなし。
なにかをしようともなにをしたらいいのかわからない。そんな状況でしょう。
そんな私たちに必要なのが、引き出しです。
今、あなたが勉強したプログラミング言語で、何ができるか知っていますか?
この「何ができるのか、どういう機能があるのか」を知っているかどうかはかなり大きいです。
例えばPHPを勉強するとして、
「PHPってこういうサイトも作れるんだー」
「PHPをこういう使い方したらこういう機能が作れるんだー」
こういう引き出しをとにかく増やしていくこと。
そのために必要なのが、「作ってみる系の教材」です。
この配列はこう使って・・・とかではなくて、「○○というサービスを作ります。必要な技術はコレなのでその解説しますね」というタイプの本。
これをやることで、自分の中にその言語の使い方というのが蓄積されていくわけです。
Youtubeやサイトで作る系コンテンツを試す
これも上の理由と全く一緒です。
本は一つの選択肢、おすすめはYoutubeですね。
プログラミングに関しては日本の動画ってほとんどなくて英語の動画をみることになるんですが、基本的に画面を真似してコードを打ち込んで行けばOKです。なんでこうなるの?とか疑問点もわくと思いますが、今は気にせず、とにかく動画やサイトのコードを真似して書いて、その結果がどうなるのか。という知識を広げていきましょう。
まあ英語ができるのが一番勉強になるんですけどね。
僕もいま勉強中ですが、英語できたらプログラミングの勉強もかなりはかどるんでしょうね。
他の言語にも触れてみる
プログラミング言語の成り立ちとかはよくしらないのですが、いくつか言語をやるとわかるんですがやっぱり似ているところが多いんですよね。
複数の言語を同時にやるとルールがとっ散らかっちゃうということもあるんですが、それ以上にメリットが多いと感じました。
例えばメインでやっている言語のあるところでつまづきました。
色々読んでもなんか理解ができない・・・こういうことって初心者ならあると思います。
そんな時、他の言語で似たようなものが出てきて、そっちを読んだら理解できた!なんてケースが起こったりします。
それはその言語の特性なのか、参考にしているテキストの違いなのかはわかりませんが、カチっと当てはまることも多いんです。
一つの言語を突き詰めるのも大切ですが、ちょっとした息抜きに他の言語も触れてみるとおもしろいかと思います。
初心者が勉強する時におぼえておいてほしいこと
勉強方法としてはとにかく、「その言語で何ができるのかという引き出しを増やすこと」が大切です。
ここからはおまけですが、勉強する時のコツなんかを書いておこうと思います。
▼考えてもわからないところは飛ばす
やっぱりどうしてもでてきちゃうんですよ。わからないところ。
こっちは「This is a pen」レベルをやってたのにいきなり、「People don’t expect, people don’t expect government to solve all their problems. 」 とか言われる感じですよ本当。
しかもプログラミング系のことって調べてもその先でまたよくわからない単語が出てきて、さらにそれを調べて・・・というハメになってもうこんがらがっちゃうんですよね・・・・。
初心者向け本とかでもそういうことって結構ありますよね。
そういう時はスパッと飛ばしちゃいましょう。いつまでもわからないところで悩んでいても前には進めないですし、やる気だって落ちていってしまいます。
意外とわからないを飛ばして、進んでいたらふとした時にわからなかったところがちょっと理解できるようになっていいることもあるんです。
上でもあげた他のプログラミング言語を触ってみるの時に似てるかもしれません。
勉強した時にはメモを残しておくと楽
僕は最初、とにかく読んでコードを打って・・・ということだけをしていました。
確かにそれをやっていて身についた部分あるんですが、結構忘れてしまって同じことを何度も調べるということがありました。
しかも調べた先のサイトが理解できずに、一度理解したことなのにまさに二度手間です。
だからこそ調べたことなどをメモするようにしました。
メモと言っても、調べたことを丸写しするわけではありません。
調べたことを自分の言葉で、自分が分かりやすいようにまとめるんです。学校のテストのために自分用のノートを作る感じに似ていますね。
コレをすると、自分が理解できる文章で書いているので、先の自分がそれを見返した時にすぐに理解できるわけです。
ちなみに僕はEVERNOTEにまとめています。
モチベを保てるものを見つける
プログラミングは1日でできるようになるものではありません。
初心者に毛が生えたレベルの自分がいうのもなんですが、上はかなり高く全く見えないです。
だからこそ大事なのは一歩一歩ゆっくりでもいいから進むこと。
そのためには自分自身のプログラミングに対するモチベーションをしっかりと維持する必要があります。
あなたがどういう理由をもってプログラミングをするのか。それを意識するといいかもしれません。
目標を明確にするとやる気が出る人もいるでしょうし、映画とかのハッカーをみてやる気が出る人もいるでしょう。そこは人それぞれ。
自分のモチベーションをあげる方法をしっかりと自分の中で見つけてください。