An unparalleled learning tool and guide to error correction coding Error correction coding techniques allow the detection and correction of errors occurring during the transmission of data in digital communication systems. These techniques are nearly universally employed in modern communication systems, and are thus an important component of the modern information economy. Error Correction Coding: Mathematical Methods and Algorithms provides a comprehensive introduction to both the theoretical and practical aspects of error correction coding, with a presentation suitable for a wide variety of audiences, including graduate students in electrical engineering, mathematics, or computer science. The pedagogy is arranged so that the mathematical concepts are presented incrementally, followed immediately by applications to coding. A large number of exercises expand and deepen students' understanding. A unique feature of the book is a set of programming laboratories, supplemented with over 250 programs and functions on an associated Web site, which provides hands-on experience and a better understanding of the material. These laboratories lead students through the implementation and evaluation of Hamming codes, CRC codes, BCH and R-S codes, convolutional codes, turbo codes, and LDPC codes. This text offers both «classical» coding theory-such as Hamming, BCH, Reed-Solomon, Reed-Muller, and convolutional codes-as well as modern codes and decoding methods, including turbo codes, LDPC codes, repeat-accumulate codes, space time codes, factor graphs, soft-decision decoding, Guruswami-Sudan decoding, EXIT charts, and iterative decoding. Theoretical complements on performance and bounds are presented. Coding is also put into its communications and information theoretic context and connections are drawn to public key cryptosystems. Ideal as a classroom resource and a professional reference, this thorough guide will benefit electrical and computer engineers, mathematicians, students, researchers, and scientists.
The one resource needed to create reliable software This text offers a comprehensive and integrated approach to software quality engineering. By following the author's clear guidance, readers learn how to master the techniques to produce high-quality, reliable software, regardless of the software system's level of complexity. The first part of the publication introduces major topics in software quality engineering and presents quality planning as an integral part of the process. Providing readers with a solid foundation in key concepts and practices, the book moves on to offer in-depth coverage of software testing as a primary means to ensure software quality; alternatives for quality assurance, including defect prevention, process improvement, inspection, formal verification, fault tolerance, safety assurance, and damage control; and measurement and analysis to close the feedback loop for quality assessment and quantifiable improvement. The text's approach and style evolved from the author's hands-on experience in the classroom. All the pedagogical tools needed to facilitate quick learning are provided: * Figures and tables that clarify concepts and provide quick topic summaries * Examples that illustrate how theory is applied in real-world situations * Comprehensive bibliography that leads to in-depth discussion of specialized topics * Problem sets at the end of each chapter that test readers' knowledge This is a superior textbook for software engineering, computer science, information systems, and electrical engineering students, and a dependable reference for software and computer professionals and engineers.
Changing Software Development explains why software development is an exercise in change management and organizational intelligence. An underlying belief is that change is learning and learning creates knowledge. By blending the theory of knowledge management, developers and managers will gain the tools to enhance learning and change to accommodate new innovative approaches such as agile and lean computing. Changing Software Development is peppered with practical advice and case studies to explain how and why knowledge, learning and change are important in the development process. Today, managers are pre-occupied with knowledge management, organization learning and change management; while software developers are often ignorant of the bigger issues embedded in their work. This innovative book bridges this divide by linking the software world of technology and processes to the business world of knowledge, learning and change.
A hands-on guide to testing techniques that deliver reliable software and systems Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints. Black begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes how to design, develop, and, ultimately, document various kinds of tests. Because this is a hands-on activity, Black includes realistic, life-sized exercises that illustrate all of the major test techniques with detailed solutions.
This text provides an excellent balance of theory and application that enables you to deploy powerful algorithms, frameworks, and methodologies to solve complex optimization problems in a diverse range of industries. Each chapter is written by leading experts in the fields of parallel and distributed optimization. Collectively, the contributions serve as a complete reference to the field of combinatorial optimization, including details and findings of recent and ongoing investigations.
Object-Oriented scripting with Perl and Python Scripting languages are becoming increasingly important for software development. These higher-level languages, with their built-in easy-to-use data structures are convenient for programmers to use as «glue» languages for assembling multi-language applications and for quick prototyping of software architectures. Scripting languages are also used extensively in Web-based applications. Based on the same overall philosophy that made Programming with Objects such a wide success, Scripting with Objects takes a novel dual-language approach to learning advanced scripting with Perl and Python, the dominant languages of the genre. This method of comparing basic syntax and writing application-level scripts is designed to give readers a more comprehensive and expansive perspective on the subject. Beginning with an overview of the importance of scripting languages—and how they differ from mainstream systems programming languages—the book explores: Regular expressions for string processing The notion of a class in Perl and Python Inheritance and polymorphism in Perl and Python Handling exceptions Abstract classes and methods in Perl and Python Weak references for memory management Scripting for graphical user interfaces Multithreaded scripting Scripting for network programming Interacting with databases Processing XML with Perl and Python This book serves as an excellent textbook for a one-semester undergraduate course on advanced scripting in which the students have some prior experience using Perl and Python, or for a two-semester course for students who will be experiencing scripting for the first time. Scripting with Objects is also an ideal resource for industry professionals who are making the transition from Perl to Python, or vice versa.
This is the first book to focus on IP over WDM optical networks. It not only summarizes the fundamental mechanisms and the recent development and deployment of WDM optical networks but it also details both the network and the software architectures needed to implement WDM enabled optical networks designed to transport IP traffic. The next generation network employing IP over optical networks is quickly emerging not only in the backbone but also in metro and access networks. Fiber optics revolutionizes the telecom and networking industry by offering enormous network capacity to sustain the next generation Internet growth. IP provides the only convergence layer in a global and ubiquitous Internet. So integrating IP and WDM to transport IP traffic over WDM enabled optical networks efficiently and effectively is an urgent yet important task. * Covers hot areas like traffic engineering, MPLS, peer-to-peer computing, IPv6. * Comprehensive overview of history, background and research. * Presents all requirements for a WDM optical network (enabling technologies, optical components, software architecture, management, etc.). * Performance studies and descriptions of experimental WDM optical networks guarantee the practical approach of the book. Technical engineers and network practitioners, designers and analysts, network managers and technical management personnel as well as first year graduate students or senior undergraduate students majoring in networking and/or network control and management will all find this indispensable.
Bestselling author Ron Krutz once again demonstrates his ability to make difficult security topics approachable with this first in-depth look at SCADA (Supervisory Control And Data Acquisition) systems Krutz discusses the harsh reality that natural gas pipelines, nuclear plants, water systems, oil refineries, and other industrial facilities are vulnerable to a terrorist or disgruntled employee causing lethal accidents and millions of dollars of damage-and what can be done to prevent this from happening Examines SCADA system threats and vulnerabilities, the emergence of protocol standards, and how security controls can be applied to ensure the safety and security of our national infrastructure assets
Content distribution networks (CDNs) are the most promising new techniques for coping with the huge and swiftly growing volume of Internet traffic. In essence, CDNs are groups of proxy-servers located at strategic points around the Internet and arranged so as to ensure that a download request can always be handled from the nearest server. In this, the first reference in the field, a recognized CDN pioneer describes the various technologies involved and explains how they came together to form a working system. With the help of case studies, he covers all the practical basics and provides invaluable implementation schemes.
Gendered Talk at Work examines how women and men negotiate their gender identities as well as their professional roles in everyday workplace communication. written accessibly by one of the field’s foremost researchers explores the ways in which gender contributes to the interpretation of meaning in workplace interaction uses original and insightfully analyzed data to focus on the ways in which both women and men draw on gendered discourse resources to enact a range of workplace roles illustrates how a qualitative analysis of workplace discourse can throw light on the many ways in which workplace discourse provides a resource for constructing gender identity as one component of our complex socio-cultural identity