※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
こんにちは。ITエンジニアのはづきです
今回は「真面目な独学者ほど陥る5つの罠」というテーマで初学者が陥りがちな非効率な学習方法について解説します
私自身エンジニアとして勉強中の身ですが、プログラミング学習を始めた大学生の頃を振り返ると「どうしてあんなに非効率な勉強の仕方をしていたんだろう、、」と思うことが多くあります
例えば、基礎文法をノートにまとめて暗記しようとしたり、参考書に書いてある設問に対してすべてコードを書いて回答していたり、、
また、プログラミングの学習に義務教育での勉強方法をそのまま取り入れると失敗すると思います
この記事の結論は、「上達のコツ=真面目に"不真面目な勉強"をする」ことです
この辺りについて解説していきます

私がプログラミングを始めたばかりのときの非効率な学習方法のまとめです!笑
"独学者がプログラミング学習で陥る罠"の定義

"真面目な人ほど陥るプログラミング学習の罠"について話す前に、まずは罠の定義について確認しておきます
私が罠と考える勉強方法は以下の2つです
- 挫折に結び付くしんどい勉強方法
- 上達が遅れる非効率な勉強方法
もう少し詳しく解説します!
挫折に結び付くしんどい勉強方法
1つ目は単純に「つまらない」と感じやすい勉強方法です
暗記や参考書の熟読などは多くの人にとって退屈だと感じやすいと思います
プログラミング学習は"やりながらできるようになる"という側面が強いです
例えば、「自転車に乗れるようになる」、「逆上がりができるようになる」など。練習していたらいつの間にかできるようになっていたという経験は誰にでもあるでしょう
プログラミングも教材片手に失敗と成功を繰り返していると気づいたときにはできるようになっています。簡単なプログラムをたくさん作りながら楽しく学べると最強です
上達が遅れる非効率な勉強方法
2つ目は「完璧主義」「真面目」であるがゆえに上達に時間がかかる勉強方法です
プログラミング学習は"ほどよくいい加減"に勉強していくのがコツだと考えています
プログラミングの基礎学習は存在しますが、とはいえプログラミングの技術自体はハードウェアの仕組みを土台とした応用技術です
学習を進める過程で、ハードウェアの知識やプログラミング言語特有の前提条件を理解していくことになります
つまり、プログラミングを始めたばかりはわからないことが多いです。理解できるところだけ理解して、とりあえず先に進んでいく勇気が必要です
プログラミングは、数学のように「1+1=2」といった何も不明点がない状態から学習をはじめることはできません(この文章、大学数学を勉強している人はおおめに見てください笑)
1次方程式からいきなり勉強して、勉強の過程で四則演算や変数といった土台を理解していくのがプログラミングの学習イメージです。はじめたばかりのときは未理解のところが多く不安になると思いますが問題ありません

私が勝手に定義した罠ですが、この定義をもとに非効率な学習方法について解説します
真面目な独学者ほど陥るプログラミング学習の5つの罠

では、私がプログラミング学習をはじめたばかりの頃に陥った罠を紹介します!
「これは確かにそうかもな。。」と思うものがあったら取り入れてみてください
用語・文法の暗記をしようとする

1つ目の罠は暗記中心の勉強方法です
基礎文法や用語は今後何度もコードを書くことで覚えられます。そのため、暗記を意図的に勉強に取り入れる必要はないと考えています
そもそも覚える必要もないんです
プログラミングはカンニングして書いてもOKです。暗記するよりもやりたい処理の書き方を探す"検索力"を鍛えるほうが実践的だと思います
退屈だし時間もかかるので暗記中心の学習はやめましょう
コードを書かない/書くタイミングが悪い

2つ目の罠はコードを書かずに勉強することです
コードを書いて勉強するというのはよく聞く話ですが、なぜ書かないといけないのでしょうか。これについて私の考えを紹介します
コード書いて勉強する利点は、"エラーに対応する知識が身につく"ことです
コードを書かなければエラーが発生することはありません。参考書通りに書いたつもりがミスしていることもあります
このとき、自分のタイプミスの癖を知ると同時にエラーの種類を知ることもできます。そしてエラーが出る理由を知れば、次から同じエラーが出たときに対応できます
また、参考書と同じように書いてもエラーが出ることがあります。原因は開発環境やソフトのバージョンが違うとか文字コード設定がよくないとか、様々です
このように実際にコードを書くことで実践的な生きた知識を学ぶことができます
毎回律儀にすべてのコードを書く

3つ目の罠は参考書のコードを毎回すべて書くことです
2つ目の罠で"コードを書くこと"のメリットを解説しましたが、3つ目の罠で"コードを書き過ぎるな"という主張です笑
基礎文法だけでもそこそこ習得に時間がかかります。そんなときに、毎回理解しているコードを律儀に書いていたら時間がかかってしまいます
これは退屈ですし、習得に時間がかかって学習がしんどくなります
例えば、「四則演算を用いた4つのコードをそれぞれ書いてみよう!」という設問があったとします
4つのコードはそれぞれ「+,-,*,/」を使いわけるだけです。素朴な疑問なのですが、律儀に4つ書く必要ありますか?
どれか1つ書けば理解としては十分な気がします
こんな具合に課題の本質を理解して適宜、参考書の設問を飛ばしたりコピペを使うこともありだと思います
一度にすべてを理解しようとする

4つ目の罠は一度ですべてを理解しようとすることです
冒頭で少し説明しましたが、プログラミングの基礎学習は存在しますがプログラミングの技術自体はそもそも応用的なものです
実際は応用から学習を始めて、学習の過程で基礎も理解していくというイメージが私はしっくりきます
そのため、はじめはわからない部分があって当たり前です
完璧に理解しようとして先に進めないのはもったいないです。理解している部分を学習を通して広げていくイメージで、ある程度理解できたらどんどん先に進んでいくのがいいと思います
プログラミング学習を始めない

5つ目の罠はプログラミング学習を始めないことです
どこから学習を始めるのが効率的かを考えていつまでも学習がはじまらないパターンです
いろいろな場面で効率を求めて非効率になっていることって私自身よくあります
だったら地道に勉強したほうが早かったじゃん!ってやつです笑
これについて心当たりのある方は何かしら学習を始めてみることをおすすめします
まとめ:意図的に"雑さ"を取り入れて勉強しよう

プログラミング学習の5つの罠について解説しました
自分の学習方法を振り返って変えたほうがいいと思ったことがあれば取り入れてみてください
あまり完璧主義になり過ぎず、少し雑にやるくらいでちょうどいいかもしれません
上達のコツは真面目に"不真面目な勉強"をすることだと思います
さっそく学習しましょう!
コメント