[ { "title": "The Pragmatic Programmer: Your Journey to Mastery", "authors": ["andrew hunt", "david thomas"], "summary": "A guide to pragmatic programming for software engineers and developers", "publish_date": "2019-10-29", "num_reviews": 30, "publisher": "addison-wesley" }, { "title": "Python Crash Course", "authors": ["eric matthes"], "summary": "A fast-paced, no-nonsense guide to programming in Python", "publish_date": "2019-05-03", "num_reviews": 42, "publisher": "no starch press" }, { "title": "Artificial Intelligence: A Modern Approach", "authors": ["stuart russell", "peter norvig"], "summary": "Comprehensive introduction to the theory and practice of artificial intelligence", "publish_date": "2020-04-06", "num_reviews": 39, "publisher": "pearson" }, { "title": "Clean Code: A Handbook of Agile Software Craftsmanship", "authors": ["robert c. martin"], "summary": "A guide to writing code that is easy to read, understand and maintain", "publish_date": "2008-08-11", "num_reviews": 55, "publisher": "prentice hall" }, { "title": "You Don't Know JS: Up & Going", "authors": ["kyle simpson"], "summary": "Introduction to JavaScript and programming as a whole", "publish_date": "2015-03-27", "num_reviews": 36, "publisher": "oreilly" }, { "title": "Eloquent JavaScript", "authors": ["marijn haverbeke"], "summary": "A modern introduction to programming", "publish_date": "2018-12-04", "num_reviews": 38, "publisher": "no starch press" }, { "title": "Design Patterns: Elements of Reusable Object-Oriented Software", "authors": [ "erich gamma", "richard helm", "ralph johnson", "john vlissides" ], "summary": "Guide to design patterns that can be used in any object-oriented language", "publish_date": "1994-10-31", "num_reviews": 45, "publisher": "addison-wesley" }, { "title": "The Clean Coder: A Code of Conduct for Professional Programmers", "authors": ["robert c. martin"], "summary": "A guide to professional conduct in the field of software engineering", "publish_date": "2011-05-13", "num_reviews": 20, "publisher": "prentice hall" }, { "title": "JavaScript: The Good Parts", "authors": ["douglas crockford"], "summary": "A deep dive into the parts of JavaScript that are essential to writing maintainable code", "publish_date": "2008-05-15", "num_reviews": 51, "publisher": "oreilly" }, { "title": "Introduction to the Theory of Computation", "authors": ["michael sipser"], "summary": "Introduction to the theory of computation and complexity theory", "publish_date": "2012-06-27", "num_reviews": 33, "publisher": "cengage learning" } ]