コンピュータは、私たちの生活を便利にし、今やなくてはならないものになっています。例えば、パソコンはもちろん、ATM、自動券売機など、実に様々なところに活用されています。
2020年度から小学校にもプログラミング教育が導入されることとなりました。そんな中、大人だってプログラミングを身に付け、スキルの幅を広げたいと思っている人は多いのでは?
今回は、プログラミングを独学する時に注意すべき事をまとめました。
プログラミングを独学するメリット
プログラミングを独学するメリットには、次の2点が挙げられます。
自由な時間に勉強することができる
プログラミングスクールに通うと、止むを得ない事情で行けなくなってしまった場合、その時間の内容がすっぽり抜けてしまいます。一度着いて行けなくなると、そのまま身にならずに終わってしまった…なんてことも。その点、独学なら空いている時間に勉強することができるし、理解してから次に進むこともできます。自由な時間に自分のペースで勉強することができるのが、独学のメリットです。
必要最低限の費用でプログラムを学べる
低コストで勉強できるのが独学のメリットです。プログラミングスクールに通うと、教材費や授業料、入会金などがかかりますが、独学ならかかるのは教材費ぐらいです。
プログラミングを独学する難しさ
独学には上記のようなメリットもありますが、デメリットもあります。
自分のレベルがわかりにくい
テキストの通りにプログラミングすることはできても、それを応用したプログラムが書けるのかなど、独学には自分のレベルがわかりにくいという面があります。その点スクールに通えば、客観的な基準があり、自分のレベルが把握できます。もし仕事でプログラミングを使いたいと考えているなら、初歩的なことができただけで喜んでいるレベルなのか、しっかり理解して応用できるレベルなのか、レベルの把握はとても重要です。
壁に当たると乗り越えにくい
なかなか理解できない壁に当たってしまうと、先に進めずにそのまま諦めてしまう原因になります。プログラミングに詳しい人が身近にいて、いつでも質問できる環境ならばいいのですが、どツボにはまると一人で悶々と悩み続ける破目に…。
自分のプログラムが合っているのか確認しにくい
自分のプログラムを実行してみて、きちんと動いたから合っていると思っても、詰めが甘くて実は間違っていた、ということはよくあることです。
例えば、消費税の計算プログラムを作ったと想定してみましょう。100円と入力して、税込108円と出て、正しいプログラムができたと思っても、320円と入力したら、税込345.6円と出てしまい、端数処理ができていなかったことがわかります。
慣れていないと、正しいプログラムが書けているのか確認するのはなかなか難しいことです。
独学だとモチベーションの持続が難しい
独学で最も難しいのは、モチベーションの維持です。つまずいた時、忙しくてなかなか時間がとれない時、やっぱり自分には難しかったんだと意欲をなくし、そのまま勉強をやめてしまうことも少なくありません。漠然と独学を始めるのではなく、プログラミングで何をしたいのかを明確にして取り組むことが大事です。
プログラミングを独学する前の準備
ただ独学を始めただけでは、モチベーションの維持が難しいということはお話ししました。独学をする前段階として、次のことをしっかり決めておくことが大切です。
何を作りたいのかを決める
中には何っていうのはないけど、スキルアップのために身に着けたいなと思っている人もいるでしょう。それでうまくいく人ももちろんいると思いますが、何となく学習を始めるよりも、自分がプログラミングで何を作りたいのか、目標を決めておくと、途中でつまずきにくくなります。
大きな目標でなくて構いません。小さなプログラムを最初の目標として、達成するとごとに徐々に大きくしていけばいいと思います。慣れてくると、もっとこんなことができれば便利なんじゃないか、こうした方が面白いんじゃないかというのが出できて、どんどん楽しくなってきますよ。
プログラミング言語を選択する
一口にプログラミングと言っても、JAVA、C言語、C#、JavaScript、Swiftなど、様々なプログラミング言語があります。どの言語を選べばいいかわからない人は、何を作りたいか、学習しやすいかを基準に選ぶとよいです。
Web上で動くプログラムを作りたいならJavaScript、スマートフォンのアプリを作りたいならSwiftといった具合に、作りたいプログラムで主に使用されている言語を選べば、目標にも近づきやすくなります。
また、学習のしやすさで選んでもよいと思います。例えば、テキストにプログラミング環境をインストールできるソフトが付いていて、テキストに沿って実際にプログラミングしながら進めることができる教材なら、独学を始めやすいですよね。もし作りたいものにあまり使われていない言語だとしても、プログラミングに慣れるという点では有効です。
ひとつの言語でプログラミングできるようになれば、言語が違っても一から始めるよりも理解しやすいからです。
プログラミングを学ぶ土台を作る
プログラミングを学ぶ前に、その土台を作っておくと、学習に入りやすくなります。例えば、子どもから大人まで共通して言えることとして、プログラミングで何ができるかを知っておくことが土台作りのひとつです。これがわからなければ、自分が作りたいものもイメージできません。
いつもプレイしているゲームから、ボタンを押したらジャンプする命令がプログラムされていること、エクセルに慣れている人なら、エクセル関数がプログラムの命令の一種であることをイメージするなど、身近なもので考えるととっつきやすいです。
また、論理的な思考の練習をするのも土台作りのひとつです。プログラミングでは、この条件の時はAの処理を実行し、そうでなければBの処理を実行するといった命令を書くことがよくあります。論理的な考え方に慣れておくと、プログラミングを学び始めた時に頭に入って来やすくなります。
独学で限界を感じたらプログラミング学習サイトを検討する
独学で十分に身に着けられるならそれに越したことはありませんが、どうしても限界を感じたら、プログラミングの学習サイトを試してみるのも方法のひとつです。ここでは、4つの学習サイトを紹介します。
Progate
オンラインで学べる初心者向けの学習サイト。オンラインなので、ブラウザ上でプログラミングを書いて実行でき、開発環境を作るという学習初期の難関もありません。レッスンは、言語やツールごとに13コースに分けられ、その中の65レッスンから自分にあったものを選べます。ただし、無料会員が受けられるのは、基礎レベルの15レッスンだけです。月額980円のプラス会員になれば、65レッスン全てを学習できるようになります。また、アプリ版もあり、モバイル上でも学ぶことができます。
特徴
(1)イラスト中心のスライドで学習
(2)ブラウザ上でコードを書いて動作を確認
(3)プログラミング環境の準備が不要
こんな人向け
(1)プログラミング初心者
(2)いろんな言語に触れてみたい人
学べる言語
Command Line、CSS、Git、HTML、Java、JavaScript、jQuery、PHP、Python、Ruby、Sass、SQL、Swift。
学習コース | 利用場面など |
HTML & CSS | WEBページの見た目をつくる言語。 |
JavaScript | WEBページに動きを与える言語。 |
jQuery | WEBページにアニメーションや効果をつけることができる。 |
Ruby | WEBアプリケーションのシステムをつくるための言語。 |
Ruby on Rails 5 | Rubyで書かれたWEBサービスの開発に必須のフレームワーク。 |
PHP | WEBサービスで必要な機能を作ることができる。 |
Java | 世界中で使われている有名な言語。大規模開発からモバイルアプリまで、汎用的に用いられている。 |
Python | WEBアプリケーション開発や機械学習、統計処理など、様々な分野で使われている。 |
Swift | iOSアプリ(iPhoneアプリ)を作るための言語。 |
Command Line | コンピュータを操作するツール。開発現場では必須のスキル。 |
Git | ソースコードのバージョン管理や共同開発を可能にするツール。 |
SQL | データの管理や分析を行うデータベース言語。 |
Sass | CSSをより便利に効率的にするための言語。 |
ドットインストール
動画で学習する初心者向け学習サイト。レッスンがテーマごとに大別されているので、やりたいことからレッスンを選ぶことができます。無料会員は一部の機能(レッスン含む)しか利用できませんが、月額980円のプレミアム会員になれば、全ての機能が利用できるようになります。
特徴
(1)3分動画で学習
(2)プレミアム会員なら学習の幅が広がる
こんな人向け
(1)動画で手順を確認しながら学びたい人
(2)いろんな言語に触れてみたい人
学べる言語
Cloud9、CSS、enchant.js、HTML、Java、JavaScript、jQuery、Kotlin、PHP、Ruby、Scratch、Unity、WordPressなど。
学習コース | 主な言語や作成プログラムなど※ |
ホームページを作れるようになろう | HTML、CSS。 |
JavaScriptから始めるお手軽プログラミング | JavaScript。おみくじ、ゲーム、電卓、タイマーなどの作成。 |
jQueryでひとつ上のプログラミング | jQuery。先頭へジャンプ機能の作成。 |
サーバー環境を作れるようになろう | Cloud9、ローカル開発環境構築、Amazon Web Servicesなど。 |
PHPでウェブサービスを作れるようになろう | PHP。ビンゴシート作成。 |
Rubyでウェブサービスを作れるようになろう | Ruby、Ruby on Rails 5 |
iOSアプリを作れるようになろう | Swift。 |
Androidアプリを作れるようになろう | Kotlin。 |
仕事で使える技術に挑戦してみよう | WordPress。 |
ゲームプログラミングに挑戦してみよう | Unity、Scratch、enchant.js。ミニゲームの作成。 |
※主に無料でできるものをピックアップしています。
CODEPREP
実際にプログラミングを書いて動かしながら学ぶ学習サイト。一つ一つのレッスンは、ブックという形をとっていて、テキストを進めるような感覚で学習することができます。まずはコーディングの穴埋めから始め、実際に動きを確かめながら理解を深めていきます。
特徴
(1)1冊10分から学習を進められる
(2)編集したコードをダウンロードして自分の環境で動かせる
こんな人向け
(1)隙間時間を利用して学びたい人
(2)自分の環境で動かしてみたい人
学べる言語
Bootstrap、CSS、HTML、Java、JavaScript、jQuery、PHP、Python、Ruby、Rust、Scala
学習できる言語 | 利用場面など |
Bootstrap | WEBページのデザイン。 |
Rust | 業務システムの構築。 |
Scala | 業務システムの構築。 |
Schoo
生放送や録画動画によるオンライン動画学習サービス。プログラミングだけでなく、様々な授業が配信されています。生放送で授業を受ければ、チャット機能で直接先生に質問できます。見逃した場合は、録画授業で確認できます。ただし、録画授業を受講するには、録画チケットかプレミアム会員になる必要があるのでご注意を。無料会員は一部の機能しか利用できませんが、月額980円のプレミアム会員になれば、全ての機能が利用できるようになります。
特徴
(1)生放送で先生に質問できる
(2)プレミアム会員なら学習の幅が広がる
こんな人向け
(1)先生や受講生とやり取りしながら学習したい人
(2)第一線で活躍する先生から学びたい人
学べる言語
CSS、HTML、Java、JavaScript、jQuery、PHP、Python、Ruby、Ruby on Rails、Swiftなど。
プログラミング学習サイトは仲間も多くプログラミングを習得しやすくなる
紹介した学習サイトの中には、同じようにサイトを利用して学んでいる仲間とディスカッションできるサイトもあります。仲間同士で教えあったり、話し合ったりすることで、つまずきも一人で悩まずに解決でき、次に進むことができます。独学でプログラミングを習得したいと考えている人は、仲間と共に勉強できる学習サイトを利用してみてはいかがでしょうか。