Metamagical Themas: Questing for the Essence of Mind and Pattern
Douglas Hofstadter explores the intricate architecture of human thought through a diverse collection of essays originally published in Scientific American. Following his celebrated work Godel, Escher, Bach, this volume investigates how patterns, symbols, and logic define our reality. Hofstadter uses an interdisciplinary approach to bridge the gap between computer science, linguistics, and philoso…
Shelves
More like this
Compilers: Principles, Techniques, and Tools
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors prese…
The Elements Of Computing Systems: Building A Modern Computer From First Principles
The best way to understand how computers work is to build one from scratch, and this textbook leads learners through twelve chapters and projects …
Deep Learning with Python
Deep learning is applicable to a widening range of artificial intelligence problems, such as image classification, speech recognition, text classi…
How to Design Programs: An Introduction to Programming and Computing
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on t…
The Design of Everyday Things
The ultimate guide to human-centered design Even the smartest among us can feel inept as we fail to figure out which light switch or oven burner t…
Pragmatic Thinking and Learning: Refactor Your Wetware
Software development happens in your head. Not in an editor, IDE, or designtool. You're well educated on how to work with software and hardware, b…
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you…
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
Their story takes us through a maze of dead ends and exhilarating breakthroughs as they and their colleagues wrestle not only with the abstraction…
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have alread…
Accelerated C++: Practical Programming by Example
Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern…
The Nature of Code
How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles…
Python for Data Analysis
Python for Data Analysis is concerned with the nuts and bolts of manipulating, processing, cleaning, and crunching data in Python. It is also a pr…