Pythonを学習するのにおすすめの本
目次
初心者用
子どもの初心者用でオーソドックスなものはこちら:
-
Jason Briggs, Python for Kids: A Playful Introduction to Programming, No Starch Press, 2012.
-
Aristides Bouras and Loukia V Ainarozidou, Python for Tweens and Teens: Learn Computational and Algorithmic Thinking, CreateSpace Independent Publishing Platform, 2017.
初中級者用
上記いずれかの本を読んだ後のおすすめはこちら:
- Mark Lutz, Learning Python: Powerful Object-Oriented Programming, 5th edition, O’Reilly, 2013.
子どもの読者を念頭においた言葉づかいや図の使い方ではありませんが、初心者用の本をどれか一冊読んだ後ならさほど問題なく読み進められると思います。電話帳のような分厚さなので、最初から最後まで読み通す本というよりは参考書的な使い方になるかと。初心者用の本を読みながら参考書として使ってもよいと思います。
中級者用
- Mark Lutz, Programming Python: Powerful Object-Oriented Programming, 4th Edition, O’Reilly, 2011.
Lutzの本(上記2冊)は、過去30年ほど版を重ね続けて「Pythonの解説書といえばコレ」という不動の地位を維持しています。恐ろしく分厚い本なので、最初から最後まで読み通すべき本だと思わないのが賢明です。参考書として「つまみ食い」的に読むのがよいと思います。Amazonの読者レビューには、解説の進みがダラダラと遅いとか、同じような説明が複数箇所に記載されている(その結果不必要に分厚い本になっている)といった否定的なコメントがあります。これはその通りなのですが、進みが遅いということは、スモールステップで一歩一歩(紙面を割いて)説明しているということです。初心者(特に子ども)にとってこれは大事なことだと思います。また、参考書として「つまみ食い」的に読むなら、同じような説明が複数箇所に記載されているのはありがたいことです。
なお、大人や職業エンジニアにとって、Lutzの本(上記2冊)は入門書に分類されます。が、子どもが対象なら「中級」になります。子どもはこのレベルを身につけていれば十分だと思います(AP Computer Scienceの準備に取り掛かれるレベルです)。Amazonなどで「 中級(intermediate)」とされている本は、子どもにとっては上級レベルになります。
アルゴリズムの学習用
近々追記予定
上級者用
近々追記予定
番外編
- John Guttag, Introduction to Computation and Programming Using Python, with Application to Computational Modeling and Understanding Data, 3rd edition, MIT Press, 2021.
この本は、MITの学部生がプログラミングのコースを最初に受講するときに使う教科書です。コースの名前は「6.0001 Introduction to Computer Science Programming in Python」で、edXで受講・聴講できます(聴講は無料)。何年か前の講義はOCWで無料公開されています。こういった文脈において、この本はとても有名なのですが、Pythonの入門書として(子どもが対象であれ、学部生が対象であれ)優れているかというと、そうでもありません。最初の3章はなんとか読みこなせるかもしれませんが。。。上記の講義を受けるのでなければ、この本を買う意義は薄いです。とはいえ、MITの学部生が使う教科書を垣間見てみたいという向きには面白い本です。また、Pythonの入門的解説の後に、コンピュータ・サイエンスの多種多様なトピックを(浅く広く)扱っている点は優れています。