小学校の授業にもプログラミングが導入されることになり、プログラミングスクールの人気が高まっている昨今。
この機会に子どもと一緒に勉強しようかな、ブログやってるしちょっと勉強してみたいなと、ネットで調べたり、書籍を買ったりしたものの、なかなか進んでないなという方はいませんか?
プログラミング学習はモチベーションの維持が難しく、独学が続かないことも多いです。なぜそうなのか、理由を探ってみました。
プログラミングの勉強は最初の意気込みのままではいられない
「今の時代プログラミングができなくてどうする!?」と勢いよく勉強を始めたものの、
- 何を勉強すればいいの?
- 環境構築って何?
- プログラミング言語っていっぱいあるけど・・・
- ウェブデザインもプログラミングなの?
など、新しく出てくる概念や単語にしょっぱなからクエスチョンマークの連続。そうなると最初の意気込みはどこへやらで、すっかり学習意欲をなくしてしまいますよね。
プログラミング学習は、普段あまりなじみのない用語が多く、頭を慣らすのも大変です。つまずきが多いとモチベーションを持ち続けるのが難しくなってきます。
プログラミングのモチベーションが続かない理由
プログラミングのモチベーションが続かない理由を列挙してみました。挙げられるだけでも5つあります。
1.どれを学ぶべきか目標が定まらない
プログラミングを学んでみたいと思っても、何のために学ぶのかが明確でないと学習意欲が維持できません。知識がないとプログラミングで何ができるのかも想像できないので、最終的に何がしたいのかという目標が定まらないからです。
一言でプログラミングと言っても、様々なプログラミング言語があり、それぞれ用途も違います。例えば、HTMLやCSS、JavaScriptはウェブサイトを作る際に用いられ、Swiftは主にスマホのアプリを作る際に使われ、JAVAは様々なシステムに汎用的に利用されています。
逆に言えば、ウェブに関わる仕事がしてみたいならHTMLやCSS、JavaScript、スマホアプリ開発をしてみたいならSwift、企業向けの業務アプリなどを開発する仕事をしてみたいならJAVAを選べばいいということです。目標を定めるとどれを学べばいいのかが自ずと見えてきます。
2.自分が何を知るべきかがわからない
そもそも自分が何を知るべきかがわからないという問題もあります。学習を始める前は、プログラミングという言葉は知っているものの、プログラミングをするには専用の言語があり、言語には種類があり、パソコンに環境を構築する必要があり・・・・・・といったような知識もありません。これでは、どの言語を学習すればいいのかなんて到底決められる状態ではありませんよね。
さあ勉強を始めるぞ!!と意気込んで書店のプログラミングコーナーの前に立っても、どれにすればいいのかわからず、種類の多さに圧倒されて、一気にモチベーションが落ちてしまう原因に・・・。
3.やさしい本でも最初は難しい
初心者用のやさしい本でも最初は難しく、理解するのに時間がかかるとモチベーションが下がります。普段使わない専門用語や数学的な考え方、プログラミングでの決まりごとなど、慣れないことに頭を使うのは大変なことです。
4.自分の間違いに気づけない
プログラミングをしていると、一見よさそうだけど間違っているという場合があります。
例えば、プログラミングでは変数というものをよく使います。プログラムの実行途中で変数に値を保存して、計算や表示などに使用します。変数には整数型や文字型など型があり、保存する値が数値なのか文字なのかなどによって決まります。この変数の型が間違っていたために、あるときは正しい結果なのに、あるときは間違った結果になってしまうという場合があります。そんな時、正しい結果だけを見て進んでしまうと、間違いに気づけないままです。
また、あながち間違ってはいないけど、違う型を使ったほうがより適切であるということもあります。学習し始めたばかりの人にとっては、そのような考え方に気づきにくく、正しく習得できない原因になってしまいます。
間違いに気づけないまま進んでしまうと、プログラムの結果が正しく出なかったときになぜ間違った結果になったのかわからず、挫折してしまうかもしれません。
5.詳しい人に聞きたくても聞けない
独学に多いことですが、身近にプログラミングに詳しい人がいないと疑問やわからないことを聞きたくても聞けないという状況に陥ってしまいます。問題を解決できないと、前に進むことができず、結局学習をあきらめてしまうことに・・・。
プログラミングのモチベーションを上げるには
モチベーションを上げて、プログラミングの学習をやり遂げるにはどうしたらいいのでしょうか。モチベーションを上げる方法を考えてみました。
自分が何をしたいのかを明確にする
目標を決めるとモチベーションが上がります。小さな目標でもいいし、大きな目標でもいいと思います。簡単なスマホのゲームアプリを作りたい、自分が使う家計簿ソフトを作りたい、ウェブデザイナーになるために基本的なウェブデザインができるようになりたいなど、何をしたいのかを明確にしておくと、くじけそうになってもモチベーションが続きやすいです。
自分の頭でプログラミングを理解する
自分の頭でプログラミングをしっかり理解することが大事です。プログラミングのテキストに沿って、同じようにプログラミングをしてプログラムを書けたとしても、習得したことになりません。
きちんと理解して進まないと、知識が応用できません。いざ自分が作りたいものを作ろうとしたときに、最初から何もできないなんてことにならないように、たとえゆっくりだとしても理解することはとても重要です。
同じようにプログラミングを学ぶ同士を作る
一人で勉強していると、行き詰ったときに八方塞になり、結局諦めてしまうことに・・・。そんな時、同じようにプログラミングを学ぶ同士がいれば、お互いに教え合ったり、愚痴を言い合ったり、ストレスを発散させながら疑問点も解決できます。
プログラミング学習サイトの利用をする
仲間作りのためにも、プログラミング学習サイトを利用することは有益です。学習サイトによっては、講師に質問できるものもあるので、全くの独学よりも学習が続けやすくなります。
無料のものもあれば有料のものもあります。予算やサービスによって、自分に合った学習サイトを選びましょう。無料で利用できる学習サイトには、Progateやドットインストール、CODEPREPなどがあります。
(1)Progate
オンラインで学べる初心者向けの学習サイト。ブラウザ上でプログラミングを書いて実行します。初心者にとって難しい開発環境構築をしなくても、すぐにプログラミングを実践できます。無料会員は、基礎レベルの15レッスンしか利用できませんが、月額980円のプラス会員になれば、65レッスン全てを学習できるようになります。また、アプリ版もあり、モバイル上でも学ぶことができます。
(2)ドットインストール
動画で学習する初心者向け学習サイト。レッスンがテーマごとに大別されているので、やりたいことからレッスンを選ぶことができます。無料会員は一部の機能(レッスン含む)しか利用できませんが、月額980円のプレミアム会員になれば、全ての機能が利用できるようになります。
(3)CODEPREP
実際にプログラミングを書いて動かしながら学ぶ学習サイト。一つ一つのレッスンは、ブックという形をとっていて、テキストを進めるような感覚で学習することができます。まずはコーディングの穴埋めから始め、実際に動きを確かめながら理解を深めていきます。
講師によるよる手厚いサポートを受けられる有料の学習サイトには、テックアカデミー、TECH::CAMP、侍エンジニア塾などがあります。
(1)テックアカデミー
テックアカデミーは、プログラミングやアプリ開発を学べるオンラインスクール。第一線で活躍する現役エンジニアがメンターとしてサポートしてくれます。メンターのサポート、学習の進め方、実際の受講風景などが動画で見れる説明会や、無料体験もあります。また、中学生や高校生向けのテックアカデミージュニアもあります。
(2)TECH::CAMP
テックキャンプは、プログラミングなどの最新のテクノロジーを学ぶことができるテクノロジー人材育成スクール。教育のプロであるメンターのサポートが受けられます。基本は教室に足を運んで受講しますが、近くに教室がない場合は、オンラインで受講することもできます。
(3)侍エンジニア塾
侍エンジニア塾は、専属講師によるマンツーマンの指導が受けられるプログラミングスクール。オンラインでの受講が基本ですが、担当講師にもよりますが、要望があれば対面形式でも受講できます。
予算をとるのが難しいと言う人は、まず無料の学習サイトを利用してみましょう。無料とは言っても講師に質問したり、仲間と語り合ったりできる機能があるので、孤独にならずに学習できます。学習初期のつまずきポイントである開発環境構築が不要だったり、手順を追って動画で確認できたりと、一人では難しいことも学習サイトがあれば心強い味方です。
予算に余裕があって講師のサポートを受けながらみっちり学習したいと言う人は、有料のオンラインスクールを利用してみましょう。面談やカウンセリングなどを行い、個人に合った学習プランを練ってくれるスクールもあります。手厚いサポートがあれば、挫折しないで最後まで続けられそうですよね。
最後まであきらめずマスターした自分を思い描くと良い
くじけそうになったときは、最後まであきらめずにプログラミングをマスターした自分を思い描いてみてください。とても誇らしく夢にあふれていることでしょう。
そんな自分を目指して、モチベーションを維持することで、きっとプログラミングを習得できるはずです。最適な学習方法を見つけて、プログラミングをマスターしましょう!