Thanks to the Internet, it has never been so easy to become the person of your wildest dreams. Immersive 3D worlds such as Second Life and THERE.com provide an escape route from the ordinary, into a virtual world where you have the power to mould your life in any way you please. Forget about walking, wheelchair users can fly. Pensioners wipe away the pains of age, discovering youthful exuberance and making young friends once more. No wonder it has become harder than ever to honestly answer the question: who am I? In Being Virtual, Davey Winder looks at how an increasing number of us are living part-real, part-virtual lives, and how it affects who we are. He looks at the opportunities and dangers that a virtual identity offers us, how we juggle our real and online lives, and what happens when one spills over into the other… He uses his own personal experiences to bring the issues to life, and backs them up with the real-life stories of others and testimony from the experts. Along the way, he looks at some fascinating questions such as: Are you a virtual liar? What happens when our virtual and real worlds collide? Why will you talk to anyone online, but nobody on the train to work? Why do so many middle-aged men transform into teenage girls online? Is it possible to have any secrets in such a connected world? Being Virtual gives a glimpse into the future of human identity, and is a must-read for anyone who uses the Internet to enhance – or escape from – their 'ordinary' life. About the author Davey Winder has been a freelance journalist for 16 years, and is Contributing Editor of the best-selling IT magazine, PC Pro. He has picked up many awards including Technology Journalist of the Year and IT Security Journalist of the Year. A founder member of the Internet Society of England and author of more than 20 books, his blog can be found at: http://happygeeknewmedia.blogspot.com/
The book presents a comprehensive discussion on software quality issues and software quality assurance (SQA) principles and practices, and lays special emphasis on implementing and managing SQA. Primarily designed to serve three audiences; universities and college students, vocational training participants, and software engineers and software development managers, the book may be applicable to all personnel engaged in a software projects Features: A broad view of SQA. The book delves into SQA issues, going beyond the classic boundaries of custom-made software development to also cover in-house software development, subcontractors, and readymade software. An up-to-date wide-range coverage of SQA and SQA related topics. Providing comprehensive coverage on multifarious SQA subjects, including topics, hardly explored till in SQA texts. A systematic presentation of the SQA function and its tasks: establishing the SQA processes, planning, coordinating, follow-up, review and evaluation of SQA processes. Focus on SQA implementation issues. Specialized chapter sections, examples, implementation tips, and topics for discussion. Pedagogical support: Each chapter includes a real-life mini case study, examples, a summary, selected bibliography, review questions and topics for discussion. The book is also supported by an Instructor’s Guide.
Presents algorithmic techniques for solving problems in bioinformatics, including applications that shed new light on molecular biology This book introduces algorithmic techniques in bioinformatics, emphasizing their application to solving novel problems in post-genomic molecular biology. Beginning with a thought-provoking discussion on the role of algorithms in twenty-first-century bioinformatics education, Bioinformatics Algorithms covers: General algorithmic techniques, including dynamic programming, graph-theoretical methods, hidden Markov models, the fast Fourier transform, seeding, and approximation algorithms Algorithms and tools for genome and sequence analysis, including formal and approximate models for gene clusters, advanced algorithms for non-overlapping local alignments and genome tilings, multiplex PCR primer set selection, and sequence/network motif finding Microarray design and analysis, including algorithms for microarray physical design, missing value imputation, and meta-analysis of gene expression data Algorithmic issues arising in the analysis of genetic variation across human population, including computational inference of haplotypes from genotype data and disease association search in case/control epidemiologic studies Algorithmic approaches in structural and systems biology, including topological and structural classification in biochemistry, and prediction of protein-protein and domain-domain interactions Each chapter begins with a self-contained introduction to a computational problem; continues with a brief review of the existing literature on the subject and an in-depth description of recent algorithmic and methodological developments; and concludes with a brief experimental study and a discussion of open research challenges. This clear and approachable presentation makes the book appropriate for researchers, practitioners, and graduate students alike.
Software Testing presents one of the first comprehensive guides to testing activities, ranging from test planning through test completion for every phase of software under development, and software under revision. Real life case studies are provided to enhance understanding as well as a companion website with tools and examples.
Master the essentials of concurrent programming,including testing and debugging This textbook examines languages and libraries for multithreaded programming. Readers learn how to create threads in Java and C++, and develop essential concurrent programming and problem-solving skills. Moreover, the textbook sets itself apart from other comparable works by helping readers to become proficient in key testing and debugging techniques. Among the topics covered, readers are introduced to the relevant aspects of Java, the POSIX Pthreads library, and the Windows Win32 Applications Programming Interface. The authors have developed and fine-tuned this book through the concurrent programming courses they have taught for the past twenty years. The material, which emphasizes practical tools and techniques to solve concurrent programming problems, includes original results from the authors' research. Chapters include: * Introduction to concurrent programming * The critical section problem * Semaphores and locks * Monitors * Message-passing * Message-passing in distributed programs * Testing and debugging concurrent programs As an aid to both students and instructors, class libraries have been implemented to provide working examples of all the material that is covered. These libraries and the testing techniques they support can be used to assess student-written programs. Each chapter includes exercises that build skills in program writing and help ensure that readers have mastered the chapter's key concepts. The source code for all the listings in the text and for the synchronization libraries is also provided, as well as startup files and test cases for the exercises. This textbook is designed for upper-level undergraduates and graduate students in computer science. With its abundance of practical material and inclusion of working code, coupled with an emphasis on testing and debugging, it is also a highly useful reference for practicing programmers.
Domain Architectures is a comprehensive catalog of the domain architectures essential to software developers using object-oriented technology and UML to solve real-life problems. Providing a unique top-down view of systems, the book also provides quick access to landmarks and references to domain architectures. The ability to describe applications, in terms of the properties they share, offers software designers a vast new landscape for implementing software reuse. The ideal professional's handbook. Helps readers reduce trial and error and increase productivity by reusing tried and trusted ideas Models are described and documented using UML (incorporating UML 2.0) models and meta models
Get up to date quickly on the new changes coming with C++17 Professional C++ is the advanced manual for C++ programming. Designed to help experienced developers get more out of the latest release, this book skims over the basics and dives right in to exploiting the full capabilities of C++17. Each feature is explained by example, each including actual code snippets that you can plug into your own applications. Case studies include extensive, working code that has been tested on Windows and Linux, and the author's expert tips, tricks, and workarounds can dramatically enhance your workflow. Even many experienced developers have never fully explored the boundaries of the language's capabilities; this book reveals the advanced features you never knew about, and drills down to show you how to turn these features into real-world solutions. The C++17 release includes changes that impact the way you work with C++; this new fourth edition covers them all, including nested namespaces, structured bindings, string_view, template argument deduction for constructors, parallel algorithms, generalized sum algorithms, Boyer-Moore string searching, string conversion primitives, a filesystem API, clamping values, optional values, the variant type, the any type, and more. Clear explanations and professional-level depth make this book an invaluable resource for any professional needing to get up to date quickly. Maximize C++ capabilities with effective design solutions Master little-known elements and learn what to avoid Adopt new workarounds and testing/debugging best practices Utilize real-world program segments in your own applications C++ is notoriously complex, and whether you use it for gaming or business, maximizing its functionality means keeping up to date with the latest changes. Whether these changes enhance your work or make it harder depends on how well-versed you are in the newest C++ features. Professional C++ gets you up to date quickly, and provides the answers you need for everyday solutions.
Software documentation forms the basis for all communication relating to a software project. To be truly effective and usable, it should be based on what needs to be known. Agile Documentation provides sound advice on how to produce lean and lightweight software documentation. It will be welcomed by all project team members who want to cut out the fat from this time consuming task. Guidance given in pattern form, easily digested and cross-referenced, provides solutions to common problems. Straightforward advice will help you to judge: What details should be left in and what left out When communication face-to-face would be better than paper or online How to adapt the documentation process to the requirements of individual projects and build in change How to organise documents and make them easily accessible When to use diagrams rather than text How to choose the right tools and techniques How documentation impacts the customer Better than offering pat answers or prescriptions, this book will help you to understand the elements and processes that can be found repeatedly in good project documentation and which can be shaped and designed to address your individual circumstance. The author uses real-world examples and utilises agile principles to provide an accessible, practical pattern-based guide which shows how to produce necessary and high quality documentation.
Based on the authors' experiences in developing and teaching Symbian OS, this practical guide is perfect for programmers and provides a series of example-based scenarios that show how to develop Symbian applications. Exercises walk the reader through the initial development of a console-based card game engine to a graphical user interface(GUI)-based, two player blackjack game operating over a Bluetooth connection between two mobile phones Addresses how Symbian offers a number of different variants to allow for different user interfaces and screen savers – the most prevalent of these is S60 Discusses how the move toward 3G technology has resulted in an increasing need for mobile application development for S60 devices.
Simulation is the art of using tools – physical or conceptual models, or computer hardware and software, to attempt to create the illusion of reality. The discipline has in recent years expanded to include the modelling of systems that rely on human factors and therefore possess a large proportion of uncertainty, such as social, economic or commercial systems. These new applications make the discipline of modelling and simulation a field of dynamic growth and new research. Stanislaw Raczynski outlines the considerable and promising research that is being conducted to counter the problems of uncertainty surrounding the methods used to approach these new applications. It aims to stimulate the reader into seeking out new tools for modelling and simulation. Examines the state-of-the-art in recent research into methods of approaching new applications in the field of modelling and simulation Provides an introduction to new modelling tools such as differential inclusions, metric structures in the space of models, semi-discrete events, and use of simulation in parallel optimization techniques Discusses recently developed practical applications: for example the PASION simulation system, stock market simulation, a new fluid dynamics tool, manufacturing simulation and the simulation of social structures Illustrated throughout with a series of case studies Modelling and Simulation: The Computer Science of Illusion will appeal to academics, postgraduate students, researchers and practitioners in the modelling and simulation of industrial computer systems. It will also be of interest to those using simulation as an auxiliary tool.