Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
1. This book is a classic introduction to the inner workings of computers. It explains the basic concepts of hardware and software in a clear and concise way, and it is a great resource for students who want to understand how computers really work.
Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths
1. This book is a fascinating exploration of how computer science can be used to improve our decision-making. It covers a wide range of topics, from how to choose a restaurant to how to deal with uncertainty.
Structure and Interpretation of Computer Programs, 2nd Edition by Harold Abelson, Julie Sussman, and Gerald Jay Sussman
1. This book is a classic textbook on computer programming. It covers the fundamentals of programming in a rigorous but accessible way. It is a great resource for students who want to learn how to write high-quality code.
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne
This book is a comprehensive introduction to algorithms. It covers a wide range of algorithms, from sorting and searching to graph algorithms and dynamic programming
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
This book is a practical guide to writing clean code. It covers a wide range of topics, from code formatting to unit testing to design patterns.
Code Complete: A Practical Handbook of Software Construction, 2nd Edition by Steve McConnell
This book is a comprehensive guide to software construction. It covers a wide range of topics, from requirements gathering to software testing to deployment.
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
This book is a collection of practical advice for software developers. It covers a wide range of topics, from career development to debugging to communication.