Combinatorial Optimization: Algorithms and Complexity
This classic text serves as a definitive bridge between computer science and mathematical optimization. Christos Papadimitriou and Kenneth Steiglitz provide a rigorous yet accessible framework for understanding how to solve complex decision-making problems. By blending algorithmic theory with practical computational methods, the authors transform dense mathematical concepts into logical, manageab…
Shelves
More like this
JavaScript: The Good Parts
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a …
Learn You a Haskell for Great Good!
Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularit…
Clean Architecture
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to b…
Computational Complexity
This modern introduction to the Theory of Computer Science is the first unified introduction to Computational Complexity. It offers a comprehensiv…
The Mythical Man-Month: Essays on Software Engineering
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering fac…
Elements of the Theory of Computation
Appropriate for senior and graduate level courses in Computer Science Theory, Automata, and Theory of Computation. This is the long awaited Second…
Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability
Since Don’t Make Me Think was first published in 2000, over 400,000 Web designers and developers have relied on Steve Krug’s guide to help them un…
The Little Schemer
The notion that “thinking about computing is one of the most exciting things the human mind can do” sets both The Little Schemer (formerly known a…
Working Effectively with Legacy Code
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get near…
Learning Python
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs …
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliab…
JavaScript: The Definitive Guide
This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an exam…