初心者向けプログラミングの勉強方法とスキルアップまでの勉強時間について

今回は、プログラミングを学ぶ際にどんな言語でも共通して使える超基礎の勉強方法をまとめました。

人によって色々な手法があるかと思いますが、1年でアプリ開発スクールの講師にまでなれたタカユキのプログラミング勉強方法についてご紹介します。

これからプログラミングをはじめる初心者・未経験者の方の勉強法として、ご参考にしていただければと思います。

※プログラミングやアプリ開発におすすめのPCについて知りたい方は以下の記事をまずご覧ください。

アプリ開発やプログラミングにオススメなパソコン情報!Macがオススメ!?

2016.04.12

PCの準備もできたし、ついにプログラミングをはじめられる環境ができた!
さて、本格的に勉強をスタートしたい!!

そんなプログラミング初心者の方が、最もプログラミングを効率的に勉強できる方法は、そう、

「コピペ」

です。

つまり、俗にいう…

「写経」

が中心です!

この時点ですでに

「えー・・・?コピペはあかんよね?!」
「写経!?つまらなそう・・・!」

という声が聞こえてきそうですが…笑

コピペと言ってもFacebookのコードを解析して丸パクリする、とかそういった違法なものではありません。
写経と言ったって、無意味に延々とだらだら書き続けるわけではありません。

つまるところ、こういった基礎をなめたらいかんのです!!!

HUNTER✕HUNTERのネテロ会長だって、感謝の正拳突きを毎日10,000回しているうちに、正拳突きのスピードが音速を超えるほどになり、あんなに強くなったのですから!!!!!

この「コピペ・写経法」の具体的なやり方については、これから詳しく紹介していきますのでぜひ読み進めてみて下さい!
(この時点で脱落してしまうくらいならはじめからやらないほうが幸せかもしれませんし・・・)

また、余談ですが、私の勉強法を実践することで、これまで多くのプログラミング初心者受講生が、

・アプリを実際にリリースした
・エンジニアとして転職できた

という実績もありますので、ぜひ騙されたと思って真似てみてください!!

さてそんなわけで、(奇跡的に)ここまで読み進めてついてきてくださっている方向けに、
プログラミングスクール講師が初心者向けにあみだした、「タカユキ式プログラミング勉強法」を、これよりお教えします。

そもそも写経がプログラミングとどう関係あるの?

「そもそも写経ってなんなの?なんでここで書いているの?」
「プログラミングとどう関係があるの?」

そう考えているあなた、まずはお答えしましょう。

写経(しゃきょう)とは、仏教において経典を書写すること、またはその書写された経典のことを指す。

–Wikipedia

インターネットはおろか、電話や紙すらも充分に発達していなかったその昔…

仏教を志す人は、仏教の教えを学んだり広めたりするために、外国に渡り経典を写していました。そして、そういった経典やそこから発展した考え方は、今日にも残っています。

少しまわりくどかったですが、何が言いたいかと言いますと、

何かを学ぶなら、まず写す・真似ることからはじめるのが一番効率的・永続的だということです。

そうつまり、プログラミングにおいても

プログラミングの経典(書籍・テキスト等のソースコード)を書写(コピペ)すること

が非常に大切だ、ということです。

そもそも習字をならったことがあるひとならわかると思いますが、まず先生のお手本を真似しますよね?

小学校で感じを習った時、漢字ドリルのお手本を見て、書き順について先生にうるさく言われながら、ひたすら漢字を書かされませんでしたか?

物事を習得するための言葉として、「守破離」という言葉があります。

「守」:まずはお手本や先生の所作・型を真似て「守る」
「破」:基本の型が身についたら次は既存の型を「破る」
「離」:最終的には基本型とオリジナル型をもって「離れ」た存在になる

また、そもそも「学ぶ」という言葉の語源をご存知でしょうか?

「学ぶ」=「まなぶ」=「まねぶ」=「真似ぶ」

そうです、「まなぶ」は「まねぶ」、すなわち「真似る」が語源なのです。

いずれも、はるか昔からずっと今に伝わる言葉ですが、共通して、はじめに「真似る」ことが大事と説かれています。

だいぶ長くなりましたが、ここまでで、プログラミングをはじめて学ぶ際、「写経をして真似る」ことがなぜ必要なのかを述べました。

これからいよいよ、プログラミング勉強法のコア部分へとどんどん近づいてゆきます!

プログラミング初心者が講師になった方法について

その前に少しだけ、私の話をさせてください。

かくいう私も、プログラミング初心者でしたが、あることに気づいたお陰で、1年足らずで大手アプリ開発スクールの講師になるまでになりました。

受講生にはバリバリ仕事でプログラミングを実施している方も多く、私の何倍も詳しい生徒さんもたくさん受講していました。

講師として教壇に立つからには、「圧倒的にプログラミングの知識が必要だが、どうすればいいか?」と悩んだこともありました。
実務経験もほぼなかったので、初講義がはじまるまでは、正直にいってすごくビビりまくっていました…笑

しかし、私の師匠である先生に、「テキストだけできればOK」と言うアドバイスをいただいたことでピンときました。

テキストを教えるなら、まず今あるテキストを確実に自分の知識してしまえばいい!そう考えたのです。
結果的には、それが逆に功を奏したといまでは感じていますが、そんな経緯で、これからお教えする手法を地道にやることにしました。

会社の休み時間、昼休み、帰宅後と勉強時間にあてる・・・数ヶ月はずっとそんな生活でした。(あくまで副業でしたので・・・)
しかし地道に続けることで、プログラミング初心者から約1年でAndroidアプリ開発スクール講師となることができました。

やはり、時間と努力は裏切らない

もちろん、私のように講師を目指すのも1つですし、開発者になる・個人で稼ぐ、というのも目標だと思います。

WorkStyleCafe式プログラミング勉強法

さていよいよ、タカユキ式プログラミング勉強法をお伝えします。
ここまで読むのでもうヘロヘロだよ・・・って方のために、手順を先にお伝えしてしまいます!!笑

  1. ソースコードの写経(最低10回)
  2. ソースコード内の処理関数の疑問をググって理解
  3. 写経したソースコードにテキスト内の内容を基に手を加えてオリジナルアプリ作成

これが全てです。

プログラミングの勉強といえば「書籍」「ネット情報」「スクール」と大体この3種類になるかと思います。

しかし、いずれの場合も、この手順が3Stepは覚えておいて下さい。これさえしっかりできれば間違いなくステップアップします!

以下、具体的に解説してゆきます。

プログラミングにおける写経方法

大変長らくお待たせしました。
これからいよいよ、前段でながながと語ってきた「写経」の、具体的な方法についてお伝えします。

(1)写経レベル1
意味を考えずに、どこに何を写せばいいかだけを考えて写経する。
参考テキストの単なるコピペでOKです。
プログラミング未経験者は、おそらくこれさえもまともにできません。

(2)写経レベル2
(1)をクリアしてコピペでサンプルプログラムが動かせるようになったら、次は一語一語を自身でタイピングして写経します。
文字フォントや誤字、「,」、「;」などが不足して動かないことが初心者には多くあると思います。
しかし、自分のタイピングでプログラムを動かせるようになってください!それが本当に大切ですし、あとから必ず役に立ちます!

(3)写経レベル3
ひたすら(2)のタイピングを繰り返して下さい。
ほぼサンプルソースコードを見ないで動かせたら合格です!
ここまで来れば、ソースコードはあなたの知識となります。
※1つのアプリやサービスを作りきると、自然とプログラミング独自の書き方の流れもわかります。

私は、実際に10種類のプログラミングソースコードから作られたテキストを、
完全に写経(コピペ)し、何も見ずに書けるレベルまでやり込みました。
(実際に100回くらいは実施していたと思います。)

写経の次は、書いたことへの「理解」

写経を最低10回以上やったら次は、自分がいままで書いてきたことへの理解を深めます。(もちろん慣れてきたら同時に理解することをしてください。)

ここまでやると、ぼんやりでもだいたいこれを書くとこうなる、というのが見えてきます。

しかし、細かい部分で疑問は出てくるかと思います。

私も講師になるまでに、使われているプログラミング関数の意味や付随する内容も調べて理解しました。(テキストに書き込みました、それがその後のアップデート版テキストに反映されました。)

ネット検索などを利用し、ソースコードの意味をしっかりと理解してください。
スクールに通っている場合は、スクール講師が嫌がるくらいにガンガン質問しましょう。

さらに、プラスαとして大事なことは、エラーが出た際にしっかりネット検索で調べて自身の力で解決すること。

つまり、課題解決能力です。

これがあなたのプログラマーとしての力を圧倒的に上げる方法です。
エンジニア・プログラマに大切なのはプログラミングスキルよりも、実は課題解決力・調査力・検索力だったりする場面が多いです。

「WEB検索スキル」、これもあわせて高めていきましょう!

ソースコードの理解が深まった次は、オリジナル要素を加える

写経でテキストや書籍にかいてあることが理解できるようになったら、次はその開発したものにオリジナル要素を入れるカスタマイズです。

「書籍やテキストをどう進化させるか?」
「どんな機能をつけてカスタマイズするか?」

などを考えて、新たな命を吹き込む作業が、写経・理解の次に進む際に実施してほしい作業です。
そうすることでプログラマとしての頭の使い方が備わってきます。

追加する機能は、他の書籍・ネット情報から新しい機能を検索してみてください。
また、すでに世にでているアプリも参考になりますね。

私の教え子の大半は、オリジナルアプリをリリースさせることでかなり伸びたと感じています。

勉強時間について

プログラミングの勉強時間がどのくらいかかるか?をまとめてみます。

1つの目安となりますが、たくさんあるプログラミング言語のうちの1つの言語を「習得」には1000時間が必要と言われています。

もちろんどこまでてきるか?など人や求めるレベルによります。

1000時間は約1年のと相当します。

1000時間で取得する資格でいうならば・・行政書士、2級建築士があげられます。

30年前なら絶対的に行政書士、2級建築士をやるほうがいいと言えたでしょうが、現在は1000時間プログラミングすれば確実に行政書士、2級建築士より稼げる環境が用意されています。

さらに・・初心者脱却までは300時間が目安です。

300時間もやれば初心者アルバイトや初心者からのインターンでは「出来る人レベル」でスタートになります。

まずは300時間をめざしませんか??

さらなるプログラミングのスキルアップ

早く実戦で使いたいという方で、現在学生や無職の方は、最低1ヶ月間プログラミングを本気で学んだあとは、未経験OKのアルバイトやインターンを探してみるのもよいと思います。

実戦で使うと何百倍もプログラミングスキルはアップします。
もちろん、自身の使える時間や目的によってやるべきことが変わりますよね?

まとめ

多くの方は1人で書籍を買ってプログラミングの勉強をスタートするかと思います。

…しかし、その大半は挫折します

はずかしながら、かくいう私もその1人でした。。。
私はコレクター精神があるのか、色んな書籍に手をつけて失敗。
さらには開発環境も書籍の情報からはうまく作れず、失敗し、結局はスクールに通いました。

しかし、スクールに通ったからこそ、何をするべきか、どうしたら挫折しないかを見つけるヒントを得られました。

ですので、プログラミングで挫折したことが合ったり、ひとりではモチベーション的にも続かなそう・・・という方に第一におすすめできるのは、プログラミングスクールへ通って「開発環境」をしっかり作ってしまうことです。

「開発環境」さえしっかり作れてしまえば、あとはスクールでもらったテキストを、上記で示したとおり写経・理解しまくることで必ず力をつけることができます。

プログラミングスクール比較記事
※こちらの記事で、プログラミングのスクールを比較しています。
オススメのスクールも載っておりますので、これまで挫折経験があったり、一人ではつらい…という方はぜひ合わせてご覧ください。

プログラミングスクール(教室)比較12校!金額や満足度、卒業後の進路も

2017.06.02

それでも、どうしても自宅で1人でやりたいや…という方は、まず最新のできるだけ新しい書籍を購入しましょう。
開発環境情報がしっかり記載されており、難易度のできるだけ低いもの、薄いものを特におすすめします。

きついかもしれませんが、まずはスクールのテキストや簡単な書籍一冊、なんでもいいので小さなアプリやサービスを作ることが出来る書籍を利用して、その書籍をが擦り切れるまで一ヶ月でひたすらやりこんでみてください。

そうすれば、エンジニア・プログラマへの道が一気にひらけます。

考えるよりも身体で慣れろ!!

とにかく、右も左もわからない駆け出しの初心者向けプログラミング勉強方法は「写経」につきます!!

私もこの手法で半年かけて10種類のソースコードを自分のものにしました。

テキストに関しては自分よりも圧倒的に詳しい方にも教えることができて、自信を持てるようになりました。

このとき学んだ知識は、他のプログラミング行うとき、オリジナルアプリを作るとき、請負をしたとき…全てに生きています。

初心者からスタートする際は圧倒的にプログラミングの基礎知識が不足しています。

でも、まず半年・1年間は1つのことを信じてがっつり取り組んでみませんか?
簡単な書籍一冊を10回写経してみませんか??

一ヶ月で終わります!!ぜひお試しください!!

もしここまでで、なにか勉強法に不安や悩みがある際には、ぜひ私に気楽にお問い合せください!!

お問い合わせ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です