今回はプログラミングを学びたい右も左もわからない人。勉強に全く自信がない人からできるプログラミングの勉強方法を紹介します。
人によって色々な手法があるかと思います。
ただ今回はスクール講師をしてい時代にぶっちゃけ本当にできない人ができるようになった勉強法を紹介します。
これからプログラミングの勉強を始める超未経験者や超初心者の方の勉強法としてご参考になればと思います。
※言語によっても難易度が変わってきますので、未経験者向けの言語選びについては下記の記事をご覧ください。
目次
プログラミング勉強方法
いきなり結論となりますが、プログラミング初心者・未経験者の方が、プログラミングを最も効率的に勉強できる方法は「コピペ」です。
プログラミング業界でも「写経」と呼ばれています。
他のサイトのコードを解析して丸パクリする、とかそういった違法のコピーではありません。無意味に延々とだらだら書き続けるわけではありません。
この勉強法を実践することで、これまで多くのプログラミング初心者受講生が、
・スマホアプリを実際にリリース
・エンジニアとして転職できた
という実績もありますので、ぜひ騙されたと思って真似してみてください。
「そもそも写経ってなんなの?なんでここで書いているの?」
「プログラミングとどう関係があるの?」
そう考えているあなた、まずはお答えしましょう。
写経(しゃきょう)とは、仏教において経典を書写すること、またはその書写された経典のことを指す。
–Wikipedia
何かを学ぶなら、まず写す・真似ることからはじめるのが一番効率的・永続的だということです。
プログラミングにおいて、プログラミングの経典(書籍・テキスト等のソースコード)を書写(コピペ)することが非常に大切だということです。
そもそも習字をならったことがあるひとならわかると思いますが、まず先生のお手本を真似しますよね?
小学校で感じを習った時、漢字ドリルのお手本を見て、書き順について先生にうるさく言われながら、ひたすら漢字を書かされませんでしたか?
物事を習得するための言葉として、「守破離」という言葉があります。
「守」:まずはお手本や先生の所作・型を真似て「守る」
「破」:基本の型が身についたら次は既存の型を「破る」
「離」:最終的には基本型とオリジナル型をもって「離れ」た存在になる
また、そもそも「学ぶ」という言葉の語源をご存知でしょうか?
[aside type=”boader”]
「学ぶ」=「まなぶ」=「まねぶ」=「真似ぶ」
[/aside]
そうです、「まなぶ」は「まねぶ」、すなわち「真似る」が語源なのです。
いずれも、はるか昔からずっと今に伝わる言葉ですが、共通して、はじめに「真似る」ことが大事と説かれています。
そもそも勉強、仕事、遊びなど何においても全て真似して覚えていますよね??
初心者向けプログラミング勉強法
- ソースコードの写経(最低10回)
- ソースコード内の処理関数の疑問をググって理解
- 写経したソースコードにテキスト内の内容を基に手を加えてオリジナルアプリ作成
これが初心者の勉強法の全てです。
プログラミングの勉強といえば「書籍」「ネット情報」「スクール」と大体この3種類になるかと思います。
どこで学ぶにせよ、この3Stepは覚えておいて下さい。これさえしっかりできれば間違いなくステップアップします!
以下、具体的に解説します。
プログラミングにおけるこぴー方法
第一
意味を考えずに、どこに何を写せばいいかだけを考えてコピペする。
参考テキストの単なるコピペでOKです。
*プログラミング未経験者は、おそらくこれさえもまともにできません。
第二
第一段をクリアし、コピペでサンプルプログラムが動かせるようになったら、次は一語一語を自身でタイピングして写経します。
文字フォントの違いや誤字、「,」、「;」などが不足して動かないことが初心者には多くあると思います。
しかし、自分のタイピングでプログラムを動かせるようになってください!それが本当に大切ですし、あとから必ず役に立ちます!
第三
ひたすら第二段のタイピングを繰り返して下さい。
ほぼ、サンプルソースコードを見ないで動かせたら合格です!
ここまで来れば、ソースコードはあなたの知識となります。
※1つのアプリやサービスを作りきると、自然とプログラミング独自の書き方の流れもわかります。
実際に10種類のプログラミングソースコードから作られたテキストを、完全にコピペし、何も見ずに書けるレベルまでやり込みました。それによりスクール講師やアプリも多数リリースできるようになっています。
コピペに慣れたら内容理解
コピペを10回以上やったら次は、自分がいままで書いてきたことへの理解を深めます。(もちろん10回にこだわらずに慣れてきたら同時に理解することをしてください。)
ここまでやりこめば、ぼんやりでもだいたいこれを書くとこうなる、というのが見えてきます。
しかし、細かい部分で疑問は出てくるかと思います。
ネット検索や詳しい方(スクール生なら講師)を利用し、ソースコードの意味をしっかりと理解してください。
エラーが出たことは全てメモして、ネット検索で調べてできるだけ自身の力で解決に力を注いで下さい。
これが、プログラミングで身につくと言われる課題解決能力です。
エンジニア・プログラマに大切なのはプログラミングスキルよりも、実は課題解決力・調査力・検索力だったりする場面が多いです。
「調査スキル」もあわせて高めていきましょう!
オリジナル要素を加える
テキストや書籍にかいてあることが理解できるようになったら、次はテキスト通りに開発したものにオリジナル要素を入れるカスタマイズです。
「書籍やテキストをどう進化させるか?」
「どんな機能をつけてカスタマイズするか?」
などを考えて、新たな命を吹き込む作業を、次に進む際に実施してほしい作業です。
そうすることでプログラマとしての頭の使い方が備わってきます。
追加する機能は、他の書籍・ネット情報から新しい機能を検索してみてください。
また、すでに世にでているアプリも参考になりますね。
当時の私の教え子の方は、オリジナルアプリをリリースさせることでかプログラミングに自信をもち能力が伸びたと感じています。
プログラミングの勉強時間について
プログラミングの勉強はどのくらいすればいいかをまとめました。
目安となりますが、たくさんあるプログラミング言語のうちの1つの言語を「習得」には一般的に1000時間が必要と言われています。
もちろんプログラマーとして目指すレベルにもよります。
1000時間は一日3時間で約1年のと相当します。
1000時間で取得する資格でいうならば・・行政書士や2級建築士が代表としてあげられます。
今から30年以上前なら絶対的に行政書士、2級建築士をやるほうがいいと言えたでしょう。
現在の世界では1000時間プログラミング学べば確実に行政書士、2級建築士より稼いでいける環境が用意されています。
初心者脱却までは300時間が目安です。
300時間もやれば初心者アルバイトや初心者からのインターンでは「出来る人レベル」でスタートになります。
とある就職支援も行っているスクールはカリキュラムで600時間を濃縮と話していますが。
そのくらいやれば就職も見えるてくるということです。
※就職支援に強いプログラミングスクールについては下記の記事をご覧ください。
プログラミング技術のスキルアップ
早く実戦で使いたいという方で、現在学生や無職の方は、最低1ヶ月間をみっちりとプログラミングを本気で学んだあとは、未経験OKのアルバイトやインターンを探して働きましょう。
現在働いている方は副業可能なところでお手伝いしや自身のオリジナル品を作ってみましょう。
実戦で使うと何百倍も何千倍もプログラミングスキルはアップします。
まとめ
今がどんな状況でも、プログラミングで人生を変えたい人はまず300時間、覚えが遅い人なら500時間を目安にとにかくやってみましょう。
勉強が苦手・・・って人もご安心ください。
難易度の高い微分や積分ができなくても大丈夫。*微積を使う分野もあります。
一言語の一分野ならかなりハードルは低いです。
どんな勉強よりも簡単だと思います。
是非ともチャレンジしてみてください!!