プログラミングスキルを身に付けるには学習方法が肝|効率的な学び方をご紹介
こんにちは。
希少型ITエンジニア育成スクール「CORE ENGINEER」のサービス企画・販促を担当してますトモヨシです。
突然ですが、あなたは何か新しいスキルを修得する時、どのような学習方法を実施していますか?
・本を読む
・動画を見る
・スクールに通う
・ネット検索する
・何事もぶっつけ本番
私はもっぱら、ぶっつけ本番からの本を読んだりネット検索したりする派です。
人それぞれ、好みや習慣によって、学ぶ手段というのはなんとなく固定されているかと思うのですが、上記のように、情報社会である現代は、学ぶ手段は多種多様にあれど、「学ぶ目的=身に付ける」とするのであれば、その手段は限られてきます。
正直、本を読むだけでは、勉強した気にはなるんですが、全然身に付いていなかったり、読んだ内容も忘れたりしてしまいます。記憶定着率がいい動画も、記憶しただけであって、=身に付くというわけではありません。
私自身、ぶっつけ本番または本番に近い環境を準備して、とりあえずアタックしてみて、その後、壁にぶつかったら調べるという学習手段をとっています。
この方法だと学習課題も明確(何がわからないのか)になり、尚且つ必要なところだけを覚えればいいため、学習内容をスリム化できて非常に効率的ですし実用・実践的です。
そもそも、そうでもしないと脳スペックが低い私は、全てを覚えて身に付けるなんていう神のようなことはできません笑
ちょっと私の過去のお話をしますと、元々は、教科書を一から読み込んで、書いて覚えるという勉強法しか知らない人でした。これだと勉強した気にはなっても全然身に着きません。
また、仮に暗記はできても、自分で考えるということをしないため、応用がききません。(高校時に受けた数学検定で基礎が100点だったのに応用が0点でした泣)
実際に、学生時のテストは下から5本の指に入るほどで、赤点なんてザラでしたね。
これが勉強してないならまだしも、真面目だけが取り柄だった私は、しっかりとテスト勉強をしていたにもかかわらずこの程度です泣
なんとなく生きてた高校時代は、なんとかそれでやり過ごせましたが、専門学校〜社会人の時に非常に困った記憶があります。
専門学校を卒業して、国家試験を受験した際、応用問題や考えるような問題がほぼ出ないため、これまでの学習方法でギリ乗り切れましたが、なんといっても詰め込み型の学習方法は、瞬間記憶が精一杯なため、試験が終わると同時に脳内からキレイさっぱり消えてしまいます。
しかも、就職後は、患者様の状態に合わせて施術を提供するため、応用しかありません。何もできなかった私は、恥ずかしながら就職して「学校で何を習ってきたんだ」と先輩に怒られた苦い経験があります笑。
トモヨシの経験はこちらから↓
雇われ鍼灸師でビジネスの右も左もわからなかった私が起業家という働き方になるまでの話
これは、どの業界も同じです。特にITエンジニアのような専門職は、専門スキルを持っていて当たり前であるため、独学でもスクール卒でも何でもいいのですが、スキルと現場での対応力は持っていなければなりません。
そのため、勉強しても何も開発できないような学習法では通用しないのです。
身に付かないのであれば、それは勉強していないのと一緒。学ぼうとする意欲・向上心は大変素晴らしいですが、せっかく努力するのであれば、身に付く学習方法を選びましょう。
前置きが長くなり大変失礼しました。
いよいよ本題です。
今回は「希少型ITエンジニア育成スクール CORE ENGINEER」最大の特長とも言える開発実践力が身に付く学び方についてご紹介させていただきます。
独学でも使える学び方なので、結果がでなくて困っている方、プログラミング学習で何をすればいいかわからないという方は、ぜひ参考にしてください。
未経験からでも開発実践力が育まれる学習サイクル
まずは正確な情報のインプットから
冒頭には、ぶっつけ本番からと言っておいてなんですが、未経験者がこれからプログラミング学習を始める上で、いきなり本番というのは、さすがに乱暴な話なので、まずは全体をイメージしやすいように正しい知識のインプットから始めますが、もちろんアウトプットも並行して実施します。
コアエンジニアでは、現役プログラマー講師が、1:1の完全個別指導形式で正しい情報をインプットいたします。
考えたり調べたり、そしてまた考えたり
コアエンジニアでは、インプットとアウトプットの間に「考える/調べる」というステップを挟んでいます。
インプット-アウトプット学習法は、決して珍しいものではなく、参考書や動画、授業等でインプットした内容を、実際にそのまま書いて動かしてアウトプットとする学習スタイルは多くありますが、この方法では身に付きません。
インプット内容をそのままアウトプットしただけでは、書き写したにすぎないため、やった気にはなりますが身に付いたと言えないのです。
そのため、いざ応用で何か開発してみようとなった際、手が全く動かなくなるのはよくある話ですね。
インプットしたら、アウトプットするために「考える、考えてわからなければ調べて、解を導き出す」というひと手間があるかないかで、結果は180度変わってくるのです。
また、インターネットが発展している現代において、検索すれば大体の情報は手に入ります。逆に言えば、検索できなければ、情報にアクセスできずに学習効率がグンと下がりますので、調べるセクションで検索力も同時に鍛えましょう。
正直、社会に出た後、考える/調べることができれば、大抵のことは何とかできるようになります。
プログラミンを実行する(アウトプット)
アウトプットセクションです。これまでのステップで得たものを実行してみましょう。
プログラミング学習における挫折要因は多くありますが、その最たる一つに、
「今勉強していることが何の役に立つのかイメージしづらい」
という要因があります。
小学〜大学で勉強していて、「この勉強って何の役に立つんだろ?」と感じたことはありませんか?そして、感じた後に学習する意味を見出せずモチベーションが下がったことはありませんか?わたしはめちゃくちゃありました笑
プログラミング学習においても、同じことが言えます。
そうならないために、一つインプットしたら一つアウトプットというように、学んだことが何に役に立つのか実践レベルでわかることで学習効果も学習意欲も保ちます。
学習において最大の敵はモチベーション低下。継続できなければ、これまでの学習も意味がなくなるので、細かなアウトプットは重要です。
わからなければ質問する
当然、学習過程では、考えてもわからないことがたくさんでてきます。それは、社会に出て就職したり、フリーランスで働いていても同じです。
そんな時は、有識者に聞いてしまいましょう。コアエンジニアでは、専属で現役プログラマー講師がつきますので、授業でもチャットでも質問していただけます。
独学であった場合でも、以下のようなITエンジニア専門のQ&Aサービスやレクチャーサービスがありますので、質問してみてください。
・Qiita エンジニアに関する知識の記録共有サービス(https://qiita.com/)
・MENTA エンジニア向けパーソナルメンターサービス(https://menta.work/)
また、質問する際は、ぜひ質問の仕方にも一工夫することをおすすめします。
いきなり質問する前に、自ら考え調べるというのは、これまでご説明した通りです。その上で、質問する際に、具体的に質問したいことと、質問に至るまでに試した事等の過程をまとめ、自分の考えをしっかりと伝えた上で質問するという方法をとってみてください。
抽象的に質問されても、状況に応じて異なる場合があり、相手も返答しづらくなってしまいますので、相手が答えやすいように、そして、せっかく返答してくれた方の解が自分が求めている解として役立つように、心がけてみてください。
現場に出た際に、仮に不明な点があったとしても、この質問法によるコミュニケーションを取ることで、開発に対する理解度や発想の質を高めるだけでなく、現場に出た際、一人の社会人として、ITエンジニアとしての印象が、より良いものとなります。希少価値の高い「コアエンジニア」として欠かせないスキルです。
学びを実用、Let’s開発実践
これまでで得た知識やスキルを用いて、実際に開発しましょう。実践することで、かなり精度の高いアウトプットとなり、開発実践力が身に付きます。
開発するものはなんでも構いません。自分の作りたかったもの、スキルを生かせるもの、目指す職業で作れなくてはいけないもの等、色々とチャレンジしてみてください。
最後に:学び方を間違えず継続・実践すれば必ず身に付きます
ここまでお読みいただきありがとうございます。
冒頭長くなりましたが、とにかく学び方を間違えずに継続・実践すればプログラミングに限らずあらゆるスキルを身に付けることができるでしょう。
そのためには、正しい学習方法と、継続・実践できる環境をつくることが必須。スクールに通えば環境が整うのはもちろんですが、独学で自分なりに環境をつくることもできますので、ご自身の好みやライフスタイルに合わせて取り組んでみてください。
ご案内
手前味噌ではございますが、コアエンジニアでは、カリキュラム消化の過程で、開発実践していただけるように、各コースに制作物として、以下にチャレンジしていただきます。
【参考】
①Webプログラマーコース
[身に付くスキル]
HTML/CSS, JavaScript, PHP, WordPress, VisualStudio Code, XAMPP, Webサイト開発, 開発実践力
[制作物]
ネットショップサイト
②システムプログラマーコース
[身に付くスキル]
C++, JavaScript, HTML/CSS, PHP, WordPress, Android, VisualStudio Code, XAMPP, MySQL, フローチャート, Webアプリ開発, スマホアプリ開発, 開発実践力
[制作物]
チャットアプリ
③ゲームエンジニアコース
[身に付くスキル]
C++, C♯, JavaScript, Python, VisualStudio, フローチャート, ゲーム企画, ゲーム開発, 開発実践力
[制作物]
横スクロールシューティングゲーム
全てのコースで、Zoomによるオンライン無料個別体験も実施しておりますので、
・プログラミングに興味がある
・どんな授業なのか気になる
・スクールに通うか検討している
・スクールに通うべきか悩んでいる
・プログラミングが向いているのか試してみたい
等に、当てはまる方は、ぜひお気軽にご参加ください。
この記事が気に入ったらサポートをしてみませんか?