Foundations of Computing
Published 2022
A modern text on the theory of computation for CS undergraduates. Presents theory and applications with a minimum of mathematical formalism. Includes code examples.
Click to see a sample chapters, sample videos, or to purchase a print copy or a PDF. There is also an online course.
Instructors: click here to request a review copy. Class materials available upon adoption.
"Many computer science students find this material inscrutable… Here is where this book comes in: it presents the theory in a logical, gentle manner, with applications, making it much easier to understand. As I read a draft of the book, I actually became excited about the presentation of the material. At long last there is a book that lays out the theory in a way that it should be. And the results speak for themselves. When Professor Chuck Allison began using drafts of this book in his classes, student performance on assignments and exams went up significantly."
From the Foreword by Neil Harrison
Thinking in C++, Volume 2
Published 2004
A celebrated book on advanced C++03, once used in several colleges and a well-known reference for developers. Available in English, Chinese, Czech, and Polish.
To view a free HTML copy, click here for a ZIP file (click on Show All Files there).
For a print copy, click here.
“I’d like to congratulate the both of you for a very impressive work! Not only did I find your book to be an enjoyable and rewarding read … I was astounded by the accuracy both in terms of technical correctness and use of the language … I believe that you have attained a level of craftsmanship that is simply outstanding.”
Bjorn Karlsson, Editorial Board, C/C++ Users Journal
C & C++ Code Capsules
Published 1998
In the Prentice-Hall Series on Programming Tools and Methodologies
(P. J. Plauger, Editor)
Practical advice on C and C++ programming, based on Chuck Allison's "Code Capsules" column in the C/C++ Users Journal (CUJ). See the Articles section of this website for the original CUJ articles. Available in English and Chinese.
Click here for a print copy.
"This book provides a bridge to the world of advanced topics; it gives you what you need but it won't overwhelm you in the process. Chuck has made his book both clear and accurate... Another thing I like about this book is the brevity of the chapters, and the way each one is focused on a single topic, so I can pick it up and get an entire concept at once... This is a book that you will enjoy over time as it hands you one insight after another."
From the Foreword by Bruce Eckel
"This book shares the hard-won wisdom of a highly-successful C++/C programmer - along with a large collection of ANSI-compliant programs that illustrate the true power of C++. This book includes a wide variety of ideas, tips and techniques for programmers of all skill levels. It presents little-known facts about pointers and the preprocessor that are a must for the professional developer. It offers tips and techniques for more effective use of abstraction, templates, bit manipulation, visibility, control structures and exceptions. The book also shows how to make the most of the Standard C and Standard C++ libraries, covering containers and iterators; algorithms; text and file processing; time and date processing; and memory management. For C++ and C professional developers, consultants, faculty and students of all skill levels."
(From the back cover)