Robot Building for Beginners


David Cook - 2002
    Not only does author David Cook assist you in understanding the component parts of robot development, but he also presents valuable techniques that prepare you to make new discoveries on your own.Cook begins with the anatomy of a homemade robot and gives you the best advice on how to proceed successfully. General sources for tools and parts are provided in a consolidated list, and specific parts are recommended throughout the book. Also, basic safety precautions and essential measuring and numbering systems are promoted throughout.Specific tools and parts covered include digital multimeters, motors, wheels, resistors, LEDs, photoresistors, transistors, chips, gears, nut drivers, batteries, and more. "Robot Building for Beginners" is an inspiring book that provides an essential base of practical knowledge for anyone getting started in amateur robotics.

Turing's Cathedral: The Origins of the Digital Universe


George Dyson - 2012
    In Turing’s Cathedral, George Dyson focuses on a small group of men and women, led by John von Neumann at the Institute for Advanced Study in Princeton, New Jersey, who built one of the first computers to realize Alan Turing’s vision of a Universal Machine. Their work would break the distinction between numbers that mean things and numbers that do things—and our universe would never be the same. Using five kilobytes of memory (the amount allocated to displaying the cursor on a computer desktop of today), they achieved unprecedented success in both weather prediction and nuclear weapons design, while tackling, in their spare time, problems ranging from the evolution of viruses to the evolution of stars. Dyson’s account, both historic and prophetic, sheds important new light on how the digital universe exploded in the aftermath of World War II. The proliferation of both codes and machines was paralleled by two historic developments: the decoding of self-replicating sequences in biology and the invention of the hydrogen bomb. It’s no coincidence that the most destructive and the most constructive of human inventions appeared at exactly the same time.  How did code take over the world? In retracing how Alan Turing’s one-dimensional model became John von Neumann’s two-dimensional implementation, Turing’s Cathedral offers a series of provocative suggestions as to where the digital universe, now fully three-dimensional, may be heading next.

Version Control with Subversion


Ben Collins-Sussman - 2004
    Today's increasingly fast pace of software development--as programmers make small changes to software one day only to undo them the next--has only heightened the problem; consecutive work on code or single-programmer software is a rare sight these days. Without careful attention to version control, concurrent and collaborative work can create more headaches than it solves. This is where Subversion comes into play.Written by members of the Subversion open source development team, Version Control with Subversion introduces the powerful new versioning tool designed to be the successor to the Concurrent Version System or CVS. CVS users will find the "look and feel" Subversion comfortably familiar, but under the surface it's far more flexible, robust, and usable, and more importantly, it improves on CVS's more notable flaws.The book begins with a general introduction to Subversion, the basic concepts behind version control, and a guided tour of Subversion's capabilities and structure. With thorough attention to detail, the authors cover every aspect of installing and configuring Subversion for managing a programming project, documentation, or any other team-based endeavor. Later chapters cover the more complex topics of branching, repository administration, and other advanced features such as properties, externals, and access control. The book ends with reference material and appendices covering a number of useful topics such as a Subversion complete reference and troubleshooting guide.Version Control with Subversion aims to be useful to readers of widely different backgrounds, from those with no previous experience in version control to experienced sysadmins. If you've never used version control, you'll find everything you need to get started in this book. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.

Programming Android: Java Programming for the New Generation of Mobile Devices


Zigurd Mednieks - 2010
    With this book’s extensively revised second edition, you’ll focus on Android tools and programming essentials, including best practices for using Android 4 APIs. If you’re experienced with Java or Objective-C, you’ll gain the knowledge necessary for building well-engineered applications.Programming Android is organized into four parts:Part One helps programmers with some Java or iOS experience get off to a fast start with the Android SDK and Android programming basics.Part Two delves into the Android framework, focusing on user interface and graphics class hierarchies, concurrency, and databases. It’s a solid foundation for understanding of how the most important parts of an Android application work.Part Three features code skeletons and patterns for accelerating the development of apps that use web data and Android 4 user interface conventions and APIs.Part Four delivers practical coverage of Android’s multimedia, search, location, sensor, and account APIs, plus the Native Development Kit, enabling developers to add advanced capabilities.This updated edition of Programming Android focuses on the knowledge and developer priorities that are essential for successful Android development projects.

Digital Fundamentals


Thomas L. Floyd - 1986
    Floyd's acclaimed emphasis on "applications using real devices" and on "troubleshooting" gives users the problem-solving experience they'll need in their professional careers. Known for its clear, accurate explanations of theory supported by superior exercises and examples, this book's full-color format is packed with the visual aids today's learners need to grasp often complex concepts. KEY TOPICS The book features a comprehensive review of fundamental topics and a unique introduction to two popular programmable logic software packages (Altera and Xilinx) and boundary scan software. For electronic technicians, system designers, engineers.

Understanding Digital Signal Processing


Richard G. Lyons - 1996
    This second edition is appropriate as a supplementary (companion) text for any college-level course covering digital signal processing.

Ubuntu: The Beginner's Guide


Jonathan Moeller - 2011
     In the Guide, you'll learn how to: -Use the Ubuntu command line. -Manage users, groups, and file permissions. -Install software on a Ubuntu system, both from the command line and the GUI. -Configure network settings. -Use the vi editor to edit system configuration files. -Install and configure a Samba server for file sharing. -Install SSH for remote system control using public key/private key encryption. -Install a DHCP server for IP address management. -Install a LAMP server. -Install web applications like WordPress and Drupal. -Configure an FTP server. -Manage ebooks. -Convert digital media. -Manage and configure Unity, the default Ubuntu environment. -Manage and halt processes from the command line. -Set up both a VNC server and a client. -Enjoy games on Ubuntu. -And many other topics.

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


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

Communication Systems


Simon Haykin - 1978
    In addition to being the most up-to-date communications text available, Simon Haykin has added MATLAB computer experiments.

Microsoft Windows Internals: Microsoft Windows Server(TM) 2003, Windows XP, and Windows 2000 (Pro-Developer)


Mark E. Russinovich - 2004
    This classic guide—fully updated for Windows Server 2003, Windows XP, and Windows 2000, including 64-bit extensions—describes the architecture and internals of the Windows operating system. You’ll find hands-on experiments you can use to experience Windows internal behavior firsthand, along with advanced troubleshooting information to help you keep your systems running smoothly and efficiently. Whether you’re a developer or a system administrator, you’ll find critical architectural insights that you can quickly apply for better design, debugging, performance, and support.Get in-depth, inside knowledge of the Windows operating system: Understand the key mechanisms that configure and control Windows, including dispatching, startup and shutdown, and the registry Explore the Windows security model, including access, privileges, and auditing Investigate internal system architecture using the kernel debugger and other tools Examine the data structures and algorithms that deal with processes, threads, and jobs Observe how Windows manages virtual and physical memory Understand the operation and format of NTFS, and troubleshoot file system access problems View the Windows networking stack from top to bottom, including mapping, APIs, name resolution, and protocol drivers Troubleshoot boot problems and perform crash analysis

Pattern Classification


David G. Stork - 1973
    Now with the second edition, readers will find information on key new topics such as neural networks and statistical pattern recognition, the theory of machine learning, and the theory of invariances. Also included are worked examples, comparisons between different methods, extensive graphics, expanded exercises and computer project topics.An Instructor's Manual presenting detailed solutions to all the problems in the book is available from the Wiley editorial department.

Probabilistic Robotics


Sebastian Thrun - 2005
    Building on the field of mathematical statistics, probabilistic robotics endows robots with a new level of robustness in real-world situations. This book introduces the reader to a wealth of techniques and algorithms in the field. All algorithms are based on a single overarching mathematical foundation. Each chapter provides example implementations in pseudo code, detailed mathematical derivations, discussions from a practitioner's perspective, and extensive lists of exercises and class projects. The book's Web site, www.probabilistic-robotics.org, has additional material. The book is relevant for anyone involved in robotic software development and scientific research. It will also be of interest to applied statisticians and engineers dealing with real-world sensor data.

Concepts, Techniques, and Models of Computer Programming


Peter Van Roy - 2004
    The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together.After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.

Think Python


Allen B. Downey - 2002
    It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structures.

Reversing: Secrets of Reverse Engineering


Eldad Eilam - 2005
    The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product. * The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products * Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware * Offers a primer on advanced reverse-engineering, delving into disassembly-code-level reverse engineering-and explaining how to decipher assembly language