Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

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

C++ Primer Plus


Stephen Prata - 2004
    This guide also illustrates how to handle input and output, make programs perform repetitive tasks, manipulate data, hide information, use functions and build flexible, easily modifiable programs.

Minecraft: The Unlikely Tale of Markus "Notch" Persson and the Game that Changed Everything


Daniel Goldberg - 2011
    Talked about by tens of millions of people, in fact. It is the story of unlikely success, fast money, and the power of digital technology to rattle an empire. And it is about creation, exclusion, and the feeling of not fitting in.Here Markus opens up for the first time about his life. About his old Lego-filled desk at school. About the first computer his father brought home one day. But also about growing up in a family marked by drug abuse and conflict. But above all it is the story of the fine line between seeming misfit and creative madman, and the birth of a tech visionary.Minecraft: The Unlikely Tale of Markus "Notch" Persson and the Game that Changed Everything is a Cinderella story for the Internet age.

Programming WCF Services


Juval Lowy - 2007
    Relentlessly practical, the book delivers insight, not documentation, to teach developers what they need to know to build the next generation of SOAs.After explaining the advantages of service-orientation for application design and teaching the basics of how to develop SOAs using WCF, the book shows how you can take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls and security to build best in class applications. "Programming WCF Services" focuses on the rationale behind particular design decisions, often shedding light on poorly-documented and little-understood aspects of SOA development. Developers and architects will learn not only the "how" of WCF programming, but also relevant design guidelines, best practices, and pitfalls. Original techniques and utilities provided by the author throughout the book go well beyond anything that can be found in conventional sources.Based on experience and insight gained while taking part in the strategic design of WCF and working with the team that implemented it, "Programming WCF Services" provides experienced working professionals with the definitive work on WCF. Not only will this book make you a WCF expert, it will make you a better software engineer. It's the Rosetta Stone of WCF.

Two Scoops of Django: Best Practices for Django 1.6


Daniel Roy Greenfeld - 2014
    

REST in Practice: Hypermedia and Systems Architecture


Jim Webber - 2010
    You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.Learn basic Web techniques for application integrationUse HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applicationsDiscover the Create, Read, Update, Delete (CRUD) pattern for manipulating resourcesBuild RESTful services that use hypermedia to model state transitions and describe business protocolsLearn how to make Web-based solutions secure and interoperableExtend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPubUnderstand how the Semantic Web will impact systems design

Programming Erlang


Joe Armstrong - 2007
    It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.

How Google Tests Software


James A. Whittaker - 2012
    Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you're not quite Google's size...yet! Breakthrough Techniques You Can Actually Use Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests...thinking like real users...implementing exploratory, black box, white box, and acceptance testing...getting usable feedback...tracking issues...choosing and creating tools...testing "Docs & Mocks," interfaces, classes, modules, libraries, binaries, services, and infrastructure...reviewing code and refactoring...using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator-and make your whole organization more productive!

Super Scratch Programming Adventure!: Learn to Program By Making Cool Games


The LEAD Project - 2012
    By dragging together colorful blocks of code, kids quickly learn computer programming concepts and make cool games and animations.In Super Scratch Programming Adventure!, kids learn programming fundamentals as they make their very own playable video games. They'll create projects inspired by classic arcade games that can be programmed (and played!) in an afternoon. The book's patient, step-by-step explanations of the code and fun programming challenges will have kids creating their own games in no time.This full-color comic book makes programming concepts like flow control, subroutines, and data types effortless to absorb. Packed with ideas for games that kids will be proud to show off, Super Scratch Programming Adventure! is the perfect first step for the budding programmer.

The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win


Gene Kim - 2013
    It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO. The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited. In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.

Introduction to Algorithms


Thomas H. Cormen - 1989
    Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

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.

Learning XML


Erik T. Ray - 2001
    Fortunately, there s a solution: Erik T. Ray s Learning XML, Second Edition. This book presents an outstanding birds-eye view of the XML landscape. It s definitely not a programming book (though it does introduce some key XML programming issues). Rather, it s focused on key ideas you need to understand whatever you want to do with XML. That could be document management, web or print content delivery, application integration, B2B commerce, data storage, internationalization -- you name it.Ray s day job is software developer and XML specialist at O Reilly. There, he s helped to implement a complete publishing solution, using DocBook-XML and Perl to produce books in print, on CD-ROM, and for online delivery. So he understands XML from the real-world point of view of someone with a job to do. His first goal is to take on the big questions. First, What is XML? Ray attacks this question from multiple angles, introducing XML as a general-purpose information storage system, a markup language toolkit, and an open standard (or, increasingly, a collection of standards). What can (and can t) you do with XML? What s the history that led us here? And what tools do you need to get started? Next, he introduces the basic building blocks of XML markup and all XML-derived languages: stuff you ll need to know regardless of your goals. Through easy examples, you ll understand elements, attributes, entities, and processing instructions -- and how they fit together in a well-formed XML document. Then, it s on to representing information with XML -- in other words, understanding the nature and planning the structure of the documents you ll be using. Ray starts simply, then builds on his basic examples to discuss narrative documents with text flows, block and inline elements, and titled sections. Once you can handle those, he discusses more complex information modeling, as used in specialized markup languages such as VML. This edition contains an entirely new chapter on XML Schemas -- what he calls the shepherds that keep documents from straying outside of the herd and causing trouble. Schemas, of course, have become hugely important. This is one of the best plain-English introductions to the topic we ve seen. Ray then turns to presentation, introducing CSS stylesheets, basic usage, rule matching, properties, and more. A little later on, he returns to the subject -- this time with a complete introduction to XSL-FO that illuminates two powerful examples. The first is TEI-XML, a markup language for scholarly documents (Ray presents a Shakespearean sonnet, appropriately coded). The second is the immensely powerful DocBook -- which, as we ve observed, Ray knows inside and out. Learning XML is superbly written. Clear explanations. Simple examples. Great metaphors and analogies. And excellent introductions to nearly every topic that matters, from links to presentation, transformation to internationalization. If you re just starting out with XML, you re lucky to have it. Bill CamardaBill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.

Building Java Programs: A Back to Basics Approach


Stuart Reges - 2007
    By using objects early to solve interesting problems and defining objects later in the course, Building Java Programs develops programming knowledge for a broad audience. Introduction to Java Programming, Primitive Data and Definite Loops, Introduction to Parameters and Objects, Conditional Execution, Program Logic and Indefinite Loops, File Processing, Arrays, Defining Classes, Inheritance and Interfaces, ArrayLists, Java Collections Framework, Recursion, Searching and Sorting, Graphical User Interfaces. For all readers interested in introductory programming.