【プログラミング】学ぶ上で考えておくこと
こんにちは、しきゆらです
今日は、大学の教授とお話する機会があり、今までの学習方法などを話しました
そこで出てきた、学ぶ上で必要そうなことをまとめておきます
※完全に個人用なので、読みにくい文章になっています
ですが、一部でも誰かのためになれば幸いです
まずは、私の今までの学習方法についてメモしておきます
(あくまで、私の経験なので悪しからず)
- 本をたくさん買い1冊ずつ読んで行こう
- 毎日決まった時間に勉強を始めよう
- 本もいいけどネットの方が検索しやすいし、ネットで調べよう etc…
結局色々な方法で挑んできましたが、どれもうまく行きませんでした・・・
本をたくさん買い1冊ずつ読んで行こう
これは
・いざやっていくとわからないところで挫折してしまい、他の本へ手が伸びなくなる
・本が手元にあるから今でなくてもできる、と思い触れる機会が減る
などの理由で本棚が埋まっていくだけで、うまく行きませんでした
毎日決まった時間に勉強を始めよう
・用事やら何やらで決めた時間に勉強を開始できない日があると、それ以降でやらなくなってしまう
という理由で続かず、うまく行きませんでした
本もいいけどネットの方が検索しやすいし、ネットで調べよう
・検索しているうちに、趣旨がずれ趣味などの関係ないものを検索しているうちに時間が過ぎる
ということで、上手くいきませんでした
いやーお恥ずかしい限りです・・・
どうも、何かを決めて行動するということができないようです
こんな話を教授としていて、こんなお言葉を頂きました
「学習は目に見えないから、見えるようにしよう」
単純ですね
自分がどこまでできるようになったのかわからないからできないのだろうと
では、今までやってきたことを目に見える形で残していこうと
つまりはそういうことですね
その中で出た案として「知識のマップを作る」ということです
例えば、プログラミングをうまくできるようになりたい!
と考えた場合、プログラムって漠然といってもいろいろ要素がありますね
・言語は何を使う?
・どの分野のことをやりたいの?
・今持ってる知識を使えないの?
などなど、考えることがいっぱいあります
目標設定と学ぶことを考えてみる
Webサイトを作りたいのか、PCで使うソフトウェアを作りたいのか、はたまたスマホアプリを作りたいのか
プログラムといってもいろいろありますね
作りたいものが決まれば、自ずと学ぶものも決まってきます
では、学ぶものを書きだしてみます
Webサイトを作りたい!と考えた場合、何を学ぶ必要があるでしょうか
- HTML/CSS
- JavaScript
- PHP
- クライアント側、サーバ側で行うこと
- Linuxの操作
- 画面のレイアウト、UI
- サーバ構築 etc…
プログラムだけでなく、デザインの知識やLinuxの知識などプログラムとは直接関係ないようなことが出てきました
この辺が、挫折する理由の一つかもしれませんね
何か1つができるようになればいいわけではないんですね
では、出てきたものをさらに深く掘り下げてみます
・HTML/CSS
- HTMLタグや属性値
- 文章構造
- スタイリングプロパティ
- セレクタ・・・
ここでもプログラム以外の分野が出てきました
書き方だけ覚えても、使えないんですね
・JavaScript
- スクリプトの文法
- HTMLとの連携方法
- ブラウザごとの実装の違い
- ライブラリ・・・
ここで上げた以外にも様々なことを学習しなければいけません
ここまで上げた2つ以外でもそれぞれ考えてみます・・・膨大な量を学ばなければいけません
それぞれ学ぶことを並べてみる
各項目ごとに学ぶことがいくつかあることが見えてきました
では、それをまとめてみます
一番外側の大きな枠に目標を、この場合は「Webサイト」になります
その中で、各項目を置くための領域を決めて行きます(HTML/CSSやJavaScriptなど)
項目の場所が決まったら、その中に学ぶことを並べて行きます(HTMLならタグを覚える、など)
これをやるとマップぽいものができます
あとは一つずつ学んでいく
あとは学んでいくだけです、普段からいろいろ触ってみたり、調べてみたり
ここで大事なのは、「3か月は続けてみる」ことだそうです
学び始めてすぐに効果が出るなんてことはめったにない
3か月くらい触れているとなんとなく直観がはたらくようになってくるので、めげずに触れて行くのが大事だとのことでした
例えるならば、「知識の電線を引く」ということですね
知識をためて行くとその部分に電線ができます
どんどんためると、どんどん電線が増えて行きます
そして、どこか1カ所でもつながれば電気が流れる
つまり、理解というか学んだことが自分のものになるんですね
その後もどんどん知識を増やしていくと、様々なルートでつながっていきます
様々な考え方ができるようになっていく、とのこと
学んでいき、できるようになった!と思ったら、マップの学んだ部分を塗りつぶしていきます
最終的にはすべてが塗りつぶされ、できるようになる(はず!)
マップを見ると、できるようになったことが目に見えるのでやる気につながるとのこと
なるほどな~
今後はこんな感じでやってみようと思います
挫折せず、頑張ろう