プログラミングの学び方
こんにちは!ねずみとりです。今回は私の考える効率的なプログラミングの学び方や実際に私がどのようにして学んだのかを記事にします。
実際に学んだ方法
私は大学のゲーム制作サークルで先輩から習いつつ書籍でも勉強しました。その後はひたすら簡単なゲームやアプリを作り続けることでプログラミングを習得しました。
前提として必要な能力
タイピング
そもそもタイピングが苦手な人がプログラミングを習得しようとしても余計に時間がかかるためまずはタイピングを練習するといいと思います。
検索能力
最低限分からないことは自分で調べられるようにしましょう。Google検索でもChatGPTでも良いですが人が作ったサイトもAIも嘘をつくことはあるので情報を取捨選択しましょう。
何で学ぶ?
プログラミングを学ぶ方法はたくさんあります。いくつか例を紹介します。
ウェブサイト
無料で学べるサイトはたくさんあります。高い金額を払ってプログラミングスクール等に通う前に無料のサイトで勉強し、自分がプログラミングに向いているか試しましょう。
書籍
書籍で数千円かけて学ぶのも良いと思います。絵が多い本や動物などで例えてくれる本が分かりやすいです。また、古い本はプログラミング言語やフレームワークのバージョンが古い可能性があるため注意が必要です。
動画
環境構築などは動画が分かりやすいと思います。初心者もそうでない人も環境構築には時間がかかることがあります。その時は実際に構築しているところを映している動画を見ると良いです。
何を学ぶ?
プログラミングといっても様々な種類があります。何を勉強するか迷っている方は自分が何を作りたいのか、何になりたいのか、目標を明確にすると良いと思います。
ゲームを作りたい
UnityとC#を学ぶことで3Dゲームを簡単に作ることができます。3Dオブジェクトやプログラムがまとまったものなどが配布されているため初心者でも躓きにくいと思います。しかしUnityは独特な仕様が多いためC#を学ぶために学習するのはあまりおすすめしません。また、3Dじゃなくてもいいから簡単にゲームをプログラミングしてみたい方はpythonをおすすめします。
ウェブサイトを作りたい
自分のウェブサイトを作りたい場合にはHTMLとCSS、JavaScriptなどを勉強すると良いです。私はこの分野に詳しくないですが下図のように少し勉強するだけでHTMLとJavaScriptを使ってブラウザに文字を表示させたりボタンを追加させたりすることが簡単にできました。よって簡単なウェブサイトを作るための学習コストはあまり高くないと思います。ログイン機能など少し複雑なことをさせるためにはRubyやPHPなどのバックエンドやデータベースを使うのでしょうか?そこまでいくと大変そうですね。
ロボットを作りたい
C言語やC++を勉強するといいと思いますがそれらの言語は難易度が高いため最初に学ぶプログラミング言語として選ぶには覚悟が必要です。また、マイコンや電子部品、その他材料などにそこそこお金がかかります。電気回路の勉強もしなくてはなりません。私は機械系が専攻なので学部時代にロボットをグループで作る実習がありましたが、最初はLEDを点灯することすら苦戦しました。
AIを学びたい
AIを使ってみたい場合はpythonを勉強すれば簡単にできると思います。AIを自分で作りたい方もとりあえずpythonを勉強すると良い思いますが、ハードルは高く、数学が苦手な人にはおすすめできません。私はC#でニューラルネットワークをつくる書籍を挫折しました。大学院の機械学習の授業も良く理解できないまま単位を取得しました。
競技プログラミング
特に作りたいものが無い方におすすめです。計算速度の観点からC++が良く使われます。また、ライブラリが豊富なことからpythonも使われている印象があります。よく社会にでると競技プログラミングで使うような知識は必要ないという話を聞くかもしれませんが、IT企業に就職する際のコーディングテストで似たような問題がでるため、就職前の大学生や転職を考えている方は学習しても無駄にはならないと思います。
実際になにかつくることが重要
自分が作りたい物を作ることで学んだことをアウトプットすることができます。簡単なアプリでもいいので完成させることが重要です。
簡単に作れるプログラムの例
計算機
メモ
マルバツゲーム
脱出ゲーム
クイズゲーム
プログラミングノート
プログラミングノートをnotionやその他メモアプリで取っておくと後で検索して見返すことができるため便利です。
技術系ブログ
noteなどで自分が制作したアプリについて作ったときに何を考えていたのかなどをまとめておくと後で見返すことができるため良いと思います。
さいごに
ここまで見て頂きありがとうございます。書きたいことが多かったため長い記事になってしまいました。感想や意見等のコメントをお待ちしております。
この記事が気に入ったらサポートをしてみませんか?