Best of
Programming
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
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.
Learn Windows PowerShell 3 in a Month of Lunches
Don Jones - 2011
Just set aside one hour a day—lunchtime would be perfect—for a month, and you'll be automating Windows tasks faster than you ever thought possible. You'll start with the basics—what is PowerShell and what can you do with it. Then, you'll move systematically through the techniques and features you'll use to make your job easier and your day shorter. This totally revised second edition covers new PowerShell 3 features designed for Windows 8 and Windows Server 2012.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.What's InsideLearn PowerShell from the beginning—no experience required! Covers PowerShell 3, Windows 8, and Windows Server 2012 Each lesson should take you one hour or lessAbout the TechnologyPowerShell is both a language and an administrative shell with which you can control and automate nearly every aspect of Windows. It accepts and executes commands immediately, and you can write scripts to manage most Windows servers like Exchange, IIS, and SharePoint.Experience with Windows administration is helpful. No programming experience is assumed.Table of ContentsBefore you begin Meet PowerShell Using the help system Running commands Working with providers The pipeline: connecting commands Adding commands Objects: data by another name The pipeline, deeper Formatting—and why it's done on the right Filtering and comparisons A practical interlude Remote control: one to one, and one to many Using Windows Management Instrumentation Multitasking with background jobs Working with many objects, one at a time Security alert! Variables: a place to store your stuff Input and output Sessions: remote control with less work You call this scripting? Improving your parameterized script Advanced remoting configuration Using regular expressions to parse text files Additional random tips, tricks, and techniques Using someone else's script Never the end PowerShell cheat sheet
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.
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
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.
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.
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
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.
R in Action
Robert Kabacoff - 2011
The book begins by introducing the R language, including the development environment. Focusing on practical solutions, the book also offers a crash course in practical statistics and covers elegant methods for dealing with messy and incomplete data using features of R.About the TechnologyR is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and utilities. This makes R a great way to get meaningful information from mountains of raw data.About the BookR in Action is a language tutorial focused on practical problems. It presents useful statistics examples and includes elegant methods for handling messy, incomplete, and non-normal data that are difficult to analyze using traditional methods. And statistical analysis is only part of the story. You'll also master R's extensive graphical capabilities for exploring and presenting data visually. 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. What's InsidePractical data analysis, step by stepInterfacing R with other softwareUsing R to visualize dataOver 130 graphsEight reference appendixes================================Table of ContentsPart I Getting startedIntroduction to RCreating a datasetGetting started with graphsBasic data managementAdvanced data managementPart II Basic methodsBasic graphsBasic statisticsPart III Intermediate methodsRegressionAnalysis of variancePower analysisIntermediate graphsRe-sampling statistics and bootstrappingPart IV Advanced methodsGeneralized linear modelsPrincipal components and factor analysisAdvanced methods for missing dataAdvanced graphics
Clojure Programming
Chas Emerick - 2011
This book helps you learn the fundamentals of Clojure with examples relating it to the languages you know already, in the domains and topics you work with every day. See how this JVM language can help eliminate unnecessary complexity from your programming practice and open up new options for solving the most challenging problems. Clojure Programming demonstrates the language's flexibility by showing how it can be used for common tasks like web programming and working with databases, up through more demanding applications that require safe, effective concurrency and parallelism, data and statistical analysis, and more. This in-depth look helps tie together the full Clojure development experience, from how to organize your project and an introduction to Clojure build tooling, to a tutorial on how to make the most of Clojure’s REPL during development, and how to deploy your finished application in a cloud environment.Learn how to use Clojure without losing your investment in the Java platform Understand the advantages of Clojure as an efficient Lisp for the JVM See how Clojure is used today in several practical domains Discover how Clojure eliminates the need for many verbose and complicated design patterns Deploy large web applications across tens or hundreds of cloud nodes with Clojure
Data Structures and Algorithms Made Easy in Java: 700 Data Structure and Algorithmic Puzzles
Narasimha Karumanchi - 2011
Success key books for: 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
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
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.
Professional C++
Marc Gregoire - 2011
With this no-nonsense book, you will learn to conquer the latest release of C++. The author deciphers little-known features of C++, shares detailed code examples that you can then plug into your own code, and reveals the significant changes to C++ that accompany the latest release. You'll discover how to design and build applications that solve real-world problems and then implement the solution using the full capabilities of the language.Appeals to experienced developers who are looking for a higher level of learningDrills down the extensive changes to the latest C++ standard, C++11, including enhancements made to run-time performance, standard library, language usability, and core language Zeroes in on explaining the more poorly understood elements of the C++ feature set and addresses common pitfalls to avoid Includes case studies that feature extensive, working code that has been tested on Windows and Linux platforms Intertwines text with useful tips, tricks, and workarounds Packed with best practices for programming, testing, and debugging applications, this book is vital for taking your C++ skills to the next level.
Oracle Core: Essential Internals for DBAs and Developers
Jonathan Lewis - 2011
However, its extensive feature set is really built upon upon a core infrastructure resulting from sound architectural decisions made very early on that have stood the test of time. This core infrastructure manages transactions and the ability to commit and roll back changes, protects the integrity of the database, enables backup and recovery, and allows for scalability to thousands of users all accessing the same data.Most performance, backup, and recovery problems that database administrators face on a daily basis can easily be identified through understanding the essential core of Oracle Database architecture that Lewis describes in this book. Provides proven content from a world-renowned performance and troubleshooting expert Emphasizes the significance of internals knowledge to rapid identification of database performance problems Covers the core essentials and does not waste your time with esoterica What you?ll learn Oracle's core architectural foundations How much overhead is reasonable How to recognize when you're doing too much work How to predict bottlenecks and why they will happen How to minimise contention and locking Why concurrency can slow things down significantly Who this book is forOracle Core: Essential Internals for DBAs and Developers is aimed at database administrators ready to move beyond the beginning stage of doing work by rote towards the mastery stage, in which knowledge of what needs to be done comes not from a set of recipe-style instructions, but rather from the intimate knowledge and understanding of the system to be managed. Experienced database administrators will also find the book useful in solidifying their knowledge and filling in any missing pieces of the Oracle Database puzzle. Table of Contents Getting Started... Redo and Undo Transactions and Consistency Locks and Latches Caches and Copies Writing and Recovery Parsing and Optimizing RAC and Ruin
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.
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.
The Complete Friday Q&A: Volume I
Mike Ash - 2011
This compilation includes all of the articles posted from December 2008 to August 2010, proofread and organized into a single convenient package. Topics covered include:* Multithreaded programming* Blocks* Grand Central Dispatch* Interprocess communication* Performance profiling and optimization* Objective-C messaging and message forwarding* Defensive programming* Toll free bridging* Runtime code generation* Memory Management* Dynamic creation of Objective-C classes* And much, much more
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.
Professional Wordpress Plugin Development
Brad Williams - 2011
Now you can extend it for personal, corporate and enterprise use with advanced plugins and this professional development guide. Learn how to create plugins using the WordPress plugin API: utilize hooks, store custom settings, craft translation files, secure your plugins, set custom user roles, integrate widgets, work with JavaScript and AJAX, create custom post types. You'll find a practical, solutions-based approach, lots of helpful examples, and plenty of code you can incorporate!Shows you how to develop advanced plugins for the most popular CMS platform today, WordPress Covers plugin fundamentals, how to create and customize hooks, internationalizing your site with translation files, securing plugins, how to create customer users, and ways to lock down specific areas for use in corporate settings Delves into advanced topics, including creating widgets and metaboxes, debugging, using JavaScript and AJAX, Cron integration, custom post types, short codes, multi site functions, and working with the HTTP API Includes pointers on how to debug, profile and optimize your code, and how to market your custom plugin Learn advanced plugin techniques and extend WordPress into the corporate environment.
Practical Rendering and Computation with Direct3D 11
Jason Zink - 2011
While there is a great deal of low-level information available about how each API function should be used, there is little documentation that shows how best to leverage these capabilities. Written by active members of the Direct3D community, Practical Rendering and Computation with Direct3D 11 provides a deep understanding of both the high and low level concepts related to using Direct3D 11.The first part of the book presents a conceptual introduction to Direct3D 11, including an overview of the Direct3D 11 rendering and computation pipelines and how they map to the underlying hardware. It also provides a detailed look at all of the major components of the library, covering resources, pipeline details, and multithreaded rendering. Building upon this material, the second part of the text includes detailed examples of how to use Direct3D 11 in common rendering scenarios. The authors describe sample algorithms in-depth and discuss how the features of Direct3D 11 can be used to your advantage.All of the source code from the book is accessible on an actively maintained open source rendering framework. The sample applications and the framework itself can be downloaded from http: //hieroglyph3.codeplex.comBy analyzing when to use various tools and the tradeoffs between different implementations, this book helps you understand the best way to accomplish a given task and thereby fully leverage the potential capabilities of Direct3D 11.Key FeaturesPresents the high level concepts used to design algorithms Describes the nuts and bolts of how to implement the algorithms Explains each of the major components of the Direct3D 11 library Shows how Direct3D 11 can be used in a variety of real-world situations Provides source code and sample programs on a supplementary website
How to Count (Programming for Mere Mortals, #1)
Steven Frank - 2011
unsigned numbers- Floating point and fixed point arithmeticThis short, easily understood book will quickly get you thinking like a programmer.
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.
SharePoint 2010 Web Parts in Action
Wictor Wilen - 2011
SharePoint 2010 includes dozens of prebuilt Web Parts that you can use. It also provides an API that lets you build custom Web Parts using C# or VB.NET.SharePoint 2010 Web Parts in Actionis a comprehensive guide to deploying, customizing, and creating Web Parts. Countless examples walk you through everything from design, to development, deployment, troubleshooting, and upgrading. Because Web Parts are ASP.NET controls, you'll learn to use Visual Studio 2010 to extend existing Web Parts and to build custom components from scratch. What's InsideUsing and configuring Web PartsWeb Part and portal best practicesCustom use cases, like mobile and international appsWeb Part design patternsThis book is written for application developers working with SharePoint 2010. Knowing Visual Studio 2010 is helpful but not 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.
Dtrace: Dynamic Tracing in Oracle Solaris, Mac OS X and Freebsd
Brendan Gregg - 2011
Using DTrace, you can dynamically instrument software and quickly answer virtually any question about its behavior. Now, for the first time, there's a comprehensive, authoritative guide to making the most of DTrace in any supported UNIX environment--from Oracle Solaris to OpenSolaris, Mac OS X, and FreeBSD. Written by key contributors to the DTrace community, DTrace teaches by example, presenting scores of commands and easy-to-adapt, downloadable D scripts. These concise examples generate answers to real and useful questions, and serve as a starting point for building more complex scripts. Using them, you can start making practical use of DTrace immediately, whether you're an administrator, developer, analyst, architect, or support professional. The authors fully explain the goals, techniques, and output associated with each script or command. Drawing on their extensive experience, they provide strategy suggestions, checklists, and functional diagrams, as well as a chapter of advanced tips and tricks. You'll learn how toWrite effective scripts using DTrace's D language Use DTrace to thoroughly understand system performance Expose functional areas of the operating system, including I/O, filesystems, and protocols Use DTrace in the application and database development process Identify and fix security problems with DTrace Analyze the operating system kernel Integrate DTrace into source code Extend DTrace with other tools This book will help you make the most of DTrace to solve problems more quickly and efficiently, and build systems that work faster and more reliably.
Programming Microsoft ASP.NET 4
Dino Esposito - 2011
Web development expert Dino Esposito provides essential, architectural-level guidance, along with the in-depth technical insights designed to take youOCoand your solutionsOCoto the next level. The book covers Dynamic Data, AJAX, Microsoft Silverlight-, ASP.NET MVC, Web forms, LINQ, and security strategiesOCoand features extensive code samples in Microsoft Visual C#- 2010."
Numerical Ecology with R
Daniel Borcard - 2011
After short theoretical overviews, the authors accompany the users through the exploration of the methods by means of applied and extensively commented examples. Users are invited to use this book as a teaching companion at the computer. The travel starts with exploratory approaches, proceeds with the construction of association matrices, then addresses three families of methods: clustering, unconstrained and canonical ordination, and spatial analysis. All the necessary data files, the scripts used in the chapters, as well as the extra R functions and packages written by the authors, can be downloaded from a web page accessible through the Springer web site (http: //www.bio.umontreal.ca/numecolR/).This book is aimed at professional researchers, practitioners, graduate students and teachers in ecology, environmental science and engineering, and in related fields such as oceanography, molecular ecology, agriculture and soil science, who already have a background in general and multivariate statistics and wish to apply this knowledge to their data using the R language, as well as people willing to accompany their disciplinary learning with practical applications. People from other fields (e.g. geology, geography, paleoecology, phylogenetics, anthropology, the social and education sciences, etc.) may also benefit from the materials presented in this book.The three authors teach numerical ecology, both theoretical and practical, to a wide array of audiences, in regular courses in their Universities and in short courses given around the world. Daniel Borcard is lecturer of Biostatistics and Ecology and researcher in Numerical Ecology at Universite de Montreal, Quebec, Canada. Francois Gillet is professor of Community Ecology and Ecological Modelling at Universite de Franche-Comte, Besancon, France. Pierre Legendre is professor of Quantitative Biology and Ecology at Universite de Montreal, Fellow of the Royal Society of Canada, and ISI Highly Cited Researcher in Ecology/Environment.
Maya Python for Games and Film: A Complete Reference for Maya Python and the Maya Python API
Adam Mechtley - 2011
Written by trusted authorities in the field, this in-depth guide will help you master Maya Python, whether you're a seasoned technical artist looking to make the transition from MEL to Python or an aspiring artist not wanting to scramble for information.
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.
Rockstar Icon Designer
Kate McInnes - 2011
Veteran icon designer Kate McInnes introduces you to the wonderful world of icon design, so you too can become a Rockstar Icon Designer!In this book Kate shares with you her experience and expertise by covering everything from the history and theory of icon design, to best practices and methods.She’ll also take you through the whole process of creating your own icon set, and walk you through actual tutorial exercises where you’ll design icons from scratch.
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.
Flash Facebook Cookbook
James Ford - 2011
Each recipe contains step-by-step instructions followed by an analysis of what was done in each task and other useful information. This Cookbook is targeted towards those with at least a basic understanding of the Flash Builder IDE and the Flex framework. No prior knowledge of the Facebook APIs is assumed or required. If you want to start building Flash Facebook apps quickly and effectively this is the book for you.
Introduction to C# Joes 2 Pros (C# Exam Prep 70-536)
Peter Bako - 2011
Many people realize that the easiest way to learn is by seeing and doing. Introduction to C# takes this easy to follow approach, with lots of opportunity to practice, plenty of pictures to verify your work, easy to follow explanations, and plenty of sample code to examine. In no time at all, you can start writing simple programs of your own design, using one of the most vibrant and popular languages of today, C#. To save you time, all of the code presented in the book (both in the chapters and for the challenges), can be downloaded from the Joes2Pros website!
Android in Practice: Includes 91 Techniques
Charlie Collins - 2011
Written by real world Android developers, this book addresses the trickiest questions raised in forums and mailing lists. Using an easy-to-follow problem/solution/discussion format, it dives into important topics not covered in other Android books, like advanced drawing and graphics, testing and instrumentation, building and deploying applications, and using alternative languages.About the BookIt's not hard to find the information you need to build your first Android app. Then what? If you want to build real apps, you will need some how-to advice, and that's what this book is about. Android in Practice is a rich source of Android tips, tricks, and best practices, covering over 90 clever and useful techniques that will make you a more effective Android developer. Techniques are presented in an easy-to-read problem/solution/discussion format. The book dives into important topics like multitasking and services, testing and instrumentation, building and deploying applications, and using alternative languages. 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. What's InsideTechniques covering Android 1.x to 3.xAndroid for tabletsWorking with threads and concurrencyTesting and buildingUsing location awareness and GPSStyles and themesAnd much more!This book requires a working knowledge of Java, but no prior experience with Android is assumed. Source Code can be found at https://code.google.com/p/android-in-...Table of ContentsPART 1 BACKGROUND AND FUNDAMENTALSIntroducing AndroidAndroid application fundamentalsManaging lifecycle and statePART 2 REAL WORLD RECIPESGetting the pixels perfectManaging background tasks with ServicesThreads and concurrencyStoring data locallySharing data between appsHTTP networking and web servicesLocation is everythingAppeal to the senses using multimedia2D and 3D drawingPART 3 BEYOND STANDARD DEVELOPMENTTesting and instrumentationBuild managementDeveloping for Android tablets
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.
Core HTML5: Volume 1: Canvas (Core Series)
David M. Geary - 2011
In "Core HTML5 Canvas," best-selling author David Geary presents a code-fueled, no-nonsense deep dive into that API, covering everything you need to know to implement rich and consistent web applications that run on a wide variety of operating systems and devices. Succinctly and clearly written, this book examines dozens of real-world uses of the Canvas API, such as interactively drawing and manipulating shapes, saving and restoring the drawing surface to temporarily draw shapes and text, and implementing text controls. You'll see how to keep your applications responsive with web workers when you filter images, how to implement smooth animations, and how to create layered, 3D scrolling backgrounds with parallax. In addition, you'll see how to implement video games with extensive coverage of sprites, physics, collision detection, and the implementation of a game engine and an industrial-strength pinball game. The book concludes by showing you how to implement Canvas-based controls that you can use in any HTML5 application and how to use Canvas on mobile devices, including iOS5. This authoritative Canvas reference covers The canvas element--using it with other HTML elements, handling events, printing a canvas, and using offscreen canvasesShapes--drawing, dragging, erasing, and editing lines, arcs, circles, curves, and polygons; using shadows, gradients, and patternsText--drawing, positioning, setting font properties; building text controlsImages--drawing, scaling, clipping, processing, and animatingAnimations--creating smooth, efficient, and portable animationsSprites--implementing animated objects that have painters and behaviorsPhysics--modeling physical systems (falling bodies, pendulums, and projectiles), and implementing tweening for nonlinear motion and animationCollision detection--advanced techniques, clearly explainedGame development--all aspects of game development, such as time-based motion and high score support, implemented in a game engineCustom controls--infrastructure for implementing custom controls; implementing progress bars, sliders, and an image pannerMobile applications--fitting Canvas apps on a mobile screen, using media queries, handling touch events, and specifying iOS5 artifacts, such as app icons Throughout the book, Geary discusses high-quality, reusable code to help professional developers learn everything they really need to know, with no unnecessary verbiage. All of the book's code and live demonstrations of key techniques are available at corehtml5canvas.com.
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...
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,
Tap, Move, Shake: Turning Your Game Ideas into iPhone & iPad Apps
Todd Moore - 2011
By developing a real game hands-on through the course of this book, you’ll get a thorough introduction to Xcode and Objective-C, while learning how to implement game logic, sophisticated graphics, game physics, sounds, and computer AI.Author Todd Moore taught himself how to create an iPhone game in a week, with no previous knowledge of Apple’s development tools. Now he develops smartphone games and apps full time. With this book, any coder can turn game ideas into real products, ready for the App Store.Get started by writing a simple game in only 20 lines of codeBuild a complete air hockey game from scratchLearn best practices for tracking multiple screen touchesUse animation loops and create collision functionsGet the tools you need to build your own stunning game graphicsApply game physics to give your game a sense of realismRecord and edit lifelike sound effects, and create your own background musicDesign a computer player with different levels of difficultyFeaturing an introduction by Steve WozniakTodd Moore founded TMSOFT to create unique smart phone applications and games. His most popular game title, Card Counter, was featured by Engadget, the Los Angeles Times, and CNET TV. Todd’s most popular application, White Noise, was featured by iTunes, Health Magazine, The Washington Post, PC Magazine, and Late Night with Jimmy Fallon.
Spring Batch in Action
Arnaud Cogoluegnes - 2011
Written for developers who have basic knowledge of Java and the Spring lightweight container, the book provides both a best-practices approach to writing batch jobs and comprehensive coverage of the Spring Batch framework.About the TechnologyEven though running batch jobs is a common task, there's no standard way to write them. Spring Batch is a framework for writing batch applications in Java. It includes reusable components and a solid runtime environment, so you don't have to start a new project from scratch. And it uses Spring's familiar programming model to simplify configuration and implementation, so it'll be comfortably familiar to most Java developers.About the BookSpring Batch in Action is a thorough, in-depth guide to writing efficient batch applications. Starting with the basics, it discusses the best practices of batch jobs along with details of the Spring Batch framework. You'll learn by working through dozens of practical, reusable examples in key areas like monitoring, tuning, enterprise integration, and automated testing.No prior batch programming experience is required. Basic knowledge of Java and Spring is assumed. 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. What's InsideBatch programming from the ground upImplementing data componentsHandling errors during batch processingAutomating tedious tasksTable of ContentsPART 1 BACKGROUNDIntroducing Spring BatchSpring Batch conceptsPART 2 CORE SPRING BATCHBatch configurationRunning batch jobsReading dataWriting dataProcessing dataImplementing bulletproof jobsTransaction managementPART 3 ADVANCED SPRING BATCHControlling executionEnterprise integrationMonitoring jobsScaling and parallel processingTesting batch applications
Oracle Database 11g Release 2 High Availability: Maximize Your Availability with Grid Infrastructure, Rac and Data Guard
Scott Jesse - 2011
Oracle Database 11g Release 2 High Availability: Maximize Your Availability with Grid Infrastructure, Oracle Real Application Clusters, and Oracle Data Guard, Second Edition provides cost-effective solutions to current availability challenges. Discover how to grid-enable your IT framework, roll out Oracle Real Application Clusters, maintain standby databases, and deploy Oracle Flashback. Monitoring, tuning, and disaster recovery techniques are also covered in this comprehensive resource.Install Oracle Clusterware (as part of Oracle's grid infrastructure) or upgrade from an earlier version Build test clusters and hosts using Oracle VM Work with Oracle Automatic Storage Management and Oracle Automatic Storage Management Cluster File System Create synchronized standby databases using Oracle Data Guard Reliably archive and restore data with Oracle Recovery Manager Use Oracle Flashback to identify and undo user errors Configure Oracle Enterprise Manager Grid Control for management of an Oracle maximum availability architecture environment
Programming with Javascript: Algorithms and Applications for Desktop and Mobile Browsers: Algorithms and Applications for Desktop and Mobile Browsers
John David Dionisio - 2011
Designed specifically for the CS1 introductory programming course, Programming with JavaScript: Algorithms and Applications for Desktop and Mobile Browsers introduces students to computer science and programming using a modern approach. The text correlates to the ACM/IEEE CS1 course requirements and provides real-world case studies and numerous exercises throughout. The case studies show readers actual examples and their development from inception to final product. The authors cover unique topics not typically found in an introductory-level text, such as 2D and 3D graphics in web pages, multitouch and gesture interfaces, distributed computing, software engineering fundamentals, and coverage of powerful tools such as jQuery and regular expressions. To stress the importance of hands-on application in learning a programming language, the authors also provide numerous examples of working code, as well as exercises involving modification of that code. Key Features: -Addresses the knowledge units from the ACM/IEEE Computer Science Computing Curricula for introductory programming courses, and covers security and net-centric computing topics as recommended in the ACM revised report CC2008. -Provides a step-by-step introduction to programming in JavaScript. -Focuses on the basics and functionality of JavaScript and software engineering principles. -Provides a solid foundation in programming by stressing fundamentals early. This text takes full advantage of the expressive power of JavaScript's object literals and functions-as-values features to give students an early appreciation of the importance of data structures. -Includes self-contained, functionally complete case studies that illustrate and integrate key concepts while also providing concrete examples of the best practices described in the text. -Contains numerous exercises throughout for students to immediately test and apply their understanding of the material. The exercises are chosen to represent recognizable applications and use cases from real-world web applications, while also exposing students to additional material that goes beyond what is provided in the chapter.
The Art of the App Store: The Business of Apple Development
Tyson McCann - 2011
From knowing your customer to to launching a successful app, and everything in between, this must-have guide navigates such topics as developing a concept, analyzing the competition, considerations before the launch, marketing, building a community, and maintaining market share... to name a few.Coverage includes: Setting Your Goals, Costs, and ExpectationsResearching the App Store MarketKnowing Your CustomerPlotting the Stages of DevelopmentGuidelines and Expectations for Developing Your AppCreating Free and Freemium AppsCreating Paid and Premium AppsAdopting Apple's ApproachRiding the Social Networking WaveFeedback, Maintaining, and ScalingOpen the vault to App Store success with this indispensable guide
Asterisk Cookbook
Leif Madsen - 2011
This short cookbook offers recipes for tackling dialplan fundamentals, making and controlling calls, and monitoring channels in your PBX environment. Each recipe includes a simple code solution you can put to work immediately, along with a detailed discussion that offers insight into why and how the recipe works.This book focuses on Asterisk 1.8, although many of the conventions and information presented are version-agnostic. These recipes include solutions to help you:Authenticate callers before moving on in your dialplanRedirect calls received by your auto-attendantCreate an automatic call-back serviceInitiate hot-desking to login to and accept calls at any office deviceMonitor and interrupt live calls to train new employees at a call centerRecord calls from your Asterisk dialplan
HTML5 Multimedia: Develop and Design
Ian Devlin - 2011
Websites no longer have to rely on a third-party tool such as Flash or Silverlight to play video and audio. This book is an easy, approachable guide to building native HTML5 multimedia into a website, from the simplest addition to more advanced features. It's written in a simple, straightforward style that's not too techy, yet advanced enough for the more experienced coder who just needs to get up to speed on these powerful new capabilities. The book's companion website provides all the examples in a working format for easy access and enhanced visualization for the reader. Topics include: Using Audio: How to add audio to web documents using the HTML5 audio element.Using Video: How to add video to web documents using the HTML5 video element.JavaScript API and Custom Controls: How to use the HTML5 Media JavaScript API to create custom controls for HTML5 audio and video.Styling Media Elements with CSS: Shows how HTML5 media elements can be styled with CSS2.1 and CSS3. Using Video with SVG: Shows how SVG and HTML5 video can work together.Using Video with Canvas: Introduces the HTML5 canvas element and shows how HTML5 video and canvas can work together.
Beginning iOS 5 Application Development
Wei-Meng Lee - 2011
This full-color book is the perfect starting point. Beginning developers, you'll get a solid introduction to the new xCode 4 and Objective-C and find everything you need to quickly build your first app. The book thoroughly covers all the new iOS 5 features, including new multitasking, location-based services, notification system, cloud-based features, and much more.Written by bestselling Wrox author, Wei-Meng Lee, this is an ideal book for beginning developersHelps eager developers quickly start building apps for the iPhone, iPad, and iPod TouchIntroduces iOS 5, xCode 4, Objective-C, and the basics you need to create your first Apple device appCovers a host of new iOS 5 capabilities, including new multitasking, new location-based services, and a new notification systemShows you how to work with iOS 5's cloud-based features for online storage of music, photos, and videoFull-color and full of information, "Beginning iOS 5 Application Development" is the ultimate guide for beginning Apple developers.
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.
Pro Windows Phone 7 Development
Rob Cameron - 2011
For iOS and Android developers, this book provides the right level of content to help developers rapidly come up to speed on Windows Phone. Pro Windows Phone 7 Development will help you unlock the potential of this platform and create dazzling, visually rich, and highly functional applications for the Windows Phone Marketplace. For developers new to the Windows Phone 7 platform, whether .NET, iPhone, or Android developers, this book starts by introducing you to the features and specifications of the Windows Phone series, and then leads you through the complete application development process. You'll learn how to use Microsoft technologies like Silverlight, .NET, the XNA Framework, Visual Studio, and Expression Blend effectively, how to take advantage of the available sensors such as the location service, accelerometer, and touch, make your apps location-aware using GPS data, utilize the rich media capabilities of the Windows Phone series, and much more. Finally, you'll receive a full tutorial on how to publish and sell your application through the Windows Phone Marketplace.
Unity IOS Game Development Beginners Guide
Gregory Pierce - 2011
Dive straight into game development with no previous Unity or iOS experience Work through the entire lifecycle of developing games for iOS Add multiplayer, input controls, debugging, in app and micro payments to your game Implement the different business models that will enable you to make money on iOS games In Detail Would you like to create money making games for iOS? If so, Unity iOS Game Development Beginners Guideis for you. It will guide you through the entire creative process of designing a game through to making money from it. This book will teach you the secrets of building and monetizing games for the iOS platform using the latest version of Unity. The book is linear and progressive so every chapter builds upon the knowledge of the last. You will learn Unity and the iOS basics necessary to get started. You will design a game for the iOS. You will build that game feature by feature. Finally you will publish your game and add the features that will enable your game to generate revenue. You have never built anything using Unity or iOS so we will begin with the basics. We will then move onto the basic features of a game: scenes, AI, characters, accelerometer, and input methods. Once you have mastered this we will begin the creation of our game - a 3rd person perspective dungeon crawler game inspired by the arcade game called Gauntlet. You will bring AAA quality to the game by adding co-op multiplayer so that your friends can join in and participate in the game. You will also add occlusion culling and beastmap lighting. Next you will integrate the game with some 3rd party services for advertisements, micro transactions, and in app purchasing. You will also integrate with Game Center. Finally you will publish your game for the entire world to see. What you will learn from this book Create an AppStore account. Core Unity from the iOS developer's perspective. Scripting using C. Handling common iOS senso
Pro Java Me Apps: Building Commercial Quality Smartphone Apps
Iliescu Ovidiu - 2011
Java ME is the largest mobile software platform in the world, supported by over 80% of all phones. You'll cover what Java ME is and how it compares to other mobile software platforms, how to properly design and structure Java ME applications, how to think like an experienced Java ME developer, what common problems and pitfalls you may run into, how to optimize your code, and many other key topics. Unlike other Java ME books out there, which only teach the reader the basics of Java ME by way of a few simple examples, this book presents a broader, eagle-eye picture of a complete Java ME application and what writing one involves. From there, the book presents, explains, and helps you to implement all the essential aspects of Java ME development, from the user interface to client-server communication. As this unfolds, the decisions and reasoning behind the code are also presented.The book assumes that the reader is already familiar with Java ME and Java applications in general.Based on and geared towards real-life Java ME scenarios Guides the reader through the entire process of developing a high-quality Java ME application Explains the decisions made at each step, gives advice and examples of good practices vs. bad practices
Pro ASP.NET MVC 3 Framework
Adam Freeman - 2011
It provides a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET 4-->--> In this third edition, the core model-view-controller (MVC) architectural concepts are not simply explained or discussed in isolation, but are demonstrated in action. You'll work through an extended tutorial to create a working e-commerce web application that combines ASP.NET MVC with the latest C# language features and unit-testing best practices. By gaining this invaluable, practical experience, you'll discover MVC's strengths and weaknesses for yourselfand put your best-learned theory into practice.-->--> The book's authors -->Steve Sanderson--> and -->Adam Freeman--> have both watched the growth of ASP.NET MVC since its first release. Steve is a well-known blogger on the MVC Framework and a member of the Microsoft Web Platform and Tools team. Adam started designing and building web applications 15 years ago and has been responsible for some of the world's largest and most ambitious projects. You can be sure you are in safe hands. -->What you'll learn-->Gain a solid architectural understanding of ASP.NET MVC 3, including basic MVC Explore the entire ASP.NET MVC Framework See how MVC and test-driven development work in action Capitalize on your existing knowledge quickly and easily through comparison of features in classic ASP.NET to those in ASP.NET MVC Learn about the latest security and deployment issues, including those related to IIS 7 -->Who this book is for-->This book is for web developers with a basic knowledge of ASP.NET and C# who want (or need) to start using the new ASP.NET MVC 3 Framework. -->Table of Contents-->Part 1--> 1. The Big Idea--> 2. Getting Ready --> 3. Your First MVC Application--> 4. The MVC Pattern--> 5. Essential Language Features--> 6. Essential Tools for MVC--> 7. SportsStore I A Real Application--> 8. SportsStore II Navigation & Cart--> 9. SportsStore III - Administration-->--> Part 2--> 10. Overview of MVC projects--> 11. URLs, Routing & Areas--> 12. Controllers & Actions--> 13. Filters--> 14. Controller Extensibility--> 15. Views--> 16. Model Templates--> 17. Model Binding--> 18. Model Validation--> 19. Unobtrusive Ajax--> 20. jQuery -->--> Part 3.--> 21. Security --> 22. Authentication & Authorization--> 23. Deployment
The Eclipse Graphical Editing Framework (GEF)
Dan Rubel - 2011
When standard widgets aren't enough, graphics built with GEF are often the best solution. "The Eclipse Graphical Editing Framework (GEF)"covers everything Java tool developers need to create tomorrow's richest, most visual interfaces. This practical, hands-on guide begins by introducing GEF, Draw2D, and Zest, and demonstrating what can be achieved with them. Next, the authors walk through building a simple Draw2D example, helping new GEF developers understand the core capabilities available to them. Building on this foundation, they progressively introduce more of the Draw2D frameworks, including Figures, Layout Managers, Connections, Layers, and Viewports. They present a chapter-length graph visualization project based on Zest, followed by detailed coverage of non-Draw2D portions of GEF. The book's final section walks step by step through developing a complete GEF editor. Each chapter focuses on a different aspect of the problem, and includes challenges, solutions, diagrams, screenshots, cookbook-style code examples, and more. This book is organized to help developers solve immediate problems quickly, while also gaining in-depth knowledge for building advanced solutions. Relevant APIs are included in several chapters, making this an even more useful standalone reference. This bookIntroduces GEF application components such as shapes, flow, logic, and textExplains Draw2D architecture, drawing features, and event processingShows how to create and customize figures, use painting and borders, and work with each Draw2D Layout ManagerThoroughly explains GEF models, including domain and presentation information, populating diagrams, and moreShows how to use Zest's content providers, filters, and layout algorithmsCovers EditParts, EditPolicies, Tools, Commands, Actions, and much more "The Eclipse Graphical Editing Framework (GEF)" is the best resource for all Java tool developers who want to construct sophisticated graphical editing products that integrate with Eclipse, for experienced Eclipse users who want to start creating their own graphical tools, and for anyone who wants to see what makes GEF tick.
Java 7: The Complete Reference
Herbert Schildt - 2011
Updated for Java Platform, Standard Edition 7 (Java SE 7), this comprehensive volume covers the entire Java language, including its syntax, keywords, and fundamental programming principles. You'll also find information on key elements of the Java API library. JavaBeans, servlets, applets, and Swing are examined and real-world examples demonstrate Java in action. In addition, new Java SE 7 features such as try-with-resources, strings in switch, type inference with the diamond operator, NIO.2, and the Fork/Join Framework are discussed in detail.Coverage includes: Data types and operatorsControl statementsClasses and objectsConstructors and methodsMethod overloading and overridingInterfaces and packagesInheritanceException handlingGenericsAutoboxingEnumerationsAnnotationsThe try-with-resources statementVarargsMultithreadingThe I/O classesNetworkingThe Collections FrameworkApplets and servletsJavaBeansAWT and SwingThe Concurrent APIMuch, much more
3D Graphics for Game Programming
JungHyun Han - 2011
Assuming a minimal prerequisite understanding of vectors and matrices, it also provides sufficient mathematical background for game developers to combine their previous experience in graphics API and shader programming with the background theory of computer graphics.Well organized and logically presented, this book takes its organizational format from GPU programming and presents a variety of algorithms for programmable stages along with the knowledge required to configure hard-wired stages. Easily accessible, it offers a wealth of elaborate 3D visual presentations and includes additional theoretical and technical details in separate shaded boxes and optional sections.Maintaining API neutrality throughout to maximize applicability, the book gives sample programs to assist in understanding. Full PowerPoint files and additional material, including video clips and lecture notes with all of the figures in the book, are available on the book's website: http: //media.korea.ac.kr/bookKey FeaturesPresents the theory and mathematics of real-time graphics and its applications to game design Provides boxed MathNotes that can be accessed as required without interrupting the flow of the text Includes homework problems and more than 300 detailed figures Offers ancillary material on a companion websiteSolutions manual available upon qualified course adoption
Pro Android Web Game Apps: Using Html5, Css3 and JavaScript
Juriy Bura - 2011
This hands-on guide covers both the theory and practice of browser game development for the Android platform. You'll use cutting-edge technologies to make game engines in your browser, establish real-time server communication, and create amazing gaming experiences with artificial intelligence and rich media.Bring your knowledge of HTML and JavaScript to the next level with Pro Android Web Game Apps. You are guided through exciting projects that give you firsthand experience with core game app development concepts. You'll start with a blank HTML page, and by the end of the book, have the skills needed to create a multiplayer online game with rich graphics, sound, animation, and moreeven if you have no previous games development or server-side experience. What you'll learn How to set up your development environment, run applications, and debug and profile code How to work with graphics and animations in a browser How to optimize rendering and make your games run faster How to handle events and user inputBuild an isometric game engineLearn the basics of 3D programming and WebGL How to use JavaScript to create full-blown server-side support for your games How to enrich your games using artificial intelligence Who this book is forThe book is intended for developers with some generic HTML and JavaScript background who want to boost their experience to the next level and learn how to utilize browsers to build attractive multiplayer games for Android platform. No previous games development or server-side knowledge is required. Table of Contents Preparing the Environment Graphics in the Browser: the Canvas Element Creating the First Game Animations and Sprites Event Handling and User Input Rendering Virtual Worlds Making an Isometric Engine 3D in a Browser UsingWebGL Going Serverside Talking to the Server Making Multiplayer Games AI and Physics JavaScript GameEngines Building Native Applications Adding Sound App A: Debugging Web Applications
Microsoft BizTalk Server 2010 Unleashed
Brian Loesgen - 2011
Written by an expert team of Microsoft insiders and BizTalk MVPs, it reflects unsurpassed experience with all phases of BizTalk enterprise solutions development, from planning through deployment and administration. The authors begin by introducing BizTalk Server's architecture and key integration concepts. Next, they offer in-depth coverage of BizTalk's foundational features, including schemas, maps, orchestrations, and pipelines. You'll learn how to effectively utilize both standard and custom adapters; monitor integration services; leverage cloud computing via Windows Azure; implement operational BI solutions; and make the most of business rules and BizTalk's Business Rules Engine (BRE). The authors offer best practices and "in the trenches" tips for everything from managing deployments through implementing state-of-the-art mobile RFID solutions. No other book offers this much useful, pragmatic, and tested knowledge for successful BizTalk development. Brian Loesgen is a Principal Architect Evangelist on Microsoft's Azure ISV team. A six-time Microsoft MVP, he has extensive experience in building advanced enterprise, ESB, and SOA solutions. He has coauthored eight books, including SOA with .NET and Windows Azure. Charles Young, a principal consultant at Solidsoft, and Jan Eliasen, an IT architect at Logica, have each been honored repeatedly as BizTalk MVPs, and are highly respected bloggers in the BizTalk community. Scott Colestock, chief architect for Trace Ventures, specializes in using BizTalk to implement integration and service orchestration solutions. He is a member of Microsoft's Architectural Advisory Board and a BizTalk MVP. Anush Kumar, CTO of S3Edge, served as Microsoft's RFID business leader and was heavily involved in designing and architecting its BizTalk RFID offerings. Jon Flanders is an independent consultant, instructor for Pluralsight, BizTalk MVP, and author of RESTful .NET.Apply BizTalk Server's sophisticated, scalable message exchange model to support virtually any business requirement Get your schemas right the first time, so you can avoid major problems downstream Use BizTalk Mapper to create maps for transforming inbound and outbound XML messages and supporting business processes Use orchestration to automate even highly-complex processes Utilize adapters and WCF to integrate any application, service, or system Extend your application's reach with Windows Azure AppFabric Capture key BizTalk infrastructure, services, and business metrics Build powerful rules-based solutions with Microsoft's Business Rules Framework Establish an Enterprise Service Bus (ESB) that uses BizTalk Server as core messaging infrastructure Efficiently manage, configure, and troubleshoot BizTalk through the Administration Console Create RFID applications ranging from simple label printing to end-to-end business processes
Pro Wcf 4: Practical Microsoft Soa Implementation
Nishith Pathak - 2011
This book provides deep insight into the functionality of WCF, which shipped with .NET 4.0-like service discovery, routing service, simplified configuration, and other advanced features. Included in this title are informative examples that will aid the reader in understanding and implementing these important additions. This book also covers the unified programming model, reliable messaging, security, and the peer-to-peer programming model. You'll also learn how to move your current .NET remoting and web service applications to WCF, and how to integrate those applications with WCF 4. This book offers genuine insight into solving real enterprise problems using WCF and .NET 4.0.
InDesign CS5 Automation Using XML & JavaScript
Grant Gamble - 2011
Many users have a pressing need for automation of their workflows but have been reluctant to get started because of the lack of a simple internal mechanism for recording steps, like Photoshop and Illustrator actions. Instead InDesign relies on scripting which, for many InDesign users, may seem a little too much like hard work. In fact, InDesign comes with all the tools necessary for creating scripts and scripting is not that difficult-it can even be fun! This book is aimed at the general user and provides an introduction to scripting InDesign, using JavaScript to create simple cross-platform solutions. It also gives a general introduction to XML, DTDs and XSLT, before showing how to automate the importing and exporting of XML data. Learn proactively through step-by-step tutorials on creating JavaScript solutions: the Try it for yourself! approach allows you to see for yourself how scripts are put together. Create scripts that manipulate text and images, build documents automatically and output them as interactive PDFs. Become familiar with the InDesign object model: as you work through the book, you will make repeated use of the essential syntax for manipulating InDesign objects such as document, pages, text frames, graphics and preferences. Create user interfaces to make your scripts more flexible and user-friendly. Rather than just creating scripts which always perform the same steps, you will learn to user ScriptUI to provide users with the ability to make choices that determine what the script will do. Learn how to automate XML import and export and provide an interface which allows the user to filter import by supplying parameter values.
Microsoft BizTalk Server 2010 Patterns
Dan Rosanova - 2011
Learning the best patterns to use in the appropriate context greatly increases the chances of success for any solution. Biztalk server 2010 patterns will provide a thorough introduction to BizTalk Server 2010 as a platform and guide the reader through real world lessons and examples building an advanced unified solution that can be used as a reference architecture. This book will guide you beyond the basics of BizTalk Server 2010 development and give you the relevant background, theory, and techniques necessary to create successful solutions. You will learn how the BizTalk Server 2010 platform works internally and how to plan for the necessary infrastructure for an installation. You will learn how to build messaging-based solutions including content-based routing that are easy to manage and change. You will learn how to solve common integration and middleware challenges by leveraging the strengths of BizTalk Server 2010. This book addresses using Microsoft BizTalk Server 2010 and associated tools to create middleware and integration solutions with established patterns and practices that increase the effectiveness and impact of your solutions. What you will learn from this book How BizTalk Server 2010 works and appropriate topologies for different scenarios Structure and unit test BizTalk Server 2010 solutions Build BizTalk Server 2010 solutions that are easy to modify and expand Create compelling Business Activity Monitoring Deploy BizTalk Se
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™
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
Mastering XPages: A Step-By-Step Guide to XPages Application Development and the XSP Language
Martin Donnelly - 2011
A complete and practical guide to XPages development, this book is a programmer's guide to utilizing this breakthrough technology.
Foundation Game Design with ActionScript 3.0
Rex van der Spuy - 2011
We've all sneaked the odd five minutes here or there playing the latest Flash game that someone sent around the office, but creating those games is trickier than it looks. The aim of Foundation Game Design with ActionScript 3.0 is to take you, even if you've minimal multimedia or programming experience, through a series of step-by-step examples and detailed case studies--to the point where you'll have the skills to independently design any conceivable 2D game using Flash and ActionScript.Foundation Game Design with ActionScript 3.0 is a non-technical one-stop shop for all the most important skills and techniques a beginning game designer needs to build games with Flash from scratch. Whether you're creating quick blasts of viral amusement, or more in-depth action or adventure titles, this is the book for you.Focused and friendly introduction to designing games with Flash and ActionScript Detailed case studies of Flash games Essential techniques for building games, with each chapter gently building on the skills of preceding chapters Modern best practices and new content on ActionScript 3.0 Also covers asset creation in Photoshop and Illustrator
Unreal Development Kit Game Programming with Unrealscript: Beginner's Guide
R. Cordone - 2011
No UnrealDevelopment Kit Game Programming with UnrealScript: Beginner's Guide Read a customer review or write one .
Embedded Systems: Real-Time Interfacing to Arm(r) Cortex(tm)-M Microcontrollers
Jonathan W. Valvano - 2011
The three books are primarily written for undergraduate electrical and computer engineering students. They could also be used for professionals learning the ARM platform. The first book Embedded Systems: Introduction to ARM Cortex-M Microcontrollers is an introduction to computers and interfacing focusing on assembly language and C programming. This second book focuses on interfacing and system-level design. The third book Embedded Systems: Real-Time Operating Systems for ARM Cortex-M Microcontrollers is an advanced book focusing on operating systems, high-speed interfacing, control systems, and robotics. An embedded system is a system that performs a specific task and has a computer embedded inside. Topics include design, verification, hardware/software synchronization, interfacing devices to the computer, timing diagrams, real-time systems, data collection and processing, motor control, analog and digital filters, real-time signal processing, low-power design, and the internet of things. In general, the area of embedded systems is an important and growing discipline within electrical and computer engineering. The educational market of embedded system is dominated by simple microcontrollers like the PIC, 9S12, and 8051. This is because of their market share, low cost, and historical dominance. However, as problems become more complex, so must the systems that solve them. A number of embedded system paradigms must shift in order to accommodate this growth in complexity. First, the number of calculations per second will increase from about 1 million/sec to 1 billion/sec. Similarly, the number of lines of software code will also increase from thousands to millions. Thirdly, systems will involve multiple microcontrollers supporting many simultaneous operations. Lastly, the need for system verification will continue to grow as these systems are deployed into safety critical applications. These changes are more than a simple growth in size and bandwidth. These systems must employ parallel programming, DMA synchronization, real-time operating systems, fault tolerant design, priority interrupt handling, and networking. Consequently, it will be important to provide our students with these types of design experiences. The ARM platform is both low cost and provides the high performance features required in future embedded systems. The ARM market share is currently large and growing. Furthermore, students trained on the ARM will be equipped to design systems across the complete spectrum from simple to complex. The purpose of writing this book at this time is to bring engineering education into the 21st century. This book employs many approaches to learning. It will not include an exhaustive recapitulation of the information in data sheets. First, it begins with basic fundamentals, which allows the reader to solve new problems with new technology. Second, the book presents many detailed design examples. These examples illustrate the process of design. There are multiple structural components that assist learning. Checkpoints, with answers in the back, are short easy to answer questions providing immediate feedback while reading. Simple homework provide more detailed learning opportunities. The book includes an index and a glossary so that information can be searched. The most important learning experience in a class like this are of course the laboratories. Each chapter has suggested lab assignments. More detailed lab descriptions are available on the web. The book will cover embedded systems for the ARM Cortex-M with specific details on the TM4C123, and TM4C1294. Although the solutions are specific for the Tiva TM4C, it will be possible to use this book for other ARM derivatives.
Beginning IOS Game Development
Patrick Alessi - 2011
Experienced developer and author Patrick Alessi presents the iOS system architecture, gives you the step-by-step of game development, and introduces the languages used to develop games. From the basic building blocks to including drawing, responding to user interaction, animation, and sound, this book provides a one-stop-shop for getting your game up and running.Explores the tools and methodology used to develop games for the iPhone and iPad Requires no previous experience with building a game for the iOS platform Details how iOS games require different considerations than other applications Addresses working with the Xcode programming environment, how to draw with the Quartz 2D API, ways to handle user input, and techniques for incorporating animation with Core Animation and sound with Core Audio If you're ready to jump on the gaming app bandwagon, then this book is what you need to get started!
Beginning I Phone Web Apps: Html5, Css3, And Java Script For Web Kit
Estelle Weyl - 2011
iPhone native apps in Cocoa and Objective-C are fine, but you'll need a different skill set to make sophisticated web apps. Beginning iPhone Apps for Web Developers helps you do just that, offering the skills and techniques you need to make your website look great on the iPhone and more. * Optimize your website for mobile devices* Enhance your mobile user experience* Learn iPhone specific event handling, javascript, CSS and animationsWhat you'll learn* Simple steps to make your website look great in all browsers, including on the iPhone.* How to get a head start on CSS3 and other new web standards that will be coming to desktops soon.* Why mobile browsers are different from desktop browsers: learn how to handle user actions such as touch, tilt, and shake.* How Apple has defined the modern mobile user interface. Learn what they know.* How to minimize bandwidth usage, and other tricks to make your site work on mobile devices.*What you need to know to become an iPhone web applications developer.* The differences between having to support IE6 versus using cutting edge CSS3 and CSS animations.Who this book is for The audience for this book ranges from the web developer or programmer who has a general understanding of HTML, CSS and event handlers to senior web developers well versed in browser differences, with limited to no mobile development experience. The book will also benefit iPhone application developers who may want to port their application from the iPhone to the desktop or to the mobile browser.
Learning to Rank for Information Retrieval and Natural Language Processing
Hang Li - 2011
Learning to rank is useful for many applications in information retrieval, natural language processing, and data mining. Intensive studies have been conducted on the problem recently and significant progress has been made. This lecture gives an introduction to the area including the fundamental problems, existing approaches, theories, applications, and future work. The author begins by showing that various ranking problems in information retrieval and natural language processing can be formalized as two basic ranking tasks, namely ranking creation (or simply ranking) and ranking aggregation. In ranking creation, given a request, one wants to generate a ranking list of offerings based on the features derived from the request and the offerings. In ranking aggregation, given a request, as well as a number of ranking lists of offerings, one wants to generate a new ranking list of the offerings. Ranking creation (or ranking) is the major problem in learning to rank. It is usually formalized as a supervised learning task. The author gives detailed explanations on learning for ranking creation and ranking aggregation, including training and testing, evaluation, feature creation, and major approaches. Many methods have been proposed for ranking creation. The methods can be categorized as the pointwise, pairwise, and listwise approaches according to the loss functions they employ. They can also be categorized according to the techniques they employ, such as the SVM based, Boosting SVM, Neural Network based approaches. The author also introduces some popular learning to rank methods in details. These include PRank, OC SVM, Ranking SVM, IR SVM, GBRank, RankNet, LambdaRank, ListNet & ListMLE, AdaRank, SVM MAP, SoftRank, Borda Count, Markov Chain, and CRanking. The author explains several example applications of learning to rank including web search, collaborative filtering, definition search, keyphrase extraction, query dependent summarization, and re-ranking in machine translation. A formulation of learning for ranking creation is given in the statistical learning framework. Ongoing and future research directions for learning to rank are also discussed. Table of Contents: Introduction / Learning for Ranking Creation / Learning for Ranking Aggregation / Methods of Learning to Rank / Applications of Learning to Rank / Theory of Learning to Rank / Ongoing and Future Work
Pro OpenGL Es for IOS
Mike Smithwick - 2011
This book offers everything you need to know, from basic mathematical concepts to advanced coding techniques. You'll learn by building this fascinating 3D solar system simulator!After introducing OpenGL ES, Pro OpenGL ES for iOS explains the basics of 3D math and then orients you to the iOS-native 3D libraries you'll be using in your own 3D games and the solar system project you'll build using this book. Through the solar system example project, you'll learn how to incorporate a variety of graphic and animation techniques into your applications. You will also discover how the full spectrum of 3D development that awaits, with topics such as lighting, texture-mapping, modeling, shaders, blending modes, and several more advanced concepts.By the time you finish Pro OpenGL ES for iOS, you'll have learned all the skills you'll need to build your own incredible 3D applications, based on one of the most powerful 3D libraries available.
The Complete Idiot's Guide to Android App Development
Christopher Froehlich - 2011
The Android operating system is now the largest mobile platform in the U.S., and there are now more than 90,000 apps available. Android is completely open and free to all developers. Topics covered include:? Designing effective and easy-to-navigate user interfaces for apps.? Adding audio and video support to apps.? Making the most of Android's hardware, including GPS, social media, built-in camera, and voice integration.? Publishing application to the Android market.
Practical Database Programming with Java
Ying Bai - 2011
With Java Persistence API and plug-in Tools, readers are directed step by step through the entire database programming development process and will be able to design and build professional data-action projects with a few lines of code in mere minutes. The second method, runtime object, allows readers to design and build more sophisticated and practical Java database applications.Advanced and updated Java database programming techniques such as Java Enterprise Edition development kits, Enterprise Java Beans, JavaServer Pages, JavaServer Faces, Java RowSet Object, and Java Updatable ResultSet are also discussed and implemented with numerous example projects.Ideal for classroom and professional training use, this text also features:A detailed introduction to NetBeans Integrated Development Environment Java web-based database programming techniques (web applications and web services) More than thirty detailed, real-life sample projects analyzed via line-by-line illustrations Problems and solutions for each chapter A wealth of supplemental material available for download from the book's ftp site, including PowerPoint slides, solution manual, JSP pages, sample image files, and sample databases Coverage of two popular database systems: SQL Server 2008 and Oracle This book provides undergraduate and graduate students as well as database programmers and software engineers with the necessary tools to handle the database programming issues in the Java NetBeans environment.To obtain instructor materials please send an email to: pressbooks@ieee.org
Designing for XOOPS
Sun Ruoyu - 2011
This concise book shows you how to use XOOPS themes and modules to design everything from simple blogs to large database-driven CMS portals.Web designers and current XOOPS users will learn how to create a site theme with CSS and jQuery libraries, including techniques for making additional modules conform to the site's look and feel. Although XOOPS uses the PHP-based Smarty templating system, all you need is a bit of XHTML and CSS experience to get started.Learn the workflow for turning an idea into a full-featured websiteBecome familiar with XOOPS’ theme-building tools, and set up PHP and MySQL environmentsPort an existing XHTML template to XOOPSCreate themes with the 960 Grid System to save time and reduce codeUse jQuery-based UI libraries to achieve complex effectsBlend new modules into your theme with the template override functionGo beyond traditional block layouts to customize your homepage
Microsoft Visual Basic 2010 Developer's Handbook
Klaus Loffelmann - 2011
Written by Visual Basic experts, this handbook provides an in-depth reference on language concepts and features, as well as scenario-based guidance for putting Visual Basic to work. It's ideal whether you’re creating new applications with Visual Basic 2010 or upgrading projects built with an earlier version of the language.Discover how to:Use Visual Basic 2010 for Windows Forms and Windows Presentation Foundation projectsBuild robust code using object-oriented programming techniques, such as classes and typesWork with events and delegates—and add your own events to custom classesProgram arrays, collections, and other data structures in the Microsoft .NET FrameworkSolve problems quickly and easily using My namespace in Visual BasicDive into Microsoft LINQ, including LINQ to XML and LINQ to EntitiesTackle threading, multitasking, and multiprocessor development and debugging
Enabling Programmable Self with HealthVault
Vaibhav Bhandari - 2011
Using Microsoft HealthVault, people interested in monitoring their health have an unprecedented opportunity to research their own data. This concise book explains how HealthVault users can collect and analyze their data, and how application developers can help them with mobile or web-based applications.You’ll learn how to use HealthVault’s open API, flexibility, and connections with multiple health-care providers to develop health data applications, enable automatic updates from well-known fitness devices, and use programming libraries to create reports and investigate trends.Get a walkthrough of HealthVault functionality available to end usersUse HealthVault to capture data from devices that measure a user’s healthExamine HealthVault’s API for interacting with applications and devices, using .NET code samplesDevelop a Quantified Self application for consumers that can track more than 80 data typesLearn how to build mobile apps for HealthVault by exploring an end-to-end example for Windows Phone 7Use best practices for releasing, maintaining, and marketing HealthVault applications to end users
APA/MLA Guidelines for Students
NOT A BOOK - 2011
Both groups are equally represented through key definitions, writing examples, and insightful tips on structuring an essay or term paper--all in an easy-to-use format.
Algorithms and Parallel Computing
Fayez Gebali - 2011
The tools need manual intervention by the programmer to parallelize the code. Programming a parallel computer requires closely studying the target algorithm or application, more so than in the traditional sequential programming we have all learned. The programmer must be aware of the communication and data dependencies of the algorithm or application. This book provides the techniques to explore the possible ways to program a parallel computer for a given application.
Sage: Beginner's Guide
Craig Finch - 2011
Sage is a free, open-source software package that automates symbolic and numerical calculations with the power of the Python programming language, so you can focus on the analytical and creative aspects of your work or studies.Sage Beginner's Guide shows you how to do calculations with Sage. Each concept is illustrated with a complete example that you can use as a starting point for your own work. You will learn how to use many of the functions that are built in to Sage, and how to use Python to write sophisticated programs that utilize the power of Sage.This book starts by showing you how to download and install Sage, and introduces the command-line interface and the graphical notebook interface. It also includes an introduction to Python so you can start programming in Sage. Every major concept is illustrated with a practical example.After learning the fundamentals of variables and functions in Sage, you will learn how to symbolically simplify expressions, solve equations, perform integrals and derivatives, and manipulate vectors and matrices. You will learn how Sage can produce numerous kinds of plots and graphics. The book will demonstrate numerical methods in Sage, and explain how to use object-oriented programming to improve your code.Sage Beginner's Guide will give you the tools you need to unlock the full potential of Sage for simplifying and automating mathematical computing.Effectively use Sage to eliminate tedious algebra, speed up numerical calculations, implement algorithms and data structures, and illustrate your work with publication-quality plots and graphics
I Hate PHP - A Beginner's Guide to PHP and MySQL
eBook Legend - 2011
It is best to be familiar with HTML and writing / deciphering HTML code. You don’t need to be a top-notch “I do it all in Notepad” kinda person - just being able to open up a text editor and understand the code is enough. Copy / Paste knowledge is helpful too.Unlike other PHP books on the market, we are not going to attempt to cover every single facet of the Wide World Of PHP Language. No, we want to grasp the basics of the language, get familiar with it, and get some real-life examples...not have the whole thing shoved down our throat!You’ll find that throughout this book, my odd sense of humor may shine through a little bit. You might not find that web programming is the most exciting thing on the planet. Well, I don’t either, so I tried to make it interesting and easy to read.
Natural Wonders: A Patrick Hruby Coloring Book
Patrick Hruby - 2011
Each page is also perforated at the top for easy removal to place your young artist's artwork on the wall or refrigerator.
Beginning Android Tablet Games Programming
Jeremy Kerfs - 2011
Beginning Android Tablet Games Programming explains how to enhance your Android games using the new tablet interface and the additional screen estate. You'll learn how to bring your programming skills up to date and into a world where touch screens, games physics, and artificial intelligence come together in new and surprising ways. Beginning Android Tablet Games Programming shows how to quickly and easily set up an Android development environment--in no time at all, you'll be programming away. You'll begin with some simple games using sprites and choreographed movement. Next, you'll learn how to handle user input in the modern age of touch screens and motion.Along the way, you'll discover how to use that extra screen space on a tablet to provide more relaxed and more interesting user interactions in your games. You'll learn how to use sound and music, for instance, to make your application menus more user-friendly.The Android operating system has recently acquired multicore functionality to meet the demands of multicore devices now entering the tablet market. With Beginning Android Tablet Games Programming, you'll discover how to harness that new power with your games programming through more process-demanding and fun techniques, including physics modeling, rich game world representation, artificial intelligence, and multiplayer interactions.Throughout each chapter of Beginning Android Tablet Games Programming, you'll find code that you can add or adapt to your own games to create the components you want. You can also work up to wrapping everything together into a complete Mario-type example game.Finally, when you have your first games ready, learn how developers have released their games and made a profit. You'll find tips on how to present your games in the Android and other application markets, and a solid approach to games marketing and monetization.
Html5 Canvas Cookbook
Eric Rowell - 2011
'HTML5 Canvas Cookbook' begins by covering the basics of the HTML5 Canvas API and then progresses by providing advanced techniques for handling features not directly supported by the API such as animation and canvas interactivity.
Microsoft Sharepoint 2010 Development Cookbook: Over 45 Recipes to Take You from Beginner to Professional in Sharepoint Development
Ed Musters - 2011
In cookbook style, you will be led carefully step by step through a comprehensive set of recipes. The practical example starts quickly and builds logically throughout the chapters to create a common theme. You will be developing coding techniques that you will be able to apply to the real world. In fact, this book will train you for the first SharePoint development project you will join. This book is written for the ASP.NET developer who wants to get to the goal of "professional" SharePoint 2010 developer as quickly as possible, by learning the most important practical aspects of development that will be used in the real world.
Practical Android Projects
Lucas Jordan - 2011
Practical Android Projects introduces the Android software development kit and development tools of the trade, and then dives into building cool-looking and fun apps that put Android's amazing capabilities to work. Android is the powerful, full-featured, open source mobile platform that powers phones like Google Nexus, Motorola Droid, Samsung Galaxy S, and a variety of HTC phones and tablet computers.This book helps you quickly get Android projects up and running with the free and open source Eclipse, NetBeans, and IntelliJ IDEA IDEs. Then you build and extend mobile applications using the Android SDK, Java, Scripting Layer for Android (SL4A), and languages such as Python, Ruby, Javascript/HTML, Flex/AIR, and Lua.
Applied Wpf 4 in Context
Raffaele Garofalo - 2011
Using this book, you'll learn how to implement world-class Windows Professional Foundation (WPF) solutions in a real-world line of business applications, developing the code from the ground up, and understand how to apply best development practices and related .NET products and technologies to your solutions. You will cover designing and developing the application, testing and debugging, data access, reporting, and applying styles and themes to enhance the look of the user interface--all using WPF in a very practical, eminently useful context. You'll create asynchronous and parallel code, and learn how to distribute the application's components using Windows Communication Foundation (WCF). You'll also apply the Model-View-ViewModel pattern, again in a real-world WPF application.Elegant and functional WPF applications are easier to create than ever before with Applied WPF 4 in Context.
Architecting for the Cloud: Best Practices
Jinesh Varia - 2011
In today’s "era of tera", these concepts are even more applicable because of ever-growing datasets, unpredictable traffic patterns, and the demand for faster response times. This paper will reinforce and reiterate some of these traditional concepts and discuss how they may evolve in the context of cloud computing. It will also discuss some unprecedented concepts such as elasticity that have emerged due to the dynamic nature of the cloud. This paper is targeted towards cloud architects who are gearing up to move an enterprise-class application from a fixed physical environment to a virtualized cloud environment. The focus of this paper is to highlight concepts, principles and best practices in creating new cloud applications or migrating existing applications to the cloud.
PHP Ajax Cookbook
Milan Sedliak - 2011
Optimize the performance of Ajax applications. Build dynamic websites with faster response from the server using the asynchronous call feature of PHP Ajax. Using Ajax allows quick and efficient access of data from the server, thus precluding a total web page refresh. Leverage the power of PHP Ajax using practical recipes with example codes.