Learning Plan

I am going to take 2-3 years spare time to finish some classical books. Some of them have been half-finished. This job does not conflict with daily work and paper reading.

Programming Languages and Compilers

  • Types and Programming Languages Book by Benjamin C. Pierce
  • Introduction to Automata Theory, Languages, and Computation, Textbook by Jeffrey Ullman and John Hopcroft
  • Essentials of Programming Languages Textbook by Daniel P. Friedman and Mitchell Wand
  • The little series by Dan Friedman
  • Modern Compiler Implementation in ML Textbook by Andrew Appel
  • C Interfaces and Implementations: Techniques for Creating Reusable … Book by David Hanson
  • A Retargetable C Compiler: Design and Implementation Book by Christopher W. Fraser and David Hanson
  • Programming Language Pragmatics Book by Michael L. Scott

AI and Machine Learning

  • Linear Algebra and Learning from Data Textbook by Gilbert Strang
  • Pattern Recognition and Machine Learning Book by Christopher Bishop
  • Probability Theory: The Logic of Science Book by Edwin Thompson Jaynes
  • The Book of Why: The New Science of Cause and Effect Book by Dana Mackenzie and Judea Pearl
  • Artificial Intelligence: A Modern Approach Textbook by Peter Norvig and Stuart J. Russell
  • Paradigms of AI Programming: Case Studies in Common Lisp Book by Peter Norvig


  • PostgreSQL技术内幕:查询优化深度探索》(张树杰)
  • Transaction Processing: Concepts and Techniques Book by Jim Gray
  • Database Systems: The Complete Book Book by Héctor García-Molina, Jeffrey Ullman, and Jennifer Widom


  • Concrete MathematicsTextbook by Donald Knuth, Oren Patashnik, and Ronald Graham
  • Introduction to Algorithms CLRS
  • Introduction to the Analysis of Algorithms by Robert Sedgewick and Phillipe Flajolet
  • Analytic Combinatorics Book by Philippe Flajolet and Robert Sedgewick
  • The Art of Computer Programming Book by Donald Knuth


  • Algebra Book by Michael Artin

System and System Programming

  • Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture Book by Igor Zhirkov
  • Computer Architecture: A Quantitative Approach Book by David A Patterson and John L. Hennessy
  • Advanced Programming in the Unix Environment Book by W. Richard Stevens


  • Programming Languages and Lambda Calculi by CS @ Utah
  • Datalog and Logic Databases Book by Cristian Molinaro and Sergio Greco
  • Mathematical Logic for Computer Science by Mordechai Ben-Ari
  • Gödel, Escher, Bach: an Eternal Golden Braid Book by Douglas Hofstadter


  • Programming Erlang: Software for a Concurrent World Book by Joe Armstrong
  • The BEAM Book A description of the Erlang Runtime System ERTS and the virtual Machine BEAM
  • Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems Book by Francesco Cesarini and Steve Vinoski


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.