Best of
Computer-Science

2011

Game Programming Patterns


Robert Nystrom - 2011
    Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you provide access to services such as sound without coupling your code to any particular sound driver or sound hardware. Games have much in common with other software, but also a number of unique constraints. Some of the patterns in this book are well-known in other domains of software development. Other of the patterns are unique to gaming. In either case, Robert Nystrom bridges from the ivory tower world of software architecture to the in-the-trenches reality of hardcore game programming. You'll learn the patterns and the general problems that they solve. You'll come away able to apply powerful and reusable architectural solutions that enable you to produce higher quality games with less effort than before. Applies classic design patterns to game programming. Introduces new patterns specific to game programming. Brings abstract software architecture down to Earth with approachable writing and an emphasis on simple code that shows each pattern in practice. What you'll learn Overcome architectural challenges unique to game programming Apply lessons from the larger software world to games. Tie different parts of a game (graphics, sound, AI) into a cohesive whole. Create elegant and maintainable architecture. Achieve good, low-level performance. Gain insight into professional, game development. Who this book is forGame Programming Patterns is aimed at professional game programmers who, while successful in shipping games, are frustrated at how hard it sometimes is to add and modify features when a game is under development. Game Programming Patterns shows how to apply modern software practices to the problem of game development while still maintaining the blazing-fast performance demanded by hard-core gamers. Game Programming Patterns also appeals to those learning about game programming in their spare time. Hobbyists and aspiring professionals alike will find much to learn in this book about pathfinding, collision detection, and other game-programming problem domains.

HTML and CSS: Design and Build Websites


Jon Duckett - 2011
    Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become programmers, which is why this book takes an entirely new approach. • Introduces HTML and CSS in a way that makes them accessible to everyone—hobbyists, students, and professionals—and it’s full-color throughout • Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging • Boasts a unique structure that allows you to progress through the chapters from beginning to end or just dip into topics of particular interest at your leisureThis educational book is one that you will enjoy picking up, reading, then referring back to. It will make you wish other technical topics were presented in such a simple, attractive and engaging way!

The Clean Coder: A Code of Conduct for Professional Programmers


Robert C. Martin - 2011
    They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice-about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"-and how to say it When to say "Yes"-and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn't written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them-and earn the pride and fulfillment that they alone possess.

Learn You a Haskell for Great Good!


Miran Lipovača - 2011
    Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn Haskell, and receives over 30,000 unique visitors monthly.

Eloquent Ruby


Russ Olsen - 2011
    In Eloquent Ruby, Russ Olsen helps you write Ruby like true Rubyists do-so you can leverage its immense, surprising power. Olsen draws on years of experience internalizing the Ruby culture and teaching Ruby to other programmers. He guides you to the "Ah Ha!" moments when it suddenly becomes clear why Ruby works the way it does, and how you can take advantage of this language's elegance and expressiveness. Eloquent Ruby starts small, answering tactical questions focused on a single statement, method, test, or bug. You'll learn how to write code that actually looks like Ruby (not Java or C#); why Ruby has so many control structures; how to use strings, expressions, and symbols; and what dynamic typing is really good for. Next, the book addresses bigger questions related to building methods and classes. You'll discover why Ruby classes contain so many tiny methods, when to use operator overloading, and when to avoid it. Olsen explains how to write Ruby code that writes its own code-and why you'll want to. He concludes with powerful project-level features and techniques ranging from gems to Domain Specific Languages. A part of the renowned Addison-Wesley Professional Ruby Series, Eloquent Ruby will help you "put on your Ruby-colored glasses" and get results that make you a true believer.

Dependency Injection in .NET


Mark Seemann - 2011
    Instead of hard-coding dependencies, such as specifying a database driver, you inject a list of services that a component may need. The services are then connected by a third party. This technique enables you to better manage future changes and other complexity in your software.About this BookDependency Injection in .NET introduces DI and provides a practical guide for applying it in .NET applications. The book presents the core patterns in plain C#, so you'll fully understand how DI works. Then you'll learn to integrate DI with standard Microsoft technologies like ASP.NET MVC, and to use DI frameworks like StructureMap, Castle Windsor, and Unity. By the end of the book, you'll be comfortable applying this powerful technique in your everyday .NET development.This book is written for C# developers. No previous experience with DI or DI frameworks is required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. Winner of 2013 Jolt Awards: The Best Books—one of five notable books every serious programmer should read.What's InsideMany C#-based examplesA catalog of DI patterns and anti-patternsUsing both Microsoft and open source DI frameworksTabel of ContentsPART 1 PUTTING DEPENDENCY INJECTION ON THE MAPA Dependency Injection tasting menuA comprehensive exampleDI ContainersPART 2 DI CATALOGDI patternsDI anti-patternsDI refactoringsPART 3 DIY DIObject CompositionObject LifetimeInterceptionPART 4 DI CONTAINERSCastle WindsorStructureMapSpring.NETAutofacUnityMEF

Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software


Michael Sikorski - 2011
    When malware breaches your defenses, you need to act quickly to cure current infections and prevent future ones from occurring.For those who want to stay ahead of the latest malware, Practical Malware Analysis will teach you the tools and techniques used by professional analysts. With this book as your guide, you'll be able to safely analyze, debug, and disassemble any malicious software that comes your way.You'll learn how to:Set up a safe virtual environment to analyze malware Quickly extract network signatures and host-based indicators Use key analysis tools like IDA Pro, OllyDbg, and WinDbg Overcome malware tricks like obfuscation, anti-disassembly, anti-debugging, and anti-virtual machine techniques Use your newfound knowledge of Windows internals for malware analysis Develop a methodology for unpacking malware and get practical experience with five of the most popular packers Analyze special cases of malware with shellcode, C++, and 64-bit code Hands-on labs throughout the book challenge you to practice and synthesize your skills as you dissect real malware samples, and pages of detailed dissections offer an over-the-shoulder look at how the pros do it. You'll learn how to crack open malware to see how it really works, determine what damage it has done, thoroughly clean your network, and ensure that the malware never comes back.Malware analysis is a cat-and-mouse game with rules that are constantly changing, so make sure you have the fundamentals. Whether you're tasked with securing one network or a thousand networks, or you're making a living as a malware analyst, you'll find what you need to succeed in Practical Malware Analysis.

The Robert C. Martin Clean Code Collection (Collection)


Robert C. Martin - 2011
    Martin Clean Code Collection consists of two bestselling eBooks:Clean Code: A Handbook of Agile Software Craftmanship The Clean Coder: A Code of Conduct for Professional Programmers In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code "on the fly" into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what's right about that code and what's wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft. In The Clean Coder, Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice--about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers of this collection will come away understandingHow to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"--and how to say it When to say "Yes"--and what yes really means

The Art of Computer Programming, Volumes 1-4a Boxed Set


Donald Ervin Knuth - 2011
    Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. "I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.""--"Charles Long Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem. "If you think you're a really good programmer... read Knuth's] "Art of Computer Programming.".. You should definitely send me a resume if you can read the whole thing.""--"Bill Gates Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library. "It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.""--"Jonathan LaventholIn describing the new fourth volume, one reviewer listed the qualities that distinguish all of Knuth's work. In sum: ] "detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form."--Frank RuskeyThese four books comprise what easily could be the most important set of information on any serious programmer's bookshelf.

Python for Data Analysis


Wes McKinney - 2011
    It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples

SQL Performance Explained


Markus Winand - 2011
    The focus is on SQL-it covers all major SQL databases without getting lost in the details of any one specific product. Starting with the basics of indexing and the WHERE clause, SQL Performance Explained guides developers through all parts of an SQL statement and explains the pitfalls of object-relational mapping (ORM) tools like Hibernate. Topics covered include: Using multi-column indexes; Correctly applying SQL functions; Efficient use of LIKE queries; Optimizing join operations; Clustering data to improve performance; Pipelined execution of ORDER BY and GROUP BY; Getting the best performance for pagination queries; Understanding the scalability of databases. Its systematic structure makes SQL Performance Explained both a textbook and a reference manual that should be on every developer's bookshelf.

Mining of Massive Datasets


Anand Rajaraman - 2011
    This book focuses on practical algorithms that have been used to solve key problems in data mining and which can be used on even the largest datasets. It begins with a discussion of the map-reduce framework, an important tool for parallelizing algorithms automatically. The authors explain the tricks of locality-sensitive hashing and stream processing algorithms for mining data that arrives too fast for exhaustive processing. The PageRank idea and related tricks for organizing the Web are covered next. Other chapters cover the problems of finding frequent itemsets and clustering. The final chapters cover two applications: recommendation systems and Web advertising, each vital in e-commerce. Written by two authorities in database and Web technologies, this book is essential reading for students and practitioners alike.

Objective-C Programming: The Big Nerd Ranch Guide


Aaron Hillegass - 2011
    This is a hands-on guide to mastering Objective C - the language every MAC OS X and iPhone/iPod Touch developer needs to know.

The Nature of Computation


Cristopher Moore - 2011
    But this beauty is often buried underneath layers of unnecessary formalism, and exciting recent results like interactive proofs, cryptography, and quantum computing are usually considered too "advanced" to show to the typical student. The aim of this book is to bridge both gaps by explaining the deep ideas of theoretical computer science in a clear and enjoyable fashion, making them accessible to non computer scientists and to computer scientists who finally want to understand what their formalisms are actually telling.This book gives a lucid and playful explanation of the field, starting with P and NP-completeness. The authors explain why the P vs. NP problem is so fundamental, and why it is so hard to resolve. They then lead the reader through the complexity of mazes and games; optimization in theory and practice; randomized algorithms, interactive proofs, and pseudorandomness; Markov chains and phase transitions; and the outer reaches of quantum computing.At every turn, they use a minimum of formalism, providing explanations that are both deep and accessible. The book is intended for graduates and undergraduates, scientists from other areas who have long wanted to understand this subject, and experts who want to fall in love with this field all over again.To request a copy of the Solutions Manual, visit: http: //global.oup.com/uk/academic/physics/ad...

Head First Android Development


Jonathan Simon - 2011
    Where to begin? Head First Android Development will help you get your first application up and running in no time with the Android SDK and Eclipse plug-in. You'll learn how to design for devices with a variety of different screen sizes and resolutions, along with mastering core programming and design principles that will make your app stand out.Whether you're a seasoned iPhone developer who wants to jump into the the Android Market, or someone with previous programming skills but no mobile apps in your resume, this book offers a complete learning experience for creating eye-catching, top-selling Android applications.You'll learn how to:Install the Android SDK and Eclipse plug-in and get started building appsAdd buttons, edit text fields, and build your own navigation options in the Android menuCustomize the look of your app with theming and adding image resourcesUse Android's content provider mechanism to add images and contact information to an app, and establish permissions for their useWork with the Android devices' camera, GPS, and accelerometerExperiment with different Android emulator configurations to simulate different devices with a variety of screen sizesOptimize, test, and distribute your application in the Android MarketWe think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Android Development uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Data Structures and Algorithms Made Easy


Narasimha Karumanchi - 2011
    Peeling Data Structures and Algorithms for (C/C++ version): * Programming puzzles for interviews * Campus Preparation * Degree/Masters Course Preparation * Instructor's * GATE Preparation * Big job hunters: Microsoft, Google, Amazon, Yahoo, Flip Kart, Adobe, IBM Labs, Citrix, Mentor Graphics, NetApp, Oracle, Webaroo, De-Shaw, Success Factors, Face book, McAfee and many more * Reference Manual for working people

Head First C


David Griffiths - 2011
    With a unique method that goes beyond syntax and how-to manuals, this guide not only teaches you the language, it helps you understand how to be a great programmer. You'll learn key areas such as language basics, pointers and pointer arithmetic, and dynamic memory management. Advanced topics include multi-threading and network programming—topics typically covered on a college-level course.This book also features labs: in-depth projects intended to stretch your abilities, test your new skills, and build confidence. Head First C mimics the style of college-level C courses, making it ideal as an accessible textbook for students.We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First C uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1


Donald Ervin Knuth - 2011
    The first three volumes of this work have long comprised a unique and invaluable resource in programming theory and practice. Scientists have marveled at the beauty and elegance of Knuth's analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. The level of these first three volumes has remained so high, and they have displayed so wide and deep a familiarity with the art of computer programming, that a sufficient "review" of future volumes could almost be: "Knuth, Volume n has been published." -Data Processing Digest Knuth, Volume n has been published, where n = 4A. In this long-awaited new volume, the old master turns his attention to some of his favorite topics in broadword computation and combinatorial generation (exhaustively listing fundamental combinatorial objects, such as permutations, partitions, and trees), as well as his more recent interests, such as binary decision diagrams. The hallmark qualities that distinguish his previous volumes are manifest here anew: detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form. There is an amazing amount of information on each page. Knuth has obviously thought long and hard about which topics and results are most central and important, and then, what are the most intuitive and succinct ways of presenting that material. Since the areas that he covers in this volume have exploded since he first envisioned writing about them, it is wonderful how he has managed to provide such thorough treatment in so few pages. -Frank Ruskey, Department of Computer Science, University of Victoria The book is Volume 4A, because Volume 4 has itself become a multivolume undertaking. Combinatorial searching is a rich and important topic, and Knuth has too much to say about it that is new, interesting, and useful to fit into a single volume, or two, or maybe even three. This book alone includes approximately 1500 exercises, with answers for self-study, plus hundreds of useful facts that cannot be found in any other publication. Volume 4A surely belongs beside the first three volumes of this classic work in every serious programmer's library. Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP), http: //msp.org The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e ISBN: 0321751043

Fundamentals of Computer Programming with C# (The Bulgarian C# Book)


Svetlin Nakov - 2011
    It comes with free video lessons, presentations, exercises and solutions.This free programming tutorial starts with the first steps in programming and software development like variables, data types, conditional statements, loops and arrays and continues with other basic topics like methods, numeral systems, strings and string processing, exceptions, classes and objects.After the basics this free fundamental programming book enters into more advanced programming topics like recursion, data structures (lists, trees, hash-tables and graphs), high-quality code, unit testing and refactoring, object-oriented principles (inheritance, abstraction, encapsulation and polymorphism) and their implementation in the C# language. It also covers fundamental topics that each good developer should know like algorithm design, complexity of algorithms and problem solving.This free programming book uses C# language and Visual Studio to illustrate the programming concepts and explains some C# / .NET specific technologies like lambda expressions, extension methods and LINQ. This free programming C# book is written by a team of developers lead by Svetlin Nakov (http://www.nakov.com) who has 20+ years practical software development experience and 10+ years as software development trainer.This free book on fundamentals of programming teaches the major programming concepts and way of thinking needed to become a good software engineer and the C# language in the meantime. It is a great start for anyone who wants to become a skillful software engineer. The books does not teach technologies like databases, mobile and web development, but shows the true way to master the basics of programming regardless of the languages, technologies and tools. It is good for beginners and intermediate developers who want to put a solid base for a successful career in the software engineering industry. The book is accompanied by 27 free video lessons on C# programming (42 hours), presentation slides (27 PPTX presentations) and mind maps, as well as hundreds of exercises with solutions and live examples.Table of contentsPrefaceChapter 1. Introduction to ProgrammingChapter 2. Primitive Types and VariablesChapter 3. Operators and ExpressionsChapter 4. Console Input and OutputChapter 5. Conditional StatementsChapter 6. LoopsChapter 7. ArraysChapter 8. Numeral SystemsChapter 9. MethodsChapter 10. RecursionChapter 11. Creating and Using ObjectsChapter 12. Exception HandlingChapter 13. Strings and Text ProcessingChapter 14. Defining ClassesChapter 15. Text FilesChapter 16. Linear Data StructuresChapter 17. Trees and GraphsChapter 18. Dictionaries, Hash-Tables and SetsChapter 19. Data Structures and Algorithm ComplexityChapter 20. Object-Oriented Programming PrinciplesChapter 21. High-Quality Programming CodeChapter 22. Lambda Expressions and LINQChapter 23. Methodology of Problem SolvingChapter 24. Sample Programming Exam – Topic #1Chapter 25. Sample Programming Exam – Topic #2Chapter 26. Sample Programming Exam – Topic #3ConclusionTags: free, programming, book, computer programming, programming fundamentals, ebook, book programming, C#, CSharp, C# book, tutorial, C# tutorial; programming concepts, programming fundamentals, compiler, Visual Studio, .NET, .NET Framework, data types, variables, expressions, statements, console, conditional statements, control-flow logic, loops, arrays, numeral systems, methods, strings, text processing, StringBuilder, exceptions, exception handling, stack trace, streams, files, text files, linear data structures, list, linked list, stack, queue, tree, balanced tree, graph, depth-first search, DFS, breadth-first search, BFS, dictionaries, hash tables, associative arrays, sets, algorithms, sorting algorithm, searching algorithms, recursion, combinatorial algorithms, algorithm complexity, OOP, object-oriented programming, classes, objects, constructors, fields, properties, static members, abstraction, interfaces, encapsulation, inheritance, virtual methods, polymorphism, cohesion, coupling, enumerations, generics, namespaces, UML, design patterns, extension methods, anonymous types, lambda expressions, LINQ, code quality, high-quality code, high-quality classes, high-quality methods, code formatting, self-documenting code, code refactoring, problem solving, problem solving methodology, 9789544007737, 9544007733Download the free C# programming book, videos, presentations and other resources from http://introprogramming.info.

Making Embedded Systems: Design Patterns for Great Software


Elecia White - 2011
    This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.Optimize your system to reduce cost and increase performanceDevelop an architecture that makes your software robust in resource-constrained environmentsExplore sensors, motors, and other I/O devicesDo more with less: reduce RAM consumption, code space, processor cycles, and power consumptionLearn how to update embedded code directly in the processorDiscover how to implement complex mathematics on small processorsUnderstand what interviewers look for when you apply for an embedded systems job"Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations." —Jack Ganssle, author and embedded system expert.

Software Foundations


Benjamin C. Pierce - 2011
    No specific background in logic or programming languages is assumed, though a degree of mathematical maturity is helpful. A one-semester course can expect to cover Logical Foundations plus most of Programming Language Foundations or Verified Functional Algorithms, or selections from both.

Beej's Guide to Network Programming


Brian Hall - 2011
    Starting from the ground up, it provides complete examples of simple clients and servers supporting both IPv6 and IPv4.Once you get through the tutorial section of the book, Part Two contains a handy-dandy reference section which helps prevent the book from becoming simple dead weight on your shelf once you've devoured it.The book focuses on the C programming language in Unix-like environments, but Windows users can still glean relevant information from its pages. Also, once you understand socket programming in C, you'll much more easily understand it in many other languages as well.

Mastering Vmware Vsphere 5


Scott Lowe - 2011
    You'll learn how to install, configure, operate, manage, and secure the latest release.Covers all the new features and capabilities of the much-anticipated new release of VMware vSphere Discusses the planning, installation, operation, and management for the latest release Reviews migration to the latest vSphere software Offers hands-on instruction and clear explanations with real-world examples Mastering VMware vSphere is the strategic guide you need to maximize the opportunities of virtualization.

The Python Standard Library by Example


Doug Hellmann - 2011
     The Python Standard Library by Example (2 Volume Set) introduces virtually every important area of the Python 2.7 library through concise, stand-alone source code/output examples, designed for easy learning and reuse. Building on his popular Python Module of the Week blog series, author and Python expert Doug Hellmann focuses on "showing" not "telling." He explains code behavior through downloadable examples that fully demonstrate each feature. You'll find practical code for working with text, data types, algorithms, math, file systems, networking, the Internet, XML, email, cryptography, concurrency, runtime and language services, and much more. Each section fully covers one module, and links to valuable additional resources, making this book an ideal tutorial and reference. Coverage includes Manipulating text with string, textwrap, re, and difflibImplementing data structures: collections, array, queue, struct, copy, and moreReading, writing, and manipulating files and directoriesRegular expression pattern matchingExchanging data and providing for persistence Archiving and data compressionManaging processes and threadsUsing application "building blocks" parsing command-line options, prompting for passwords, scheduling events, and loggingTesting, debugging, and compilationControlling runtime configurationUsing module and package utilities If you're new to Python, this book will quickly give you access to a whole new world of functionality. If you've worked with Python before, you'll discover new, powerful solutions and better ways to use the modules you've already tried.

Under the Hood of .NET Memory Management


Chris Farrell - 2011
    Once you're up to speed, you can dive into the guided troubleshooting tour, and tips for engineering your application to maximise performance. And to finish off, take a look at some more sophisticated considerations, and even a peek inside the Windows memory model.

Embedded Android: Porting, Extending, and Customizing


Karim Yaghmour - 2011
    You'll also receive updates when significant changes are made, as well as the final ebook version. Embedded Android is for Developers wanting to create embedded systems based on Android and for those wanting to port Android to new hardware, or creating a custom development environment. Hackers and moders will also find this an indispensible guide to how Android works.

D is for Digital: What a well-informed person should know about computers and communications


Brian W. Kernighan - 2011
    

Algorithmic Puzzles


Anany V. Levitin - 2011
    This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with major corporations to show readers how to apply analytical thinking to solve puzzles requiring well-defined procedures.The book's unique collection of puzzles is supplemented with carefully developed tutorials on algorithm design strategies and analysis techniques intended to walk the reader step-by-step through the various approaches to algorithmic problem solving. Mastery of these strategies--exhaustive search, backtracking, and divide-and-conquer, among others--will aid the reader in solving not only the puzzles contained in this book, but also others encountered in interviews, puzzle collections, and throughout everyday life. Each of the 150 puzzles contains hints and solutions, along with commentary onthe puzzle's origins and solution methods. The only book of its kind, Algorithmic Puzzles houses puzzles for all skill levels. Readers with only middle school mathematics will develop their algorithmic problem-solving skills through puzzles at the elementary level, while seasoned puzzle solvers will enjoy the challenge of thinking throughmore difficult puzzles.

Introduction to Reliable and Secure Distributed Programming


Christian Cachin - 2011
    It includes algorithms to implement these abstractions in vulnerable distributed systems.

Introduction to Computer Science


ITL Education Solutions Limited - 2011
    Few of the newly added topics are: blue-ray disk, USB drive, virtual reality etc. Inclusion of large number of practice question makes the book very useful for students.

Competitive Programming 2


Steven Halim - 2011
    

Is Parallel Programming Hard, And, If So, What Can You Do About It?


Paul McKenney - 2011
    By describing the algorithms and designs that have worked well in the past, we hope to help you avoid at least some of the pitfalls that have beset parallel projects. But you should think of this book as a foundation on which to build, rather than as a completed cathedral. You mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming, progress that should in time render this book obsolete. Parallel programming is not as hard as it is reputed, and it is hoped that this book makes it even easier for you.

Working with UNIX Processes


Jesse Storimer - 2011
    Want to impress your coworkers and write the fastest, most efficient, stable code you ever have? Don't reinvent the wheel. Reuse decades of research into battle-tested, highly optimized, and proven techniques available on any Unix system.This book will teach you what you need to know so that you can write your own servers, debug your entire stack when things go awry, and understand how things are working under the hood.http://www.jstorimer.com/products/wor...

The Cambridge Handbook of Artificial Intelligence


Keith Frankish - 2011
    It is a critical branch of cognitive science, and its influence is increasingly being felt in other areas, including the humanities. AI applications are transforming the way we interact with each other and with our environment, and work in artificially modeling intelligence is offering new insights into the human mind and revealing new forms mentality can take. This volume of original essays presents the state of the art in AI, surveying the foundations of the discipline, major theories of mental architecture, the principal areas of research, and extensions of AI such as artificial life. With a focus on theory rather than technical and applied issues, the volume will be valuable not only to people working in AI, but also to those in other disciplines wanting an authoritative and up-to-date introduction to the field.

Murach's ASP.Net 4 Web Programming with C# 2010


Anne Boehm - 2011
    To make it easier for you to master ASP.NET, you get complete web applications ...including the web forms, the aspx code, and the C# code ...that show you how each feature works in context. (You can download these for free from the Murach web site.)You get chapter exercises that let you practice your new skills. And you get Murach's distinctive paired-pages format that developers like because it saves both training and reference time.

Metasploit: The Penetration Tester's Guide


David Kennedy - 2011
    But while Metasploit is used by security professionals everywhere, the tool can be hard to grasp for first-time users. Metasploit: The Penetration Tester's Guide fills this gap by teaching you how to harness the Framework and interact with the vibrant community of Metasploit contributors.Once you've built your foundation for penetration testing, you'll learn the Framework's conventions, interfaces, and module system as you launch simulated attacks. You'll move on to advanced penetration testing techniques, including network reconnaissance and enumeration, client-side attacks, wireless attacks, and targeted social-engineering attacks.Learn how to:Find and exploit unmaintained, misconfigured, and unpatched systems Perform reconnaissance and find valuable information about your target Bypass anti-virus technologies and circumvent security controls Integrate Nmap, NeXpose, and Nessus with Metasploit to automate discovery Use the Meterpreter shell to launch further attacks from inside the network Harness standalone Metasploit utilities, third-party tools, and plug-ins Learn how to write your own Meterpreter post exploitation modules and scripts You'll even touch on exploit discovery for zero-day research, write a fuzzer, port existing exploits into the Framework, and learn how to cover your tracks. Whether your goal is to secure your own networks or to put someone else's to the test, Metasploit: The Penetration Tester's Guide will take you there and beyond.

How to Build a Computer (For Beginners)


John Gower III - 2011
    Also it teaches you on how to budget your self on computer part buying. It also has step by step instructions on how to build it from scratch. It can help you save money, have fun and give you knowledge.

Discrete and Computational Geometry


Satyan L. Devadoss - 2011
    Their intermingling has yielded exciting advances in recent years, yet what has been lacking until now is an undergraduate textbook that bridges the gap between the two. Discrete and Computational Geometry offers a comprehensive yet accessible introduction to this cutting-edge frontier of mathematics and computer science.This book covers traditional topics such as convex hulls, triangulations, and Voronoi diagrams, as well as more recent subjects like pseudotriangulations, curve reconstruction, and locked chains. It also touches on more advanced material, including Dehn invariants, associahedra, quasigeodesics, Morse theory, and the recent resolution of the Poincar� conjecture. Connections to real-world applications are made throughout, and algorithms are presented independently of any programming language. This richly illustrated textbook also features numerous exercises and unsolved problems.The essential introduction to discrete and computational geometryCovers traditional topics as well as new and advanced materialFeatures numerous full-color illustrations, exercises, and unsolved problemsSuitable for sophomores in mathematics, computer science, engineering, or physicsRigorous but accessibleAn online solutions manual is available (for teachers only).

Operating Systems


Rohit Khurana - 2011
    With the changing technology, there is the urgent need of revise the curriculum to suit the knowledge and learning needs of budding computer computer engineers. With this approach, the author has come up with Operating Systems, a textbook to guide IV semester BE/BTech/BCA/BSc/BIT students in comprehending the concepts of virtual memory and memory management, program execution and modes, multitasking and real-time OS, networking and security, and applying them to build upgraded OS for better, more efficient computers. Keeping all types of readers in mind, Operating Systems has been written in a self-explanatory manner to facilitate comprehension and internalization of key concepts. With an exhaustive cache of solved examples, relevant illustrations and unsolved problem sets, this book serves as great reference material for upcoming software engineers for course study as well as competitive exams. "CONTENTS1.Introduction to Operating Systems, 2.Processes, 3.Threads, 4.CPU Scheduling, 5.Process Synchronization, 6.Deadlock, 7.Memory Management, 8.Virtual Memory, 9.File System Interface, 10.File System Implementation, 11.I/O Systems, 12.Mass-Storage StructureAbout The AuthorRohit Khurana is the Founder and CEO of ITL Education Solutions Limited (ITLESL) and has authored of more than thirty five best-selling textbooks. ITLESL is a part of the ITL group with operations all over the world with a significant presence in education and IT-enabled services. It specialized in handling educational projects in IT domains with a dedicated R&D wing of industry experts that helps in designing and developing content.

Intel® 64 and IA-32 Architectures Software Developer's Manuals, Volume 1: Basic Architecture


Intel - 2011
    This volume describes the architecture and programming environment of processors supporting IA-32 and Intel® 64 Architectures.

A Primer On Memory Consistency And Cache Coherence (Synthesis Lectures On Computer Architecture)


Daniel J. Sorin - 2011
    In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its memory system. Consistency definitions provide rules about loads and stores (or memory reads and writes) and how they act upon memory. As part of supporting a memory consistency model, many machines also provide cache coherence protocols that ensure that multiple cached copies of data are kept up-to-date. The goal of this primer is to provide readers with a basic understanding of consistency and coherence. This understanding includes both the issues that must be solved as well as a variety of solutions. We present both highlevel concepts as well as specific, concrete examples from real-world systems.

Brain-Computer Interfaces: Principles and Practice


Jonathan Wolpaw - 2011
    This emergence has sprung from a variety of factors. For one, inexpensive computer hardware and software is now available and can support the complex high-speedanalyses of brain activity that is essential is BCI. Another factor is the greater understanding of the central nervous system including the abundance of new information on the nature and functional correlates of brain signals and improved methods for recording these signals in both the short-termand long-term. And the third, and perhaps most significant factor, is the new recognition of the needs and abilities of people disabled by disorders such as cerebral palsy, spinal cord injury, stroke, amyotrophic lateral sclerosis (ALS), multiple sclerosis, and muscular dystrophies. The severelydisabled are now able to live for many years and even those with severely limited voluntary muscle control can now be given the most basic means of communication and control because of the recent advances in the technology, research, and applications of BCI. This book is intended to provide anintroduction to and summary of essentially all major aspects of BCI research and development. Its goal is to be a comprehensive, balanced, and coordinated presentation of the field's key principles, current practice, and future prospects.

Advanced Bash-Scripting Guide 5.0


Mendel Cooper - 2011
    It assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction. The exercises and heavily-commented examples invite active reader participation. Still, it is a work in progress. The intention is to add much supplementary material in future updates to this document, as it evolves into a comprehensive book that matches or surpasses any of the shell scripting manuals in print.

Introduction to Computing: Explorations in Language, Logic, and Machines


David Evans - 2011
    This book introduces the most important ideas in computing using the Scheme and Python programming languages. It focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically.

HTML5 in easy steps


Mike McGrath - 2011
    Modern web browsers have united to support exciting new features of the HTML5 standard that allows easy creation of stunning web pages and engaging interactive applications.HTML5 in easy steps contains examples and screenshots that illustrate each feature of HTML5, describing how to incorporate meta information about a document within its 'head' section and how to add structured 'body' content. You'll learn how to create web pages to display text, images, lists, tables, hyperlinks, forms, audio, and video - and also how to write script instructions that draw and animate graphics on embedded 'canvas' areas. Each chapter builds your knowledge so by the end of the book you'll have gained a sound understanding of HTML5.HTML5 in easy steps has an easy-to-follow style that will appeal to anyone looking to create compelling web pages for the latest browsers. Ideal for programmers who need to quickly learn the latest HTML5 techniques,

Treatise on Intuitionistic Type Theory


Johan Georg Granstrom - 2011
    This book expounds several aspects of intuitionistic type theory, such as the notion of set, reference vs. computation, assumption, and substitution. Moreover, the book includes philosophically relevant sections on the principle of compositionality, lingua characteristica, epistemology, propositional logic, intuitionism, and the law of excluded middle. Ample historical references are given throughout the book.

Milestones of Science and Technology: Making the Modern World


Peter Morris - 2011
    Inventions like these not only changed the course of history, but also our understanding of what the human race could achieve. Since its publication in 1990, Making the Modern World has served as an exquisitely illustrated guide to this remarkable history of human innovation. The second edition of Making the Modern World takes its readers up to the present day, with insightful discussions of the new technologies we already take for granted—from IVF to the Internet.   Organized chronologically, the book begins with a look at the navigational tools that mapped the New World, such as the octant and the chronometer, before moving on to the steam-powered factory machines of the Industrial Revolution, the life-saving medicines of World War’s I and II, and the dynamically designed consumer goods of the 1950s and 60s. An essay about each invention is written by an expert in the field and includes a short history of its creation, use, and significance—and is accompanied by a specially commissioned color photograph as well as supplementary archive photographs in black and white. Edited by Andrew Nahum, curator of technology at London’s Science Museum, Making the Modern World will be fascinating reading for anyone interested in new developments in science and technology. Its colorful images and concise descriptive text, moreover, make this second edition an unrivaled reference for the budding engineers and scientists among us.

Data Mining with Rattle and R: The Art of Excavating Data for Knowledge Discovery


Graham J. Williams - 2011
    With a focus on the hands-on, end-to-end process for data mining, this book guides the reader through various capabilities of the easy-to-use, free and open source Rattle Data Mining Software built on the sophisticated R Statistical Software.

The Design of Approximation Algorithms


David P. Williamson - 2011
    Yet most such problems are NP-hard. Thus unless P = NP, there are no efficient algorithms to find optimal solutions to such problems. This book shows how to design approximation algorithms: efficient algorithms that find provably near-optimal solutions. The book is organized around central algorithmic techniques for designing approximation algorithms, including greedy and local search algorithms, dynamic programming, linear and semidefinite programming, and randomization. Each chapter in the first part of the book is devoted to a single algorithmic technique, which is then applied to several different problems. The second part revisits the techniques but offers more sophisticated treatments of them. The book also covers methods for proving that optimization problems are hard to approximate. Designed as a textbook for graduate-level algorithms courses, the book will also serve as a reference for researchers interested in the heuristic solution of discrete optimization problems.

VMware vSphere 5 Administration Instant Reference


Christopher Kusek - 2011
    If you're new to VMware vSphere, this book is for you too! The compact size of this quick reference makes it easy for you to have by your side--whether you're in the field, server room, or at your desk. Helpful elements for finding information such as thumb tabs, tables of contents with page numbers at the beginning of each chapter, and special headers puts what you need at your fingertips, fast.No matter your skill level, this book's focus on essential day-to-day tasks for administering vSphere make it a handy reference for anyone.Covers the highly anticipated release of VMware vSphere Allows you to hit the ground running with the latest VMware vSphere software Provides you answers on the spot with concise, no-nonsense instruction Designed for busy IT professionals, this instant reference is the perfect go-to resource.

Comptia Security+: Get Certified Get Ahead: Sy0-301 Study Guide


Darril Gibson - 2011
    The SY0-301 version covers every aspect of the SY0-301 exam, and includes the same elements readers raved about in the previous version. Each of the eleven chapters presents topics in an easy to understand manner and includes real-world examples of security principles in action. The author uses many of the same analogies and explanations he's honed in the classroom that have helped hundreds of students master the Security+ content. You'll understand the important and relevant security topics for the Security+ exam, without being overloaded with unnecessary details. Additionally, each chapter includes a comprehensive review section to help you focus on what's important. Over 450 realistic practice test questions with in-depth explanations will help you test your comprehension and readiness for the exam. The book includes a 100 question pre-test, a 100 question post-test, and practice test questions at the end of every chapter. Each practice test question includes a detailed explanation to help you understand the content and the reasoning behind the question. You'll be ready to take and pass the exam the first time you take it. If you plan to pursue any of the advanced security certifications, this guide will also help you lay a solid foundation of security knowledge. Learn this material, and you'll be a step ahead for other exams. This SY0-301 study guide is for any IT or security professional interested in advancing in their field, and a must read for anyone striving to master the basics of IT systems security. The author supplements the book with blog posts here: http: //blogs.getcertifiedgetahead.com/. This page provides a full listing of mobile device apps from the author: http: //learnzapp.com/partners/darrilgibson/

Linguistic Structure Prediction


Noah A. Smith - 2011
    We consider statistical, computational approaches to modeling linguistic structure. We seek to unify across many approaches and many kinds of linguistic structures. Assuming a basic understanding of natural language processing and/or machine learning, we seek to bridge the gap between the two fields. Approaches to decoding (i.e., carrying out linguistic structure prediction) and supervised and unsupervised learning of models that predict discrete structures as outputs are the focus. We also survey natural language processing problems to which these methods are being applied, and we address related topics in probabilistic inference, optimization, and experimental methodology. Table of Contents: Representations and Linguistic Data / Decoding: Making Predictions / Learning Structure from Annotated Data / Learning Structure from Incomplete Data / Beyond Decoding: Inference

Compiler Construction Using Java, Javacc, and Yacc


Anthony J. Dos Reis - 2011
    Today, a renewed focus on do-it-yourself programming makes a quality textbook on compilers, that both students and instructors will enjoy using, of even more vital importance. This book covers every topic essential to learning compilers from the ground up and is accompanied by a powerful and flexible software package for evaluating projects, as well as several tutorials, well-defined projects, and test cases.

Graph Algorithms in the Language of Linear Algebra


Jeremy Kepner - 2011
    To improve the computational performance of graph algorithms, researchers have proposed a shift to a parallel computing paradigm. This book addresses the challenges of implementing parallel graph algorithms by exploiting the well-known duality between a canonical representation of graphs as abstract collections of vertices and edges and a sparse adjacency matrix representation. This linear algebraic approach is widely accessible to scientists and engineers who may not be formally trained in computer science. The authors show how to leverage existing parallel matrix computation techniques and the large amount of software infrastructure that exists for these computations to implement efficient and scalable parallel graph algorithms. The benefits of this approach are reduced algorithmic complexity, ease of implementation and improved performance.

Data Structures and the Java Collections Framework


William J. Collins - 2011
    This allows them to learn through coding rather than by doing proofs. 23 lab projects and hundreds of programming examples are integrated throughout the pages to build their intuition. The approach this book takes helps programmers quickly learn the concepts that underlie data structures.

Artificial Intelligence in the 21st Century


Danny Kopec - 2011
    This text provides a comprehensive, colorful, up to date, and accessible presentation of AI without sacrificing theoretical foundations. It includes numerous examples, applications, full color images, and human interest boxes to enhance student learning. Advanced topics cover neural nets, genetic algorithms, and complex board games. A companion DVD is included with resources, simulations, and figures from the book. Numerous instructors resources are available upon adoption."

Graph-Based Natural Language Processing and Information Retrieval


Rada Mihalcea - 2011
    Traditionally, these areas have been perceived as distinct, with different algorithms, different applications, and different potential end-users. However, recent research has shown that these disciplines are intimately connected, with a large variety of natural language processing and information retrieval applications finding efficient solutions within graph-theoretical frameworks. This book extensively covers the use of graph-based algorithms for natural language processing and information retrieval. It brings together topics as diverse as lexical semantics, text summarization, text mining, ontology construction, text classification, and information retrieval, which are connected by the common underlying theme of the use of graph-theoretical methods for text and information processing tasks. Readers will come away with a firm understanding of the major methods and applications in natural language processing and information retrieval that rely on graph-based representations and algorithms.

Pro Spring Batch


Michael T. Minella - 2011
    Spring Batch, one of its newer additions, now brings the same familiar Spring idioms to batch processing. Spring Batch addresses the needs of any batch process, from the complex calculations performed in the biggest financial institutions to simple data migrations that occur with many software development projects.Pro Spring Batch is intended to answer three questions:What? What is batch processing? What does it entail? What makes it different from the other applications we are developing? What are the challenges inherent in the development of a batch process?Why? Why do batch processing? Why can't we just process things as we get them? Why do we do batch processing differently than the web applications that we currently work on?How? How to implement a robust, scalable, distributed batch processing system using open-source frameworks Pro Spring Batch gives concrete examples of how each piece of functionality is used and why it would be used in a real-world application. This includes providing tips that the "school of hard knocks" has taught author Michael Minella during his experience with Spring Batch. Pro Spring Batch includes examples of I/O options that are not mentioned in the official user's guide, as well as performance tips on things like how to limit the impact of maintaining the state of your jobs.The author also walks you through, from end to end, the design and implementation of a batch process based upon a theoretical real-world example. This includes basic project setup, implementation, testing, tuning and scaling for large volumes.

Pro Web Project Management


Justin Emond - 2011
    This isn't a book about project management theory. Pro Web Project Management tells how to create real deliverables, get answers from indecisive clients, manage wayward programmers, and use checklists to wow clients. This book is made up of real examples, real lessons, real documents, and real tips woven together into a step-by-step walkthrough of a project's life cycle. Pro Web Project Management is written for both the full-time project manager and the aspiring project manager who might have a role that blends client support, web development, and project management. The project budget sweet spot for this book is $50,000 to $500,000. If you manage a project in this space, reading this book will make you a better project manager.Learn how to manage a modern web project with a budget of $50,000 to $500,000 Get actionable tips on dealing with real project management challenges Learn the simple, defined processrefined over the yearsto take simple and complex projects from proposal to successful launch What you'll learn How to run an effective meeting How to write scopes of work that lead to successful projects How to create awesome screen mock-ups and wire frames How to use checklists to ensure successful project launches How to create deliverables like site maps, agendas, technical specifications, and requirements documents How to keep developers on track without micro-managing Who this book is forPro Web Project Management is for project managers, project managers in training, and client sponsors that need real advice, tips, and guidance on small and medium-sized projects. It's an excellent choice for consulting organizations that build web sites and web applications for clients. Table of Contents The ProjectLifecycle The Project Definition & Scope of Work Meetings, Meetings, Meetings Discovery and Requirements Project Schedule & Budgeting Running the Project Technical Specification Development Quality Assurance & Testing Deployment Support and Operations

The Computer Graphics Manual


David Salomon - 2011
    Computer graphics has pervaded our lives to such an extent that sometimes we don t even realize that an image we are watching is artificial. Comprehensive, accessible and engaging, The Computer Graphics Manual presents a broad overview of computer graphics, its history and its pioneers, and the hardware tools it employs. Covering a substantial number of concepts and algorithms, this invaluable text/reference describes the techniques, approaches, and algorithms at the core of this field. Emphasis is placed on practical design and implementation, highlighting how graphics software works, and explaining how current computer graphics can generate and display realistic-looking curves, surfaces, and objects. The use of mathematics is mostly non-rigorous, with the necessary mathematical background introduced in the Appendixes. Topics and features: includes numerous figures, examples and exercises (with solutions) throughout the text; covers the history, basic concepts, and techniques used in computer graphics; discusses the key two- and three-dimensional transformations, in addition to the main types of projections; presents an extensive selection of methods, algorithms, and techniques employed to construct curves and surfaces; examines advanced techniques in computer graphics, with chapters on the nature and properties of light and color, graphics standards and graphics file formats, and fractals; explores the principles of image compression, focusing on orthogonal and subband (wavelet) transforms; describes the important input/output graphics devices, and explains their operations. This practical and expansive reference is an essential resource for professionals in computer science, engineering, and other disciplines involved in the generation and processing of digital images. The manual is also ideal for use as a textbook for graduate and advanced undergraduate courses on computer graphics.

PHP Master


Davey Shafik - 2011
    PHP Master is tailor-made for the PHP developer who's serious about taking their server-side applications to the next level and who wants to really keep ahead of the game by adhering to best practice, employing the most effective object-oriented programming techniques, wrapping projects in layers of security and ensuring their code is doing its job perfectly.Create professional, dynamic applications according to an object-oriented programming blueprint Learn advanced performance evaluation techniques for maximum site efficiency Brush up on the best testing methods to refine your code and keep your applications watertight Protect your site against attacks and vulnerabilities with the latest security systems Plug in to some serious functionality with PHP's APIs and libraries

HTML5 Guidelines for Web Developers


Klaus Förster - 2011
    You ll discover just how much you can do with HTML5 from programming audio/video playback to integrating geographical data into pages and applications. This concise, friendly reference is packed with tips, tricks, and samples for making the most of HTML5 with JavaScript and the DOM. The authors present pure HTML5 examples that are supported by browsers right now, and they share realistic insights into the challenges of leading-edge HTML5 development. All examples are available for download, with links to web resources for new information and specification updates. Topics covered include Browser support: What you can (and can t) do with HTML5 today HTML5 document structure and semantics Intelligent forms, including new input types, elements, and client-side validation The video and audio elements, and scripting media solutions Advanced graphics with Canvas and SVG Geolocation in the browser, including location tracking via Google Maps Web storage, offline web applications, WebSockets, and Web Workers Embedding sematic markup with Microdata and the Microdata DOM API Implementing drag-and-drop with the draggable attribute New global attributes: data-*, hidden, contenteditable, spellcheck, and more If you re a web developer or designer with at least basic knowledge of HTML, JavaScript, and CSS, this book is all you need to masterHTML5 and get to the cutting edge of web development."

Principles of Uncertainty


Joseph B. Kadane - 2011
    Both rigorous and friendly, the book contains:Introductory chapters examining each new concept or assumption Just-in-time mathematics - the presentation of ideas just before they are applied Summary and exercises at the end of each chapter Discussion of maximization of expected utility The basics of Markov Chain Monte Carlo computing techniques Problems involving more than one decision-makerWritten in an appealing, inviting style, and packed with interesting examples, Principles of Uncertainty introduces the most compelling parts of mathematics, computing, and philosophy as they bear on statistics. Although many books present the computation of a variety of statistics and algorithms while barely skimming the philosophical ramifications of subjective probability, this book takes a different tack. By addressing how to think about uncertainty, this book gives readers the intuition and understanding required to choose a particular method for a particular purpose.

Network Information Theory


Abbas El Gamal - 2011
    With an approach that balances the introduction of new models and new coding techniques, readers are guided through Shannon's point-to-point information theory, single-hop networks, multihop networks, and extensions to distributed computing, secrecy, wireless communication, and networking. Elementary mathematical tools and techniques are used throughout, requiring only basic knowledge of probability, whilst unified proofs of coding theorems are based on a few simple lemmas, making the text accessible to newcomers. Key topics covered include successive cancellation and superposition coding, MIMO wireless communication, network coding, and cooperative relaying. Also covered are feedback and interactive communication, capacity approximations and scaling laws, and asynchronous and random access channels. This book is ideal for use in the classroom, for self-study, and as a reference for researchers and engineers in industry and academia.

Machinamenta: The thousand year quest to build a creative machine


Douglas Summers.Stay - 2011
    It begins with the divination systems of prehistoric Africa, which followed mathematical principles to generate unique utterances in response to the questions of petitioners. Tracing the influence of philosophers and artists, inventors and scientists, musicians and mystics, it goes on to explore machines that, before the dawn of the twentieth century, were designed to write poetry, compose new melodies, understand language, prove theorems, and create artwork. It concludes with an examination of the current and future prospects for someday building a machine that can truly be called creative.

Kalman Filter for Beginners: with MATLAB Examples


Phil Kim - 2011
    Experience Kalman filter with hands-on examples to grasp the essence. A book long awaited by anyone who could not dare to put their first step into Kalman filter. The author presents Kalman filter and other useful filters without complicated mathematical derivation and proof but with hands-on examples in MATLAB that will guide you step-by-step. The book starts with recursive filter and basics of Kalman filter, and gradually expands to application for nonlinear systems through extended and unscented Kalman filters. Also, some topics on frequency analysis including complementary filter are covered. Each chapter is balanced with theoretical background for absolute beginners and practical MATLAB examples to experience the principles explained. Once grabbing the book, you will notice it is not fearful but even enjoyable to learn Kalman filter.

Facebook Application Development with Graph API Cookbook


Shashwat Srivastava - 2011
    Each recipe contains step-by-step instructions followed by an analysis of what was done in each task and other useful information. The cookbook approach means you can dive into whatever recipes you want in no particular order. The book provides tips and tricks to the most common problems and scenarios faced in Facebook Application Development. This book is written for Facebook developers ranging from novice to expert. It uses PHP, HTML and jQuery, the most commonly used platforms, to build applications in Facebook.

Foundation Html5 Animation with JavaScript


Billy Lamberta - 2011
    It provides information on all the relevant math you'll need, before moving on to physics concepts like acceleration, velocity, easing, springs, collision detection, conservation of momentum, 3D, and forward and inverse kinematics. Foundation HTML5 Animation with JavaScript is a fantastic resource for all web developers working in HTML5 or switching over from Flash to create standards-compliant games, applications, and animations that will work across all modern browsers and most mobile devices, including iPhones, iPads, and Android devices. You will learn how to utilize the amazing animation and physics-based code originally created by author Keith Peters in his hugely successful Foundation ActionScript Animation in all of your HTML5 applications. In no time at all, you'll understand the concepts behind scripted animation and also have the ability to create all manner of exciting animations and games.

Linked Data: Evolving the Web Into a Global Data Space


Tom Heath - 2011
    As the Web becomes ever more enmeshed with our daily lives, there is a growing desire for direct access to raw data not currently available on the Web or bound up in hypertext documents. LinkedData provides a publishing paradigm in which not only documents, but also data, can be a first class citizen of the Web, thereby enabling the extension of the Web with a global data space based on open standards - the Web of Data. In this Synthesis lecture we provide readers with a detailed technical introduction to LinkedData. We begin by outlining the basic principles of LinkedData, including coverage of relevant aspects of Web architecture. The remainder of the text is based around two main themes - the publication and consumption of LinkedData. Drawing on a practical LinkedData scenario, we provide guidance and best practices on: architectural approaches to publishing LinkedData; choosing URIs and vocabularies to identify and describe resources; deciding what data to return in a description of a resource on the Web; methods and frameworks for automated linking of data sets; and testing and debugging approaches for LinkedData deployments. We give an overview of existing LinkedData applications and then examine the architectures that are used to consume LinkedData from the Web, alongside existing tools and frameworks that enable these. Readers can expect to gain a rich technical understanding of LinkedData fundamentals, as the basis for application development, research or further study.

Microsoft Access 2010 VBA Programming Inside Out


Andrew Couch - 2011
    This supremely organized reference is packed with hundreds of time-saving solutions, troubleshooting tips, and workarounds. It's all muscle and no fluff. Discover how the experts use VBA to exploit the power of Access—and challenge yourself to new levels of mastery!Enhance your application with VBA built-in functions and SQL code Use the Access Object Model to work with data in forms and reports Manipulate data using SQL, queries, and recordsets with Data Access Objects (DAO) Create classes for handling form and control events Connect your Access database to different sources of data Effectively plan how to upsize an existing Access database to Microsoft SQL Server® Dynamically update Microsoft Excel® spreadsheets from the database Migrate your Access database directly to the cloud using SQL Azure™

Principles of Compilers: A New Approach to Compilers Including the Algebraic Method


Yunlin Su - 2011
    The notation is created to list the source language, target languages, and compiler language, vividly illustrating the multilevel procedure of the compilation in the process. The book thoroughly explains the LL(1) and LR(1) parsing methods to help readers to understand the how and why. It not only covers established methods used in the development of compilers, but also introduces an increasingly important alternative the algebraic formal method. This book is intended for undergraduates, graduates and researchers in computer science. Professor Yunlin Su is Head of the Research Center of Information Technology, Universitas Ma Chung, Indonesia and Department of Computer Science, Jinan University, Guangzhou, China. Dr. Song Y. Yan is a Professor of Computer Science and Mathematics at the Institute for Research in Applicable Computing, University of Bedfordshire, UK and Visiting Professor at the Massachusetts Institute of Technology and Harvard University, USA.

Control and Optimization Methods for Electric Smart Grids


Aranya Chakrabortty - 2011
    The contents comprise eighteen essays addressing wide varieties of control-theoretic problems for tomorrow's power grid. Topics covered include control architectures for power system networks with large-scale penetration of renewable energy and plug-in vehicles, optimal demand response, new modeling methods for electricity markets, cyber-security, data analysis and wide-area control using synchronized phasor measurements.

Numerical Methods and Optimization in Finance


Manfred Gilli - 2011
    It covers fundamental numerical analysis and computational techniques, such as option pricing, and gives special attention to simulation and optimization. Many chapters are organized as case studies around portfolio insurance and risk estimation problems. In particular, several chapters explain optimization heuristics and how to use them for portfolio selection and in calibration of estimation and option pricing models. Such practical examples allow readers to learn the steps for solving specific problems and apply these steps to others. At the same time, the applications are relevant enough to make the book a useful reference. Matlab and R sample code is provided in the text and can be downloaded from the book's website.

Computer Structure and Logic


Pearson Certification Team - 2011
    absolutely no experience necessary! Explains every part of your computer and shows how each part works together Teaches simple troubleshooting and repair techniques Packed with real-world examples and case studies Master the basics and build your strong foundation for success! I/O: How information gets into and out of computers Motherboards and buses: How your computer's parts are connected CPU: How your computer's "brain" works--and how to install and troubleshoot it Memory and storage: The types you need and how to install them Bootup: How your computer starts, what can go wrong, and how to fix it Operating systems: The basics of Windows, Mac OS X, and Linux Basic security: Protecting your data, connections, and computer Troubleshooting: The tools and methods every good PC technician must know Networks and the Internet: How they work, how they communicate, and how to connect to them Test your knowledge, gain confidence, and succeed! More than 150 questions, with clear explanations of every answer!

How to Bypass Internet Censorship and Filters: A Guide to Circumvention Technologies and Anonymous Browsing


Ronald J. DeibertRobert Faris - 2011
    You will also learn about the risks that may be linked to the use of such tools, and help you evaluate and mitigate them thanks to encryption or anonymization techniques.

Markov Random Fields for Vision and Image Processing


Andrew Blake - 2011
    These inferences concern underlying image and scene structure as well as solutions to such problems as image reconstruction, image segmentation, 3D vision, and object labeling. It offers key findings and state-of-the-art research on both algorithms and applications.After an introduction to the fundamental concepts used in MRFs, the book reviews some of the main algorithms for performing inference with MRFs; presents successful applications of MRFs, including segmentation, super-resolution, and image restoration, along with a comparison of various optimization methods; discusses advanced algorithmic topics; addresses limitations of the strong locality assumptions in the MRFs discussed in earlier chapters; and showcases applications that use MRFs in more complex ways, as components in bigger systems or with multiterm energy functions. The book will be an essential guide to current research on these powerful mathematical tools.

Riak Handbook


Mathias Meyer - 2011
    It covers everything from access and storing simple data to efficient ways of modelling, querying and analyzing complex datas structures. You'll learn how to work with a distributed database without requiring you to have any previous experience with one. From novice to expert, the Riak Handbook covers everything you could possibly want to know about Riak.

Pervasive Computing And Networking


Mohammad S. Obaidat - 2011
    This book provides a comprehensive guide to selected topics, both ongoing and emerging, in pervasive computing and networking. It contains contributions from high profile researchers and is edited by leading experts in this field. The main topics covered in the book include pervasive computing and systems, pervasive networking security, and pervasive networking and communication. Key Features: * Discusses existing and emerging communications and computing models, design architectures, mobile and pervasive wireless applications, technology and research challenges in pervasive computing systems, networking and communications * Provides detailed discussions of key research challenges and open research issues in the field of autonomic computing and networking * Offers information on existing experimental studies including case studies, implementation test-beds in industry and academia * Includes a set of PowerPoint slides for each chapter for instructors adopting it as a textbook Pervasive Computing and Networking will be an ideal reference for practitioners and researchers working in the areas of communication networking and pervasive computing and networking. It also serves as an excellent textbook for graduate and senior undergraduate courses in computer science, computer engineering, electrical engineering, software engineering, and information engineering and science.

Spectra of Graphs


Andries E. Brouwer - 2011
    The text progresses systematically, by covering standard topics before presenting some new material on trees, strongly regular graphs, two-graphs, association schemes, p-ranks of configurations and similar topics. Exercises at the end of each chapter provide practice and vary from easy yet interesting applications of the treated theory, to little excursions into related topics. Tables, references at the end of the book, an author and subject index enrich the text.Spectra of Graphs is written for researchers, teachers and graduate students interested in graph spectra. The reader is assumed to be familiar with basic linear algebra and eigenvalues, although some more advanced topics in linear algebra, like the Perron-Frobenius theorem and eigenvalue interlacing are included.

After Godel: Platonism and Rationalism in Mathematics and Logic


Richard Tieszen - 2011
    Tieszen structures the argument around Godel's three philosophical heroes - Plato, Leibniz, and Husserl - and his engagement with Kant, and supplements close readings of Godel's texts on foundations with materials from Godel's Nachlass and from Hao Wang's discussions with Godel. As well as providing discussions of Godel's views on the philosophical significance of his technical results on completeness, incompleteness, undecidability, consistency proofs, speed-up theorems, and independence proofs, Tieszen furnishes a detailed analysis of Godel's critique of Hilbert and Carnap, and of his subsequent turn to Husserl's transcendental philosophy in 1959. On this basis, a new type of platonic rationalism that requires rational intuition, called 'constituted platonism', is developed and defended. Tieszen shows how constituted platonism addresses the problem of the objectivity of mathematics and of the knowledge of abstract mathematical objects. Finally, he considers the implications of this position for the claim that human minds ('monads') are machines, and discusses the issues of pragmatic holism and rationalism.

Visual Perception from a Computer Graphics Perspective


William R. Thompson - 2011
    It focuses on how computer graphics images are generated, rather than solely on the organization of the visual system itself; therefore, the text provides a more direct tie between image generation and the resulting perceptual phenomena. It covers such topics as the perception of material properties, illumination, the perception of pictorial space, image statistics, perception and action, and spatial cognition.

An Elementary Introduction to Statistical Learning Theory


Sanjeev Kulkarni - 2011
    Explaining these areas at a level and in a way that is not often found in other books on the topic, the authors present the basic theory behind contemporary machine learning and uniquely utilize its foundations as a framework for philosophical thinking about inductive inference.Promoting the fundamental goal of statistical learning, knowing what is achievable and what is not, this book demonstrates the value of a systematic methodology when used along with the needed techniques for evaluating the performance of a learning system. First, an introduction to machine learning is presented that includes brief discussions of applications such as image recognition, speech recognition, medical diagnostics, and statistical arbitrage. To enhance accessibility, two chapters on relevant aspects of probability theory are provided. Subsequent chapters feature coverage of topics such as the pattern recognition problem, optimal Bayes decision rule, the nearest neighbor rule, kernel rules, neural networks, support vector machines, and boosting.Appendices throughout the book explore the relationship between the discussed material and related topics from mathematics, philosophy, psychology, and statistics, drawing insightful connections between problems in these areas and statistical learning theory. All chapters conclude with a summary section, a set of practice questions, and a reference sections that supplies historical notes and additional resources for further study.An Elementary Introduction to Statistical Learning Theory is an excellent book for courses on statistical learning theory, pattern recognition, and machine learning at the upper-undergraduate and graduate levels. It also serves as an introductory reference for researchers and practitioners in the fields of engineering, computer science, philosophy, and cognitive science that would like to further their knowledge of the topic.

Probability for Statistics and Machine Learning: Fundamentals and Advanced Topics


Anirban DasGupta - 2011
    It contains many worked out examples and exercises.

Unity 3.X Game Development by Example Beginner's Guide


Ryan Henson Creighton - 2011
    It focuses on short, attainable goals so that the reader can finish something, instead of trying to create a complex RPG or open-world game that never sees the light of day. This book encourages readers hungry for knowledge. It does not go into gory detail about how every little knob and dial functions � that's what the software manual is for! Rather, this book is the fastest path from zero to finished game using the Unity game engine. If you've ever wanted to develop games, but have never felt "smart" enough to deal with complex programming, this book is for you. It's also a great kick-start for developers coming from other tools like Flash, Unreal Engine, and Game Maker Pro.