tl,dr;
- 2022年、今年こそはプログラミングを勉強しようと思い初心者用の教材を勉強した。途中怠ける時もあったが1年間継続することができた。
- 実施したことのほとんどがオンラインの無料教材のため、書籍購入費用を加えても総額2−3万円程度で済ますことができた。
- 最も時間がかかったのが、Couseraでのnand2Tetris (Part 1-2 で 100hrsくらい)だったが、コンピュータの基本的な原理を大まかに把握できるため、自分のようにコンピュータサイエンス未修の人にはぜひお勧めしたい
Summary
これまでも、たまにプログラミングを勉強しようと思いProgateやその他の教材をやってみては、(無料範囲は終わらせるものの)続かず、やめるということを繰り返していた。2022年こそはと思い、これまでとは異なり、高級言語の学習ではなくコンピュータサイエンスから勉強してみたところ、これまでわかっていなかった基礎概念をざっくりと把握することができ、勉強を継続することができている。
what is this?
プログラミング初心者が1年近く勉強をしてみた振り返り
学習時間は平日の仕事終わり及び土日が中心。1日XX時間やる!、とかいうと続かないので、とりあえず続けることを目標に実施
やったこと (時間は肌感)
- CS50 - 50-70hrs (Harvard Universityの1年生向けコンピュータサイエンス講座。無料受講可能)
- nand2Tetris - 100-150hrs (こちらも大学の授業?をもとにしたオンライン講座。NANDゲートと呼ばれる論理ゲートから始まり、実際にエミュレータ上で動く基礎のコンピュータを作成するまでを行う。NANDゲートから始まり、テトリスゲームを作れるCPUを制作するため、Nand2Tetrisと呼ばれる)
- LeetCode - AtCoderと同じく、Algorithm問題などを解けるサイト
- 読書 - コンピュータサイエンスやアルゴリズムなど関連本を4冊ほど読了。
学んでよかったこと
- コンピュータの基本原理がざっくりでもわかったことにより、未知のことにぶつかった時の嫌悪感が減った(これまでと比べてうっすらであるが全体感がわかった)
- これまで謎に包まれていたワードである、バイナリ、ビット、アッセンブラー、コンパイラだったり、メモリとCPUの関係性などを知ったことで、これまで漠然と言語化もできていなかった疑問が一部解消した
- 途中サボった期間もあったものの、1年近く学習を続けることができ、自信になった
今後
コンピュータサイエンスがひと段落したところで、現在は"アルゴリズムとデータ"と"簡単な自作アプリ"の2つを勉強中。進める中でgitだったりCommandLineなど新たな疑問が出てきたため、合わせて学習中
- アルゴリズム問題
- 自作アプリの作成 (Python, Swift)
- github, CommandLineなどわからない点を都度勉強