目次
こんにちは。sinyです。
この記事を見ている方は、おそらくこれからプログラミングを始めてみようと思っている方、もしくはすでにプログラミングの勉強を始めているけど、なかなかうまく学習が進んでいなかったり、モチベーションが続かなかったりと、何かしら悩みを抱えている方が多いのではないかと思います。
この記事では、そんなプログラミングの勉強、やりかたで悩んでいる方向けに、継続してプログラミングを学んでいける土台を構築する方法をご紹介します。
プログラミング学習のやり方をマンダラート図で分析してみよう
たくさんのアイデアを発掘したり、目標設定をするための手法として「マンダラート」という方法があるのをご存知でしょうか?
マンダラートは、発想法の一種。紙などに9つのマスを用意し、それを埋めていくという作業ルールを設けることにより、アイデアを整理・外化し、思考を深めていくことができる
具体的なやり方は、9マス(3x3)の正方形にテーマを書き込んで、関連する言葉をその周りに書いていくことを繰り返していくことで、アイデアを広げていく発想法です。
これを、プログラミングの学習という目標に対して適用することで、プログラミングの学習に必要なことや、自分に合った学習方法、そもそもプログラミングの学習の目標って何だったっけ?というようなことを可視化し、自分を見つめなおす機会にもなります。
大リーガーである大谷選手も、若い時にこの手法を使ってプロを目指したそうです。
話だけだとイメージしずらいと思いますので、実際に私が「プログラミング学習」という目標に対してマンダラート図を作成してみました。
こんな感じでマンダラート図を作成すると、目標に対して自分がやるべきことが明確になってきますので、ぜひこれからプログラミング学習を始めようとされている方や、すでに始めている入門者の方も一度やってみることをお勧めします。
プログラミング学習の目的を明確にする!
まず、最初に重要なことは「目的を明確にする」ことです。
「何のためにプログラミングを学習するのか?」という部分が曖昧だと、せっかく学習を始めても、まず、途中で挫折してリタイヤすることになります。
プログラミングの学習をしていると、必ず大きな壁にぶつかり挫折感を味わう時が来ます。
その時に、明確な目標が定まっていないとプログラミングの学習を継続するモチベーションが継続せず、その結果、リタイヤしてしまいます。
ですので、まず最初に「プログラミングを学習する目的」を明確にしましょう。
学習する言語を決めよう
目的が明確になったら、次は「何の言語を学習するか?」を決めていくことになります。
プログラミング言語は、非常に多くの種類があるためその種類を挙げたらきりがありませんが、主流な言語を5つまとめました。
「どの言語を学びたいか?」は、学ぶ目的によってだいたい決まってきますので、上記の表などを参考に、どの言語を学びたいかを決めましょう。
ちなみに、個人的なおすすめはPythonです。
理由は、初心者にとってとっかかりやすい言語(直観的にコーディングができる)でありつつ、データ分析やAI開発といったブームとなっている流行りの技術を使った開発までカバーできるからです。
もし、目的は明確になったけど、どの言語がよいか決めきめられないというかたはPythonから入門することをお勧めします。
自分に合った学習方法を試す
さて、学習する言語がきまったら、次のアクションは、「どうやって学ぶか?」ですよね。
私が作ったマンダラート図の例にもあるように、学習方法にもいくつかの選択肢がありますが、どれが正解というものはなく、自分に合った学習方法を選べばよいです。
プログラミング学習の入門者向けに、いくつか学習方法をご紹介します。
①書籍で勉強する
入門者であれば、まずは1冊好きな「**入門書」という類の書籍を購入すればよいです。
ちなみに、私がおすすめするPythonの入門書BEST3は以下の書籍です。
※どれも保有していて重宝しています。
1つ目は、「100問でわかるPython」です。
Pythonに関するクイズ形式の問題が100問掲載されています。
内容は非常に簡潔にまとめられていて、Pythonの基礎をコンパクトに理解できる内容になっているので、本当のプログラム入門者でもとっつき易い書籍だと思います。
2つ目は、「みんなのPython」です。
この書籍は、1つ目の書籍に比べると難易度が上がりますが、体系的にPythonの知識を学ぶことができる1冊で、基礎構文から少し応用的な知識、データ分析の入門的な内容も含まれているので2冊目としてはちょうどよい本だと思います。
そして3冊目は「Effective Python」です。
この書籍は、応用編として3冊目くらいに購入するとよいレベルの書籍です。
Pythonのベストプラクティス的なソースの書き方や、並列処理、本番運用を見据えたノウハウが記載されています。
②動画で学習する
プログラミング学習を動画で学習するなら、断然Udemyがおすすめです。
Udemyではその道のプロがわかりやすくプログラミングを解説している動画が数多くあります。
また、定期的にセールをやっていて、全品1500円前後で購入できる期間があり、通常1万以上する講座をめちゃくちゃお得に購入することができちゃいます。
私もセール時を狙って気になっている講座を1つ購入することにしています。
Pythonの入門講座としては以下の3つが公開されています。
※2400円と一番お安いです。
※こちらは、まったくの初心者というより多少スクリプトや簡単な言語を触ったことがある人を対象としたコンテンツになっています。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
こちらは、Pythonを体系的に学べてアプリケーション作成まで解説しています。
受講者も1万5000人以上を超えていて、大変人気のコースになっています。
動画教材は、書籍に比べると料金的には少し高めについてしまいますが、音声+動画で視覚的に学べるというのは魅力的だと思います。
③プログラミングスクール(20代、第2新卒にお勧め!)
プログラミングスクールを検討する場合、すぐに有料のスクールに通うという選択肢が思いつきますが、実は無料で受講できるスクールというものが存在しています。
有料には有料の良さがあるのですが、「プログラミングを学習したいけどプログラミングスクールは高くてちょっとハードルが高い」と思っている人には、「兎にも角にもまずは無料のスクールに通ってみる」というのも1つの手だと思います。
20代もしくは第2新卒向けのサービスとなっていますが、無料で学習できるプログラミングスクールに
というのがあります。
このスクールでは、完全無料でプログラミングをレクチャーしてもらえることができます。
最終的に派遣、バイトなどの紹介ではなく、正社員としての就職支援もしてもらえます。
「なぜ無料でプログラミングを学ぶことができるの?」
と不思議に思うかもしれませんが、これは企業側にスキルを持った人材を紹介することで転職が成功すると、GEEK JOBに十分な成功報酬が入るため、無料でプログラミングを教えてたとしても元が取れるためなんですね。
なので、「無料なんて怪しい!」ということは全然ありません。
GEEK JOBでプログラミングを学ぶには、まず1日体験もしくは説明会時参加して、かんたんな面談を受ける必要があります。
学習内容としては、PHP/Java/Rubyのいずれかについて、全くの 未経験からWebアプリケーション開発に必要なスキルを全て学ぶことができる内容になっています。
プログラミングを教えてもらえるだけではなく就職支援までありますので、「プログラミングを学びたいけどスクールは高くて手が出せない・・・」と悩んでいる20代の方、
無料でプログラミングを学習できて、就職支援までしてくれるのだから失敗を恐れずにまず行動すべきです。
何十万ものお金を払うわけではなく、20代という特権でただで受講できるんですから!
ちなみに、自分は30代なので対象外です(悲)
「無料体験、説明会」は下記画像をクリックして、
以下の「無料体験・説明会に申し込み」から簡単に申し込みができます。
20台限定といった制限がないお勧めのスクールを2つだけご紹介します。
まず1つ目が【TECH:EXPERT】
即戦力エンジニアを育成するという点がこのスクールの強みになっています。
- 転職できなければ全額返金
- 月額24000~
- 600時間の即戦力エンジニア養成プログラムでエンジニアとして必要な技術を身につけられる。
- 受講は以下の3つの形態から選べる。
①短期集中型(毎日11時から22時)
②夜間・休日スタイル
③オンラインスタイル(関東圏以外)
毎日11時から22時のオンライン学習 - 受講が終わっても、入社して3年目までキャリアをサポートしてくれる。
- 専属アドバイザー/就活セミナー/企業説明会/企業紹介/面接対策あり。
- 30代後半でもOK
「スクールに通おうか迷っている」というあなた!
悩んでいても何も始まりません。
無料カウンセリングがあるので、まずは無料カウンセリングを受けてプロに相談してみましょう。
悩むのは相談してみてからでも遅くはありません。
TECH:EXPERTの無料カウンセリングは以下の手順で申し込めます。
①以下の画像をクリック
②画面右上の「無料カウンセリングの予約」をクリック。
「希望の場所」と「日時」を選択して画面下の「無料カウンセリングを申し込む」ボタンを押すだけです。
2つ目は【Tech Boost】
- HTML、CSS、Ruby、Ruby on Rails、PHP/Laravel、データベースといったWEBサービス開発に必要なスキル全体を学べる。
- ブロックチェーン、AI、IoTなど最新技術に触れることのできるコースも準備されている。
- 費用が低め
【月額】
社会人¥29,800(税別)
学生¥19,800(税別)
※さらに各種割引あり - 実践習得に特化している。
- 最短3ヶ月で実践的なスキルを持ったエンジニアになれるカリキュラムを用意している。
WEB開発だけでなく、AIといった最先端技術を低価格で学びたい方にはお勧めだと思います。
Tech BoostもWEBから簡単に無料カウンセリングを申し込むことができますので、迷ったらまずは無料カウンセリングで相談してみましょう。
何事もトライしてみないことには始まりません。
①以下の画像をクリック
②画面右上の「予約する」ボタンをクリックし、必要事項を入力して「申し込む」ボタンを押すだけです。
インプットとアウトプットをしよう
プログラミングを学習するには、インプットは必須ですが、併せて必ずアウトプットをする習慣をつけましょう。
アウトプットすることで、学習した内容の習熟度が全然変わってきます。
ここでは、インプットとアウトプットの方法について簡単にご紹介します。
インプットの方法
インプットには以下のような方法があります。
- 書籍、動画等で勉強する。
- 勉強会、イベントに参加してみる。
Connpass、TECH PLAYといったサイトでは毎日のようにIT技術に関する勉強会が開催されています。
有料のものもありますが、「xxもくもく会」といった無料で参加できる勉強会もたくさんあります。
こういった勉強会では、ほぼほぼ初心者~上級者が揃っているので、遠慮せずわからない部分を質問すると学習も進みますので、ぜひ早い段階から参加してみることをお勧めします。
- イベントに参加してみる。
プログラミング言語に関しては、大体年に1回にビックイベントが開催されます。
イベントでは、さまざまな知見や活用事例などが発表されるため非常に有益な情報を得ることができます。例えば、PythonやPythonで有名なWEBアプリケーション開発に利用されるDjangoでは毎年以下のようなイベントが開催されています。
■PyCon JP :https://pyconjp.connpass.com/event/89163/presentation/
■DjangoCongress JP :https://djangocongress.jp/
アプトプットの方法
インプット以上にアウトプットは重要です。
インプットした情報を理解していないとアウトプットできないからです。
ここでは、アプトプットする方法をご紹介します。
ちなみに、以下で紹介するものはすべて利用しています。
重要なのは、1、2回アウトプットして終わりではなく、継続的にアウトプットし続けることです。
例えば、ブログ記事にアウトプットすることを継続すると、インプットしたことを継続して復習し続けることになり、知識の定着度が全然変わってきます。
また、「あれなんだったけかな~」といった場合も、自分のブログを見直すことで簡単に再確認することができるので、とっても便利です。
最初のうちは大変ですが、継続していると慣れてきますので「継続する」ことをお勧めします。
モチベーションの維持の仕方
プログラミング言語の勉強をしていると、以下のような場面で必ずモチベーションが低下する時が来ます。
- 書籍に書いてあるプログラミングが難しくて理解できない。
- 入門書を終えたが、次に何をすればいいかわからない。
- 入門書を手に取って基本構文を勉強しているが、全く面白くなくて退屈すぎる。
- プログラムエラー頻発で、解決方法がわからなくて萎える。
そんな時に、モチベーションを維持する方法についてご紹介します。
①まずはググってだめなら質問する
ググって、5つくらいのサイトを見て解決策がわからなければ、質問投稿サイトで質問しちゃえばいいです。
→ITエンジニア特化型の質問サイト「Teratail」がおすすめです。
ここに技術的な質問を投稿すると、有志の方々が無料で回答してくれます。
ただし、質問内容はより具体的にわかりやすく投稿するようにしましょう。
わからないものを一人で悩んでいてもわからないままなので、わかる人に聞いちゃいましょう。
②とにかく形にする
プログラミング言語の勉強では、書籍などで与えられたものだけをやっているとモチベーションを維持するのが難しくなってきます。
モチベーションを維持する方法として、「自分が欲しいものを作る」 ことが効果的です。
ちょっとした作業を自動化するでもいいので、1つ形にしてみることですね。
ちなみに、私が最初に作ったのは、以下の記事でも紹介しているパスワード入力の自動化プログラムです。
こんにちわ。Sinyです。 この技術ノートは、Python初心者向けに便利ツールを開発しながらPythonの活用事例を学べる内容になっています。 ※膨大な数のパスワードやサーバを管理されている方にもおすすめのツールです。 突然ですが、皆さん、SNS(Twitter,FaceBook等)やフリーメール、はたまた 会員登録が必要なサイトのユーザパスワードの入力ってどうされていますか? 私は、以前はパスワード管理用のテキストファイルを1つ作って、そこに全部パスワード情報を記載していました。 そして、ログオン認証が必要な時にパスワードを忘... 【Python初心者向け】煩わしいパスワード入力を自動化しよう!|siny|note - note(ノート) |
「カテゴリ名(Yahoo、FaceBookなど)を入力してやると、Excelに書かれているパスワード情報を自動で取得してCtrl +Vキーで貼り付けできる」というたわいもないプログラムです。
こんなちょっとしたプログラムでも、自分で考えて実際に形にするとうれしくなり、モチベーションが上がります。
③勉強会に参加する
モチベーションアップの方法として勉強会に参加することも超お勧めです。
普段勉強していてわからないことがあったら、その情報を整理しておいて勉強会に参加した時に上級者に聞いちゃうという手があります。
また、同じような志を持った人たちが集まるので、刺激を受けますし、自分が知らなかったような新たな情報や知見を得ることができますので、モチベーションアップにもつながります。
まとめ
- マンダラート図を利用して学習目標と実現方法を明確にしましょう。
- 自分に合った学習方法を選びましょう。
- プログラミング学習を始めたら、インプットだけではなく継続的なアプトプットをしましょう。
- モチベーションを維持するには・・・
ーわからないことはいつまでも悩まずわかる人に聞きましょう。
ー自分のアイデアを形にしましょう。
ー勉強会に参加して刺激を受けましょう。
多少手間ですが、ぜひ、一度、マンダラート図を作成して自己分析をしてみましょう!
以上、初心者向けのプログラミングの勉強のやり方に関するご紹介でした。