プログラミング学習で絶対にやってはいけないこと〜まったくの初心者から3ヶ月でハンバーガーメニュー付きペラサイトを作れるようなった理由〜プログラミング独学講座①〜
プログラミングに正解はない 結果がすべて
プログラミングは覚えなくていい
プログラミングで重要なことは、問題解決能力と情報収集力
ある時、突然、プログラミングを勉強したい、と思いました。
その瞬間まで、プログラミングのプさえ知らなかったのに、です。
きっかけは小学校におけるプログラミング教育の導入でした。
プログラミング教育を導入するにあたって、準備を進めているうちに、
ああ、と思ったことがありました。
つまり僕達の身近にあるコンピュータは、すべてプログラミングによって成り立っていること、
そのプログラミングは、人の手によって作られていること、
今の世の中は、このプログラミングで、ほぼ全てが成り立っていること、
です。
当たり前ですが、たとえば自動ドアは、なぜ自動で開くのか、
外灯はなぜ自動点灯するのか、
スマホはなぜメールが送れるのか、
ネットとはなんなのか。
グーグルマップはなぜ、現在地を表示できるのか、
などなど、
すべてがプログラミングなのです。
であるなら、
これまでブラックボックスだった、プログラミングとやらを、勉強してみようか、という気になったわけです。
それから、副業でプログラミング、というキーワードも、結構、目につきました。
プログラミングで月5万稼ぐ方法
といった記事も多くあります。
ホントかいな、という猜疑に満ちながらも、3ヶ月前、突然、プログラミングの海に飛び込んだのでした。
と、もっともらしいことを書きましたが、実は、下にまとめたものが、本音の動機です。
プログラミングができるとカッコいい。
プログラミングができるとお金が入る(らしい)。
小学校でもプログラミング教育が始まった。
パソコン(インターネット)がこれだけ身近なのに、その中身をまったく知らない。
ということで。
3ヶ月、毎日、プログラミングの独学だけをしました。
失敗もたくさんしました。
けれど、3ヶ月後、ハンバーガーメニュー付きのペラサイトを、誰の力も借りることなく、作れるようになりました。
とはいえ、まだまだ初心者には変わりません。
ですから、この記事は、
プログラミング初心者によるプログラミング超初心者に向けたプログラミング講座
ということになります。
ですからこの記事の長所といえば、
プログラミング初心者ゆえに、初心者ならでは視点で記事が書ける。
この一点につきます。
まったくの独学で始めて、3ヶ月経った現在のスキルは、以下です。
jQueryを使ったハンバーガーメニューを実装したペラサイトは作れる。
とりあえず模写をやれと言われれば、できる
visual studio code を使ってgitによるバージョン管理ができる
レスポンシブに対応できる
そんなモンかい、という方もいれば、
3ヶ月では、結構いいんじゃ、
という方もおられるかもしれません。
とりあえず、そんな感じなのですが、
ゼロから3ヶ月、ほぼ毎日、プログラミングの独学に集中して、自分なりにつかんだことをお話しします。
まとめると以下のようになります。
プログラミングに正解はない 結果がすべて
プログラミングは覚えなくていい
プログラミングで重要なことは、問題解決能力、と、情報収集能力
プログラミングに正解はない。
最初にやったのは、「ドットインストール」でした。基本的なhtmlとcssの講座をすすめていきました。
次にやったのが、「プロゲート」でした。これも基本的なhtmlとcssの講座をすすめていきました。
ここで、最初の大失敗をしました。
ドットインストールの講座もプロゲートも、新しいことが出てくるたびに、ノートにまとめていったのです。
新しい知識が出てくるごとに、それはつまり、ほぼすべてだったのですが、そうした新しい事象が出てくるごとに、ひたすら律儀にノートにまとめたのです。
それはまるで受験勉強で歴史をノートにまとめるのと、ほとんど同じ方法論でした。
瞬く間にノートは2冊分、埋まってしまいました。
それだけの量の「覚えること」が出来上がってしまいました。
続けて、第2の大失敗をしてしまいました。
ノートにまとめたことを、覚えようとしたのです。
さらに第3の失敗をしました。
ドットインストールも、プロゲートも、しっかり覚えるまで、繰り返しやろうとしたのです。
けれど、どちらも2周目を迎えるときに、投げ出しました。
あまりにもつまらなかったからです。
苦痛以外の何物でもなかったからです。
覚えても覚えても、キリがありませんでした。
あまりにも覚えることが膨大すぎました。
というか、無限でした。
しかも、まったく身につきませんでした。
やっぱりプログラミングは難しい。止めよう、と、挫折しかかりました。
ここで僕の失敗をまとめてみます。
出てくる知識をひとつずつ、完璧に覚えようとした
そのためノートにまとめた
ドットインストール、プロゲートに出てくるコードをそのままそのとおり覚えようとした
ここで、ようやく気がついたのでした。
プログラミングの勉強、というのは、学校での勉強とまったく違う
ということに。
というより、受験勉強とまったく違う、ということに。
つまり、発想を転換させないと、プログラミングは上達しない、のです。
それはどういうことかというと、
正解はない 結果がすべて
プログラミングは、覚えなくていい
プログラミングで重要なことは、問題解決能力と、情報収集能力
これまでも、書いてきましたが、ひとつのサイトをつくるにあたって、まず構想をします。
こんな感じのサイトにする、という構想がまとまったら、次に、そこに必要な技術を盛り込んでいきます。
例えば、ハンバーガーメニューを実装したい、と思います。
すると、ハンバーガーメニューを解説したサイトやyoutubeをググりまくります。
そしてひたすら、読んだり、見たりします。
そうして自分の構想に必要な技を見定めていきます。
その技に、例えば jQueryが必要なら、 jQueryを学びます。その過程で、JavaScriptが必要となれば、JavaScriptを学びます。
そんなふうに、行きつ戻りつ、必要な技を実装するために、情報を収集していくわけです。
つまり、プログラミングの学習で大切なことは、
ゴールに行き着くためには何を学ぶべきか
課題となっていることは何か
課題を克服するためには、どんな情報が必要か
その情報はどこにあるか
を、しっかり考えることこそが、上達の近道です。
このプロセスこそが、重要なのです。
つまり、
問題解決能力
そして、
情報収集能力
です。
ですから、この二つの能力をしっかりと育てれば、プログラミング学習は、ほぼ、終わったようなものなのです。
ということで、もう一度、結論です。
プログラミングに正解はない 結果がすべて
プログラミングは覚えなくていい
プログラミングで重要なことは、問題解決能力と情報収集力
いかがでしたか。
これで、第1回、プログラミング初心者によるプログラミング超初心者に向けたプログラミング講座
は終了です。
次回は、具体的にどういうふうに学習をすすめたか、特にドットインストール、プロゲートについて、解説しています。