プログラミング初心者におすすめのプロジェクト5選
今日はプログラミング初心者におすすめのプロジェクト5選をご紹介したいと思います。
初心者の方で、progate終わったら何すればいいの?とか、ある程度基礎を学び終わった後に何をしたらいいの?っていう質問をされる方が結構いたんで、この投稿では、ある程度基礎を学び終わった人におすすめするプロジェクト5選をご紹介したいと思います。
このプロジェクトをすることで、技術レベルが上がるっていうのはもちろんなんですけど、それに加えて、githubとかにあげることで、ポートフォリオとしても使えると思うので、興味ある方はぜひ参考にしてみてください。
それでは早速1つ目のプロジェクトは、じゃんけんゲームです。
これは結構有名で、the初心者向けのプロジェクトっていうような感じなんですけど、単純にコンピューターとじゃんけんができるようなゲームになっております。
実装もだいぶ単純で、コンピューター側は、ランダムにグー、チョキ、パーの3つを出すように設定して、それに対して自分が出した手の勝敗を判定すればいいだけなんで、非常に簡単に実装できるかな、という風に思います。
もし、少しレベルアップさせたいって人は、例えば追加ルールみたいな感じで、3本先取のルールを付け加えたりとか、それ以外にもUIをね工夫することで、より、クオリティの高いものが作れると思うので、ぜひ皆さん1度挑戦してみてください。
このじゃんけんゲームは1番初めにするプロジェクトとして、非常におすすめできるかなと思います。
それでは次にご紹介するプロジェクトが単位変換アプリです。
こちらはですねその名の通り、単位を変換してくれるアプリで、例えばセンチメートルをフィートに直したりとか、キログラムをポンドに直してくれるといったような単純なアプリなんで、実装もめっちゃ簡単なんです。
じゃあ、なんで僕がこれを選んだかっていうと、普通に欲しいなって思う時があるからなんです。
それがいつかっていうと、僕、ここ1年ぐらい英会話をやってるんですけど、海外の人と身長の話になった時に、フィートで聞かれるんですよ。
で、そん時にフィート??みたいな、大体30センチぐらいやったっけ。みたいな時に、欲しいなと いう風に単純に思ったんですよね。
googleで調べたらおしまいなんですけど、なんで僕がこのエピソードを言ったかっていうと、例えば、ポートフォリオとして使いたい場合、自分の中の課題を解決するために作ったという開発動機があった方がいいんですよ。
おそらく、皆さん面接とかで、ポートフォリオなどを提出したら、なんでこれ作ったんですか。とか、開発動機を聞かれると思うんですけど、そんな時に「ただ就職するために作ったのではなくて、自分の中でこういった課題があって、それを解決するために、このアプリケーションを作りました。」といったようなことが言えたら、より考えてる感出せるかなと。
面接って見せ方ですから、考えている感が出せるかなという風に思います。
なので、この単位変換アプリに限らず、「何かしらの課題を解決するために作った」というような開発動機があればよりいいかなという風に思います。
本来、プログラミングってそういうもんなんで。
何か課題を解決するためのツールとして使うのがプログラミングなんで、明確な開発動機を持つことは、非常に重要かな、という風に思います。
それに、この単位変換アプリは実装も簡単なんで、例えばポートフォリオに書く、たくさんある中の1つとしては、最適なんじゃないかな、と いう風に思うので、ぜひ挑戦してみてください。
これも、UI次第ではクオリティを上げれるので、1度作ってみることをおすすめします。
次におすすめするプロジェクトは電卓です。
これは皆さんが知ってる、あの電卓なんですけど、最低限の機能としては、四則演算を実行できる、足す、引く、掛けるを実行できるような機能があると思います。
それにプラスで拡張させたい方は、例えばサインとかコサインを計算できるようにするとか、式をそのまま計算するとかで応用できると思います。
式をそのまま計算するってどういうことかっていうと、例えばですね。1+5×2みたいな式があった時に、本来の四則演算の規則に従うと、先に5×2をして、その後に足し算をする必要があるわけ です。
そうなんですけど、皆さん電卓を考えていただければわかると思うんですけど、電卓の場合、1+5って打った段階で先に1+5が実行されちゃうんです。
なので、この問題を解決するために、例えば式モードみたいなのを作って、その式モードの時は、何か入力してイコールが押されるまで演算を実行しないとで、イコールが押されたら、四則演算の規則に基づいて、計算を実行するみたいなものが、拡張機能としてあげられると思います。
この式を入力するっていうのを追加すると、難易度っていうのは結構上がると思うんですけど。非常にいい題材だと思うので、余裕のある方はぜひ挑戦してみてください。
もし余裕がない方であれば、単純な四則演算の機能だけでもいいんで、実装してみることをおすすめします。
それでは次におすすめするプロジェクトは todoリストです。こちらも、結構有名なプロジェクトで作ってる方が多いものだと思うんですけど、単純にtodoリストに何か項目を追加したり、削除したりできるような アプリケーションになります。
こちらの実装も、初心者の方にそこまで簡単かと言われると、そうではないかもしれないんですけど、作ってる人が多くて、ネットにいっぱい情報があるんで
比較的実装しやすいものかな、という風に思います。
それに加えて実用的なものなので、例えば自分が欲しい機能を追加したりして、オリジナルのtodoリストなんかを作れたら最高かなという風に思います。
そして、最後にご紹介するのは、○×ゲームです。
皆さん、子供の頃に友達とやった方も多いと思うんですけど、いわゆる三目並べっていうやつで、○と×で先攻後攻に分かれて、先に1列揃えた方が勝ちといったようなゲームになります。
これもそこまで実装は難しくなくて、盤面のデータを保存するためにデータ構造に何を使うかとか、終了判定をどうすればいいか、みたいなのがわかれば実装できると思います。
これも、レベル分けするとすると、例えば1番基本的な機能としては、2人のプレーヤーでゲームを実行して、プログラム側では終了判定だけを行うと、といったような機能が1番基本的な機能かな、という風に思います。
それに1つレベルアップさせるとすると、例えばコンピューターを作成して、コンピューターと対戦するみたいなのが1つレベルアップしたものになります。
コンピューターを動かすとなると、自分が考えたアルゴリズムがそのままコンピューターの強さに反映するので、より最適なアルゴリズムを実装できるか、というのが、この課題のポイントになると思います。
皆さん、ご存じだと思うんですけど、この○×ゲームって、基本的に先攻が勝つようになっています。
なので、皆さんが実装したコンピューターの方を先攻にして、どんな対応しても、コンピューターが勝てるようになると、1番最適なアルゴリズムを実装できたというのが確認できるんでぜひ、皆さん挑戦してみてください。
こんな感じで、今回おすすめのプロジェクト5選をご紹介したんですけど、おそらく皆さん開発していくと、色々分からないことであったり、エラーが出てくると思います。
その時にアドバイスとして、僕が1つ、皆さんにお伝えしたいのは「調べ倒す」ということです。
初心者の方で結構多いのが、「調べるのが少なすぎる」っていうのがあって、そういった方に1つだけ言いたいのは、調べたら絶対に答えがあるという感覚を持ってください
よっぽど最先端のことをやってるんだったら別なんですけど、勉強中にやることっていうのは、基本的に既存のことなんで、そういった場合、大抵ネットで調べれば答えは載っているので、まず調べれば絶対に答えは載っていると いう感覚を持った上で、googleを使い倒してください。
ただ、ここで1つだけ注意点があって、今調べたら答えは出てくるっていう風に言ったんですけど、必ずしも直接的な答えが載っているとは限らないで、 ここが初心者の方が結構勘違いしてることなんですけど、例えば、何かのエラーを解決したいっていう風になった時に、その状況を調べても、自分と全く同じ状況がネットに乗っているってことは、あんまりないですよね。
じゃあ、何があるかっていうと、自分と似たような状態の解決方法が載ってるということなんですよ。
なので、皆さんがするべきことは自分と似たような状況の解決方法を試してみて、その解決方法がうまくいかない場合、そのうまくいかない原因をさらに調べるといったように、1つのエラーに対して、何度も何度も調べて、地道に解決していくということをしていただきたいんです。
もちろん、1発で答えバーンって出てくる時もあるんですけど、プログラミング初心者の方ができないのは、この1発で出てこなかった時に、そのうまくいかない原因をさらに調べるっていうことがなかなかできないので、そこは皆さん注意していただけたらなという風に思います。
まとめると、まず調べれば出てくるという感覚を持つこと、そして、1発でうまくいかなくても、そのうまくいかない原因をさらに調べるというふうなことを心がけていただくと、プログラミングの力が相当つくと思うので、ぜひ皆さん心がけてみてください。