元プログラマーが考えるプログラミング初心者が独学で上達するコツ

プログラミング

こんにちは、Kazuです。

 

私が学生だった頃は

プログラミングって

「一部の特殊な人たちがやっているもの」

という印象でしたが

いつのまにか多くの人が学びたいという

状況になっていて少し驚いてます。

 

この記事では

これからプログラミングを学ぼうと考えている

未経験者の方に向けて、

私自身の経験を元に

どのように学んだら

プログラミングが上達するかについて

お伝えしたいと思います。

 

なお私の経歴としては

大学からプログラミングを学び

従業員5,000人ほどの大手IT企業で

約4年間、プログラミングによる

研究開発の仕事をしていました。

 

【実体験】どのようにプログラミングを学んだか

どのように学べばいいかをお伝えする前に

私自身がどう学んできたかを簡単に紹介します。

 

大学の情報系の学部に入学して

初めの半年間はテキストを使った

完全な座学でした。(学んだのはC言語です)

実習としては

テキストに載ってるサンプルを

ただ実行するだけでした。

他の人は分かりませんが

私は深く考えずに

ただコピペしていただけだったので

正直ほとんど理解できず

期末試験はぎりぎり赤点を

回避したレベルでした。

 

次の半年間は

実習がメインでした。

2週間ごとに課題が出て

完成したプログラムを

先生にチェックしてもらうという形です。

課題の内容としては

・行列計算

・8クイーン(興味があれば調べてみてください)

などなど

当時は何でこんなの作るんだと思ってましたが

いま考えればそれまでに学んだことが

うまく含まれていて

上達に役立ったと思います。

 

私は座学でほとんど理解できていなかったので

課題は本当に苦労しました。

自宅に作業環境がなかったので

学校のパソコン室で徹夜でやったりしてました。

 

たしかにきつかったですが

同じ学科の友人と一緒にやっていて

ああでもないこうでもないと試行錯誤しながら

完成した時は本当に嬉しかったことを

今でも覚えています。

 

そのような課題を半年間こなしていたら

気づいた時にはプログラミングの能力は

大きく向上していました。

その後も色々なプログラムを作りながら

上達していった感じでした。

 

私がこの経験から学んだことをまとめると

・座学だけじゃ上達しない

・作りたいものを決めて学ぶ

・やる理由があると強い

・仲間がいると楽しい

です。

 

それではこの内容をふまえて

私がもしこれからプログラミングを学ぶとしたら

どのように取り組むかについて

考えてみたいと思います。

(前置きが長くなりすみません)

 

もし私がこれからプログラミングを学ぶとすれば

私の経験上の結論として

・座学だけじゃ上達しない

・作りたいものを決めて学ぶ

・やる理由があると強い

・仲間がいると楽しい

がプログラミングを学ぶ上での

ポイントになると考えます。

順序は変わりますが

それぞれについて詳細を書いてみます。

 

学ぶ目的(やる理由)を定める

精神的なお話になりますが

これはほんとうに大事です。

一部のセンスのある人を除いて

多くの人にとってプログラミングを学ぶことは

とても大変なことだと思います。

きっとどこかのタイミングで

学ぶのを止めたくなります。

 

そこで挫折しないためには

「なぜプログラミングを学ぶのか?」

に対する答えを持っていると強いです。

私の場合は「単位を落とさないため」という

明確な目的があったので

当時徹夜までして頑張れたのだと思います。

いつか役に立つ気がするからといったような

曖昧な目的だと乗り越えるのが難しいでしょう。

できれば

「1か月後に仕事でプログラミングが必要」

のように期限が決まった目的があると良いです。

自分で期限を設定するのも良いと思います。

これは必ずやりましょう。

 

作りたいものからスタートする

私が座学でほとんど上達しなかったように

・プログラミングとは

・変数とは

・加算減算

といったように

基礎から1つずつ学ぼうとすると

膨大な時間がかかりますし

実際に作ろうとしたときに

あれなんだったっけ?

と何も残っていなかったりします。

 

もちろん基礎も大事ですが

自分は何を作りたいのか?を決めたうえで

必要なことを学ぶほうが、

効率的ですし

知識を行動に移しているので

記憶にも残ります。

 

また最初から

「スマホゲームを作る」

のようにどこから手を付けていいか

全く想像できないものは

やめたほうがいいです。

例えば以下のサイトのような

簡単な課題を1つづつこなしていくことが

上達の近道だと思います。

https://yukicoder.me/problems

 

分からないところは

Googleなどで検索して調べます。

(手元に本を1冊持っておくのもいいと思います)

検索するときは

「言語名(Pythonなど) 足し算」

といったように

日本語でやりたいことをキーワードにすれば

多くの場合サンプルがでてくるので

そこの解説を読んで実際に使ってみて

理解していきます。

 

どの言語を学ぶのかですが

1つを学べば他の言語にも

応用が利くものがほとんどです。

(HTML/CSSは例外)

私はC言語から学びましたが

今学ぶとしたら

Python、Rubyあたりが

Web系に強くていいのではないでしょうか。

少し前に初めてPythonでWebプログラムを作りましたが

記述方法を少し調べるだけで

簡単に作ることができました。

 

一緒に学ぶ仲間を作る

学校のような場所に所属していれば簡単ですが

独学で学ぶ場合は工夫が必要ですね。

例えばTwitterなどのSNSで

学んだことを発信したり

プログラミングを学んでいる人を探して

コメントすれば

一緒に学ぶ仲間が見つかるかもしれません。

 

おすすめは同じか少し上もしくは少し下の

レベルの人と一緒に同じ課題に挑戦すること。

レベルが違いすぎると「感覚」が違いすぎて

話が合わないと思います。

また相手が少し上の場合は教えてもらえたり

相手が少し下の場合は

教えることで学びを深めることができます。

そして何より楽しいと思います。

 

さいごに

今回は初心者の方が

独学でプログラミングを学ぶということについて

私の実体験と、抽象的ではありましたが

自分ならどうするかについて

お伝えしてきました。

・学ぶ目的を定める

・作りたいものからスタートする

・仲間を作る

これらを実践できれば

1歩1歩着実に

大変ではありますが楽しく

学んでいけると思います。

 

私は今の仕事にプログラミングを活用していて

学んでいて本当に良かったと感じてます。

ぜひ諦めずに挑戦してみてください!

  • この記事を書いた人
Kazu

Kazu

9年間住んだ関東(東京/神奈川)から福岡県福津市に移住、Jターンしました。オンライン物販の会社を経営(5期目)。元プログラマー。自然の中にいることが好き。趣味は写真撮影、旅行、食べ歩き。妻と二人でゆるーく暮らしてます。

-プログラミング

© 2020 ゆるゆる福岡移住生活