Episode 2 プログラミング学習の始め方

ブログ

このブログを見られてるということは、少しでもプログラミングに興味がある方かと察します。
そんな皆さんの中には、プログラミングってやってみたいけどなんか難しそうだし、どうやって勉強したらいいかさっぱりわかんない!、始めてみたはいいけどちっとも上達しないしなんかつまんない!、何て思われたり感じたりしている方は多いと思います。私自身プログラミングというものに初めて関わった時もそうでした( > < )。
そんな方々にむけて、私が取り組んで来たプログラミング学習方法について紹介したいと思います。
もっとも、これは私の経験談によるところであり、全ての方が同じように取り組めるかどうかはわかりませんが、数ある方法の中の一例と思って頂ければ幸いです。
それでは行ってみましょう!
※パソコンやインターネットの準備については既に整っていることを前提で書いています。取り敢えず、インターネットに繋がったパソコンがあれば十分です。

何の言語を学習するか

プログラミングと一言で言っても、使える言語としては実に8,100種類以上(*ウィキベディア調べ)存在しているようで、一体どれを選べばいいのでしょうか…。
当然ながら、自分がプログラミングで何をしたいかで自ずと対象言語は決まるかと思いますので、各々で決めてみて下さい。
もし、“特に何がしたいかはないけど、とりあえずプログラミングがどんなものか学習してみたい”といった方であれば、私がオススメするのはPython一択です!
私が最初にプログラミング学習にチャレンジしたのは、かの有名なC言語でした。現在広く普及しているプログラミング言語の元となっているものなので、是非習得したいと息巻いてトライしましたが、始めてみると変数型の宣言やポインタの扱い方、コード実行前にコンパイルって何?などで当初は全く馴染めず、すぐに挫折しました(笑)。それから幾年を経てつい数年前、AIに興味があった関係でPythonに出会って改めてプログラミングにトライしてみたところ、これが何と!変数の型宣言も不要で直感的に記述もできてとまあとっつきやすかったので、何とか継続できて今に至った経緯があります。
という訳でまず始めてみたい方には、Pythonを激推しします。

学習のコツ

さてお次は、学習のコツについて語ってみたいと思います。
コツは至ってシンプルですが、読んだり観て覚えるのではなく手を動かして覚えるです。学習教材や講義動画を何度も何度も読んだり観たりしたところで、プログラミングスキルは一向に上達しません。むしろ嫌になってすぐにやめてしまうのがオチでしょう(泣)。
実際にキーボードでタイピングしてディスプレイ上にコードを表示してみて、記述したコードを実行してみることが重要です。自分が記述したコードはうまく実行できたのかどうか、出来てなかったらどこがいけなかったのかを正解例と見比べて把握する。これを何度も何度もやることです。繰り返し取り組む事で、自然にコードの記載ルールやコマンドを覚えることができるはずです。
ということで、実際に記述したり実行する工程に行きたいところですが、その前に必ずやらなければいけないことがありますね。そう、プログラムを作成して実行するには、そのための環境構築が必要になってきますね(アイタ、タ、タ!)。
という事で、次は環境構築についてお話します。

実行環境の準備

プログラミング学習に挫折した殆どの人がその主な原因として挙げるのが、プログラム実行環境の構築の難しさだとよく言われています。エディターはどこそこのが良いとか、コンテナでインストールした方が後々整理する時に便利…などなど。私が好きなPythonも、実行環境を整えるのにはかなり苦労しました。Windowsならまだしも、使っているM1macだとさらに厄介なことになってましたが…。
将来的に継続してプログラミング作業をしていく場合には実行環境構築は避けられない工程ですが、これから学習を始めるという方はそんな煩わしいことはしたくないですよね?
そんな皆さんに朗報です!
実は、実行環境と学習教材をあらかじめ用意してくれている素晴らしいサイトが存在するんです。しかも無料で!私はこれらのサイトを有効活用させて頂いたおかげで、スキルがどんどん上がるのを日に日に感じることができていました。
先に学習のコツとしてお伝えした、コードをタイピングして実行してみるという工程をすぐに試すことができるという素晴らしいサービスなので、活用しない手は無いでしょう。いえ、すぐに活用して下さい!
ということで、ここからはプログラミング学習を始めるのにお勧めなサイトを紹介します。

おすすめの学習サイト

学習サイトはすでにweb上にたくさん存在しています。スクール形式で講座を行なっている企業もたくさんありますが、まずは無料枠でトライできるサイトを有効活用した方が得策です。そんな訳で、私がお勧めするのは下記のサイトです。

<特に初学者におすすめ>

  • Progate(プロゲート)
    主な特徴:
     ・無料で始められる
     ・学習可能な言語の種類はあまり多くはない
     ・レッスン内容の説明がアニメーション対話方式となっていて理解しやすい

    私自身最初に活用させてもらったのがこちらのサイトでした。私が学習したかったPythonはレッスン内容に入っていたのでよかったですが、学習できる言語の種類がちょっと少なめなので、対象言語のレッスンがあればラッキーと思って下さい。
    無料枠で取り組めるレッスン数がそこそこあるので、お試しで始めるにはもってこいのサイトです。もし無料枠レッスンが終わってまだちょっともの足りないなと感じた方は、有料会員になったとしても月1,000円で全てのレッスンが受け放題になるので、かなりお得感があります。長期契約が必要とかも無く、受けたいレッスンを受けて1ヶ月間以内に退会とかも可能なので、非常に便利だと思います。私も実際そのように活用させてもらいました(笑)。

     Progateサイトへのリンク: https://prog-8.com/
  • paiza(パイザ)
    主な特徴:
     ・無料で始められる
     ・主流の言語を殆ど扱っている
     ・レッスン以外にレベルアップ問題集やスキルチェックというフリー問題集が使える

    こちらのサイトも初期に活用させてもらったサイトです。Progateに比べるとちょっとだけ年長さん向けなイメージでしょうか。レッスンはアニメキャラクターが先導して進めていくスタイルで、こちらも説明が丁寧で取り組み易いと思います。無料枠レッスンの数が少ないのがちょっと残念なポイントですが、対象言語が豊富なので、活用できる方は非常に多いのでは無いかと思います。まれにキャンペーンを開催することがあり、その際は有料レッスンが期間限定で無料で受講できたりするので、無料会員登録だけしておいてそのタイミングを待つというのも手かもしれません。
    また、フリーで使える問題集がかなり豊富にあるので、初学者の方にはちょっと難しく感じるかもしれませんが、継続学習する際にも活用できる内容かと思います。

     paizaサイトへのリンク: https://paiza.jp/

以上の2つが、初学者の方にお勧めするサイトです。
参考までですが、さらに継続して学習したいという方に向けてのお勧めサイトもついでに紹介しておきます。

<初学者を脱したい方向けにおすすめ>

  • CS50
    こちらは、米ハーバード大学がコンピュータサイエンスとプログラミング技術を紹介している実際の講義内容をネットで無料公開しているサイト(日本語の字幕あり)です。対象となる言語は少ないですが、ビットとは何かなどの本当に基礎的なところからの説明で始まっていたりと、とても丁寧に説明してくれている内容になっており、対象言語がない方にも非常に勉強になるので、一見の価値ありです。

     CS50(日本向け)サイトへのリンク: https://cs50.jp/

    ※日本国内のいくつかの大学のサイトにも、このように講義内容を開示してくれているものがありますので、興味のある方はご自分で検索してみて下さい。
  • Udemy(ユーデミー)
    こちらのサイトは有料サイトになりますが、私はかなりの数の講座をこのサイトで購入して受講しています。プログラミングに限らず、様々なジャンルの講座が存在します。有識者の方々が制作された講座内容が豊富に揃っており、自分に合ったものを選択してweb講義を受講するというスタイルのものです。講座をすすめる上で課題につまづいた際などには講師への質問もできてサポートしてもらえるので、安心して進めることができます。初めてサイトを訪問すると驚くと思いますが、一つ一つの講座は通常価格だと2〜3万円と記載されています。しかし、こちらのサイトは定期的にディスカウントキャンペーンを実施するので、実際には通常価格の90%引き程度(平均すると大体1講座2,000円くらい)で購入できるようになっています。購入の際は必ずこのキャンペーン中に行うようにして下さい。中にはキャンペーン中でも値段が下がらない講座もあるので注意して下さい。そういった講座は内容が確実に良いものだったりします。
    という訳で、脱初級者にはもってこいのサイトです。是非活用してみて下さい。

     Udemyサイトへのリンク: Udemyホームページ

    以上、サイト情報でした。
    プログラミング学習の始め方として長々と紹介させて頂きましたが、如何だったでしょうか?皆さんのお役に立つ情報が見つかっていれば幸いです。

最後に

何をするにでもそうですが、結局のところ継続しなければきちんとしたスキルは身に付きません。今回紹介したサイトでの学習が一旦終了したのであれば、次は、誰かがネットにアップしているコード表を真似して、実際に何かアプリなどを作って動かしてみたりすることをお勧めします。そして、面白さや楽しさを感じてみて下さい。
継続できれば自ずとスキルアップできて、次第にやれることが増えるはずです!頑張って続けてみて下さい!!