Problem Solving with C++: The Object of Programming


Walter J. Savitch - 1995
    It introduces the use of classes; shows how to write ADTs that maximize the perfomance of C++ in creating reusable code; and provides coverage of all important OO functions, including inheritance, polymorphism and encapsulation.

Building Evolutionary Architectures: Support Constant Change


Neal Ford - 2017
    Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.

Elements of the Theory of Computation


Harry R. Lewis - 1981
    The authors are well-known for their clear presentation that makes the material accessible to a a broad audience and requires no special previous mathematical experience. KEY TOPICS: In this new edition, the authors incorporate a somewhat more informal, friendly writing style to present both classical and contemporary theories of computation. Algorithms, complexity analysis, and algorithmic ideas are introduced informally in Chapter 1, and are pursued throughout the book. Each section is followed by problems.

Adventures In Raspberry Pi (Adventures In ...)


Carrie Anne Philbin - 2013
    Written for 11- to 15-year-olds and assuming no prior computing knowledge, this book uses the wildly successful, low-cost, credit-card-sized Raspberry Pi computer to explain fundamental computing concepts. Young people will enjoy going through the book's nine fun projects while they learn basic programming and system administration skills, starting with the very basics of how to plug in the board and turn it on. Each project includes a lively and informative video to reinforce the lessons. It's perfect for young, eager self-learners—your kids can jump in, set up their Raspberry Pi, and go through the lessons on their own. Written by Carrie Anne Philbin, a high school teacher of computing who advises the U.K. government on the revised ICT Curriculum Teaches 11- to 15-year-olds programming and system administration skills using Raspberry Pi Features 9 fun projects accompanied by lively and helpful videos Raspberry Pi is a $35/£25 credit-card-sized computer created by the non-profit Raspberry Pi Foundation; over a million have been sold Help your children have fun and learn computing skills at the same time with Adventures in Raspberry Pi.

JavaScript and HTML5 Now


Kyle Simpson - 2012
    This insightful overview provides striking examples of how these technologies have teamed up to give the Web a truly open platform.Author Kyle Simpson (HTML5 Cookbook) shows you how JavaScript unlocks the power of all of the new functionality in HTML5, giving web applications the capabilities developers have wanted for years. These technologies now provide the raw tools you need in the presentation layer to replace everything you used to do with Flash.You’ll discover how:> HTML5 builds natively into the web platform things we find most commonly useful, such as audio, video, and drawing> The Canvas element is changing graphic animations, games, audio visualization, charting, and video effects> Geolocation has spawned “geofencing” and augmented reality> Web Workers allows calculations to be performed in the background, rather than compete with the UI> Web Sockets is enabling realtime communication for chat, live tech support, multi-user collaboration, and gaming> Mobile device APIs will give web apps direct access the phone’s camera, vibration, and other capabilities

UNIX in a Nutshell: A Desktop Quick Reference for System V Release 4 and Solaris 2.0


Daniel Gilly - 1992
    For all but the thorniest UNIX problems, this one reference should be all the documentation you need.The second edition of "UNIX in a Nutshell" starts with thorough coverage of System V Release 3. To that, we've added the many new commands that were added to Release 4 and additional commands that were added to Solaris 2.0.Contents include: All user and programmer commands.New Korn shell documentation.Expanded text editing section, including GNU Emacs and "nawk."Shell syntax ("sh" and "csh").Pattern-matching syntax."vi" and "ex" commands."sed" and "awk" commands."troff" and related commands and macros."sdb" and "dbx" commands.If you currently use either SVR3 or SVR4 or are planning to in the future, or if you're a Sun user facing the transition to Solaris, you'll want this book. "UNIX in a Nutshell" is the most comprehensive quickref on the market, a must for any UNIX user.

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software


Scott Rosenberg - 2007
    Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.

Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP


Peter Norvig - 1991
    By reconstructing authentic, complex AI programs using state-of-the-art Common Lisp, the book teaches students and professionals how to build and debug robust practical programs, while demonstrating superior programming style and important AI concepts. The author strongly emphasizes the practical performance issues involved in writing real working programs of significant size. Chapters on troubleshooting and efficiency are included, along with a discussion of the fundamentals of object-oriented programming and a description of the main CLOS functions. This volume is an excellent text for a course on AI programming, a useful supplement for general AI courses and an indispensable reference for the professional programmer.

CSS: The Definitive Guide


Eric A. Meyer - 2000
    Updated to cover Internet Explorer 7, Microsoft's vastly improved browser, this new edition includes content on positioning, lists and generated content, table layout, user interface, paged media, and more.Simply put, Cascading Style Sheets (CSS) is a way to separate a document's structure from its presentation. The benefits of this can be quite profound: CSS allows a much richer document appearance than HTML and also saves time -- you can create or change the appearance of an entire document in just one place; and its compact file size makes web pages load quickly.CSS: The Definitive Guide, 3rd Edition, provides you with a comprehensive guide to CSS implementation, along with a thorough review of all aspects of CSS 2.1. Updated to cover Internet Explorer 7, Microsoft's vastly improved browser, this new edition includes content on positioning, lists and generated content, table layout, user interface, paged media, and more. Author Eric Meyer tackles the subject with passion, exploring in detail each individual CSS property and how it interacts with other properties. You'll not only learn how to avoid common mistakes in interpretation, you also will benefit from the depth and breadth of his experience and his clear and honest style. This is the complete sourcebook on CSS.The 3rd edition contains:Updates to reflect changes in the latest draft version of CSS 2.1Browser notes updated to reflect changes between IE6 and IE7Advanced selectors supported in IE7 and other major browsers includedA new round of technical edits by a fresh set of editorsClarifications and corrected errata, including updated URLs ofreferenced online resources

A Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half


Mark Myers - 2013
     Master each chapter with free interactive exercises online. Live simulation lets you see your practice code run in your browser. 2,000 lines of color-keyed sample code break it all down into easy-to-learn chunks. Extra help through the rough spots so you're less likely to get stuck. Tested on non-coders—including the author's technophobe wife. Become fluent in all the JavaScript fundamentals, in half the time. Display alert messages to the user Gather information through prompts Manipulate variables Build statements Do math Use operators Concatenate text Run routines based on conditions Compare values Work with arrays Run automated routines Display custom elements on the webpage Generate random numbers Manipulate decimals Round numbers Create loops Use functions Find the current date and time Measure time intervals Create a timer Respond to the user's actions Swap images Control colors on the webpage Change any element on the webpage Improvise new HTML markup on the fly Use the webpage DOM structure Insert comments Situate scripts effectively Create and change objects Automate object creation Control the browser's actions Fill the browser window with custom content Check forms for invalid entries Deal with errors Make a more compelling website Increase user-friendliness Keep your user engaged

Large-Scale C++ Software Design


John S. Lakos - 1996
    It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. Such systems with their acyclic physical dependencies are fundamentally easier and more economical to maintain, test, and reuse than tightly interdependent systems. In addition to explaining the motivation for following good physical as well as logical design practices, Lakos provides you with a catalog of specific techniques designed to eliminate cyclic, compile-time, and link-time (physical) dependencies. He then extends these concepts from large to very large systems. The book concludes with a comprehensive top-down approach to the logical design of individual components. Appendices include a valuable design pattern Protocol Hierarchy designed to avoid fat inte

Land of LISP: Learn to Program in LISP, One Game at a Time!


Conrad Barski - 2010
    Land of Lisp brings the language into the real world, teaching Lisp by showing readers how to write several complete Lisp-based games, including a text adventure, an evolution simulation, and a robot battle. While building these games, readers learn the core concepts of Lisp programming, such as data types, recursion, input/output, object-oriented programming, and macros. And thanks to the power of Lisp, the code is short. Rather than bogging things down with reference information that is easily found online, Land of Lisp focuses on using Lisp for real programming. The book is filled with the author Conrad Barski's famous Lisp cartoons, featuring the Lisp alien and other zany characters.

Dive Into Python 3


Mark Pilgrim - 2009
    As in the original book, Dive Into Python, each chapter starts with a real, complete code sample, proceeds to pick it apart and explain the pieces, and then puts it all back together in a summary at the end.This book includes:Example programs completely rewritten to illustrate powerful new concepts now available in Python 3: sets, iterators, generators, closures, comprehensions, and much more A detailed case study of porting a major library from Python 2 to Python 3 A comprehensive appendix of all the syntactic and semantic changes in Python 3 This is the perfect resource for you if you need to port applications to Python 3, or if you like to jump into languages fast and get going right away.

IBM PC Assembly Language and Programming


Peter Abel - 1987
    Coverage starts from scratch, discussing the simpler aspects of the hardware, and the language, then introduces technical details and instructions as they are needed.

The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography


Simon Singh - 1999
    From Mary, Queen of Scots, trapped by her own code, to the Navajo Code Talkers who helped the Allies win World War II, to the incredible (and incredibly simple) logisitical breakthrough that made Internet commerce secure, The Code Book tells the story of the most powerful intellectual weapon ever known: secrecy.Throughout the text are clear technical and mathematical explanations, and portraits of the remarkable personalities who wrote and broke the world’s most difficult codes. Accessible, compelling, and remarkably far-reaching, this book will forever alter your view of history and what drives it. It will also make you wonder how private that e-mail you just sent really is.