オススメ書籍
shimizukawa.iconがオススメする本をまとめています。
内容は更新日付時点の内容もので、随時更新していきます。
プログラミング入門
そもそもコンピューターの中で何が起きているのか、から始まる本です。OSの役割、バイナリ、コンパイラ、インタプリタ、アセンブラ、メモリ・・といった、コンピューターの基礎知識を紹介しています。5章ではプログラミング言語の基本要素、条件分岐や繰り返しといった概念が図解で分かりやすく紹介されています。Pythonは登場しません。
第2版が出ています。Pythonのインストール、エディタの使い方、コマンドラインの使い方など、初めてプログラミングに触れる方向けに図を多く使い、手順を分かりやすく紹介しています。
shimizukawa.iconが翻訳・監修しました。おかげさまでたくさんの方に読まれています。
Python入門を超分かりやすい言葉と絵で丁寧に解説。プログラミングの考え方にはあまり触れていない
Python入門
Python言語入門者向けに、分かりやすく紹介しています。プログラミングの知識を多少持っている人向けです。Python言語がもつ多くの機能について、幅広く丁寧に紹介しています。
第4版が出ています。Python公式の読み物の書籍版。Pythonのはじめ方について紹介されています。リファレンスと異なり説明を多く書いていてありますが、これまで全くプログラミングをしたことがない、という方には少し難しいかもしれません。このチュートリアルが難しい人は、より入門向けの本を読むと良い 「必修編」で 実践に必要な基礎知識がひと通り網羅。「実践編」は何かを作る全体像をなぞりながら必要な知識を学ぶのにうってつけ。やってみて出来ないところを練習する方式で進めたい、実践から学びたい人は「実践編」から始めて分からない部分にマーカーをひきつつ、「必修編」の当該箇所で基礎を押さえながら読み進める方式がお勧めです。
Python中級
「プログラミング入門者が中級者にランクアップ」するのに必要な知識を、120のトピックでお伝えする本です。実際の現場で起こった問題とその解決方法を元に、設計や開発プロセスのベストプラクティスを紹介。Pythonにくわしくない方でも、プログラミング言語の文法を知っている方であれば理解できるようにしています。次のURLで抜粋版が参照できます。 https://jisou-programmer.beproud.jp/ コンピューターサイエンス
分かりやすいイラストでアルゴリズムを解説していて、直感的に理解できます。 if文やfor文といった制御構文の動きや、データの変化、関数の使いどころといったプログラミングの基礎も含めて紹介しています。
アルゴリズムを絵で見て視覚的に理解するための本です。『独学コンピューターサイエンティスト』で扱った多くのアルゴリズムとデータ構造がイラストで紹介されています。アルゴリズムを使うことでデータがどのように変わっていくのか、どのような結果が得られるのかを紹介しています。データの動きをアニメーションで確認できる、同タイトルのスマートフォン向けアプリが公開されています。
アルゴリズムとデータ構造をPythonで学ぶ本です。各章の最初に「なぜアルゴリズムが重要か」が解説されていて、章後半には練習問題と演習があり、解き方がていねいに解説されています。『独学コンピューターサイエンティスト』と比べて、プログラムコードや解説文は少し難しいかもしれませんが、図が分かりやすいため、Pythonコードと図を見比べながら理解するのに向いています。
さまざまなデータ構造について詳しく説明し、そこから適したアルゴリズムを導き出す方法を解説している入門書です。データ構造についてより詳細に知りたい方に適しています。データ構造を考えるうえで必須となる、実行時間、時間計算量、オーダーの定義についても詳しく説明しています。この本の内容は原文と日本語版どちらもクリエイティブコモンズ継承ライセンス(CC BY)で公開されています。解説に使われている言語はC++ですが、Python版コードも以下で公開されています。 https://github.com/spinute/ods/tree/ja/python/ods データ構造とアルゴリズムについての入門書です。かなりのボリュームがあり、内容も詳細です。コードはC言語で解説されていて、全体の構成は『独学コンピューターサイエンティスト』に似ています。各データ構造について抽象データ型(ADT)を明示しているので、概念と実装の違いに迷ったらこの本を参照するのが良いでしょう。演習問題が全体の3割くらいあるので、この本を手に取った方はぜひ挑戦してみてください。
プログラミングエッセイ
言語に依存しないプログラミングの非常に読みやす解説本です。プログラミングとは人間がコンピューターに1つずつ全ての手順を教える手段だということを具体的な例を通して紹介している、「プログラミングの考え方」を学べる本です。プログラミング言語はほとんど登場しません。改訂版『これからはじめるプログラミング 作って覚える基礎の基礎』(技術評論社、2016)ではより具体的に理解できるようにプログラミング言語として「Scratch」を採用しています。
達人プログラマー 第2版が2020年に出ています。プロのプログラマーとして仕事をしていくために必要な、生産性の高いプログラマーになるための多くの実践的な手法を紹介しています。この手法は入門者かベテランかに関わらず、物作りのさまざまな場面で役立ちます。 プログラマーとしてキャリアの築く、自分を売り込む、面接を受ける戦略、学び続ける、体と心を鍛える、お金に強くなる。プログラマー人生を送るために必要な、プログラミング以外のスキルにつ>いて数多く紹介しています。
プログラミングとどう向き合うのか、なぜPythonを選択するのか、について紹介されています。多くの人がこのエッセイを読んでPythonを使い始めました。
ブライアン・カーニハン(Brian W. Kernighan)先生によるコンピューターサイエンスの入門書です。プリンストン大学で一般人向けに行っている講義に基づくので読みやすく、理系ではない人にも分かりやすくざっくりと学ぶのに適しています。扱っている範囲は、ハードウェアから始まり、CPU、プログラミング、ネットワーク、プライバシーとセキュリティなど広く、アルゴリズムとデータ構造以外の分野について学ぶのにお勧めできる1冊です。
Python活用
Pythonをプログラミング以外の仕事に便利に利用したい人向け。Pythonを使ってプログラミングを学ぶ本。プログラミングを覚えたら、何ができるようになるのか、実現できることが分かります。前半はPythonの入門で、プログラムの動作をフローチャート付きで>分かりやすく紹介したり、ちょっとしたツールやゲームの実装を織り交ぜて説明しているのでイメージが付きやすくなっています。後半ではExcelやWordのファイル操作、CSV処理、メール送信、Webスクレイピングなど多くの仕事に使えそうな実例でライブラリの使い方を学ぶ構成になっています。
Pythonの便利に使えるライブラリ情報
Pythonでプログラムを作成するときに役立つ機能とライブラリを網羅した、実践的なレシピ集。環境構築、コーディング規約、言語仕様、クラス、型ヒントなどを解説。また、よく使われる標準ライブラリとサードパーティ製ライブラリをサンプルコードと合わせて紹介。
Pythonでプログラミングの仕事
スクレイピング、データ分析、Web開発など、仕事でPythonを使って開発する際に必要な知識、開発の流れ、環境の構築などを紹介しています。
BeProudで執筆した、Pythonを使って仕事をしていくためのノウハウ本です。Webアプリ開発の始め方、チーム開発手法、デプロイの自動化、ドキュメント、自動テスト、など入門から先の、Pythonに関連した「環境」をどう扱っていくのかをまとめています。 Pythonの上級者
卓越したPythonプログラマになるための必読書です。本書、独学プログラマーでは触れていない、Pythonの高度な話題やベストプラクティスを紹介しています。
Python言語そのものを深く濃く学べる
Python言語そのものを深く濃く学べる
デザインパターンをPythonに適用する考え方について詳しく紹介している書籍
エキPyに近い内容を扱っている
Python 3.4 の言語仕様を元に言語を深掘りした本です。
機械学習・統計
「ゼロから」は「知識ゼロから」ではなく「便利な既製品を使わない」という意味。プログラミングとPythonを知っていて、機械学習に使われる数式とDeep Learningの仕組みを知るために、ライブラリ等使わずにPythonコードで学習してく本。
ソフトウェア設計
著者のblog記事をまとめた本。Java前提だけど設計の様々な観点が紹介されている
Agileとは何だったのか、今はどう考えると良いのかが解説された本です。
見積
人生
お金
出産・子育て