今回は、プログラミング・コンピュータサイエンスの基礎を学べる教材をまとめていこうと思います。
正直、どこまでがプログラミングで何がコンピュータサイエンスなのかの区分は詳しくありませんが、Webサービス開発の土台となるような知識を少しでも得られるサイトや教材をまとめていけたらと思います。
さっそくまとめていきますので、よろしければご覧ください。
ハーバード大学の提供するCS50
米ハーバード大学が無料提供しているプログラミング学習・コンピュータサイエンスの入門講座の日本語訳をしたサイトCS50.jpをまずは紹介。
こちらのサイトで観れるコースは以下の2つです。
- CS50: Introduction to Computer Science
- CS50’s Web Programming with Python and JavaScript
※コースごとに提供されているNotesは日本語に翻訳されており、動画は字幕で日本語を選択可能です。
内容を確認したところ完全初心者には厳しい気がしますが、初中級者はやってみると新たな学びが得られそうです。
コンピュータサイエンスのコースの項目はArrays、Algorithmsなど一見すると、基本的な話しか無いのではないかと思われますが、私みたいな非コンピュータサイエンス専攻の人間からすると目から鱗な解説も含まれています。
型定義の話などもあったりしたので、時間があるときに少しずつ学習を進めてみるのも良さそうです。
公式サイトには、「アルゴリズム的に考え、問題を効率的に解決する方法」をCS50: Introduction to Computer Scienceでは教えていると書いてあります。
一方、Webプログラミングのコースの方は、Djangoなどの入門書を一冊終えている人からすると前半部分はかなり被る部分も多いです。
しかし、Javascriptでは結構高度な内容もあるのでHTML、CSS、Javascriptの学習に良いかもしれません。
また、テスト・CI/CDについてやスケーラビリティ・セキュリティの話も含まれているので、この点はチェックしておくべきです。
Django関連のテストの話などは、あまり学ぶ機会や教材がなかったりするので、かなり有益です。