Skip to main content

Books in Software

This collection encompasses software engineering, programming languages, and development frameworks. Showcasing best practices, innovative methodologies, and case studies, it supports developers, researchers, and educators in building reliable, efficient, and maintainable software systems. Addressing agile development, software testing, and DevOps, these resources foster technological excellence and industry readiness.

  • Hacking with Kali

    Practical Penetration Testing Techniques
    • 1st Edition
    • James Broad + 1 more
    • English
    Hacking with Kali introduces you the most current distribution of the de facto standard tool for Linux pen testing. Starting with use of the Kali live CD and progressing through installation on hard drives, thumb drives and SD cards, author James Broad walks you through creating a custom version of the Kali live distribution. You’ll learn how to configure networking components, storage devices and system services such as DHCP and web services. Once you're familiar with the basic components of the software, you'll learn how to use Kali through the phases of the penetration testing lifecycle; one major tool from each phase is explained. The book culminates with a chapter on reporting that will provide examples of documents used prior to, during and after the pen test. This guide will benefit information security professionals of all levels, hackers, systems administrators, network administrators, and beginning and intermediate professional pen testers, as well as students majoring in information security.
  • Distributed Computing Through Combinatorial Topology

    • 1st Edition
    • Maurice Herlihy + 2 more
    • English
    Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols. Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a self-contained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and shared-memory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduate-level course for those who wish to explore further.
  • Agile Software Architecture

    Aligning Agile Processes and Software Architectures
    • 1st Edition
    • Muhammad Ali Babar + 2 more
    • English
    Agile software development approaches have had significant impact on industrial software development practices. Today, agile software development has penetrated to most IT companies across the globe, with an intention to increase quality, productivity, and profitability. Comprehensive knowledge is needed to understand the architectural challenges involved in adopting and using agile approaches and industrial practices to deal with the development of large, architecturally challenging systems in an agile way. Agile Software Architecture focuses on gaps in the requirements of applying architecture-centric approaches and principles of agile software development and demystifies the agile architecture paradox. Readers will learn how agile and architectural cultures can co-exist and support each other according to the context. Moreover, this book will also provide useful leads for future research in architecture and agile to bridge such gaps by developing appropriate approaches that incorporate architecturally sound practices in agile methods.
  • Clinical Engineering

    A Handbook for Clinical and Biomedical Engineers
    • 1st Edition
    • Azzam Taktak + 2 more
    • English
    Clinical Engineering is intended for professionals and students in the clinical engineering field who need to successfully deploy medical technologies. The book provides a broad reference to the core elements of the subject and draws from the expertise of a range of experienced authors. In addition to engineering skills, clinical engineers must be able to work with patients and with a range of professional staff, including technicians and clinicians, and with equipment manufacturers. They have to keep up-to-date with fast-moving scientific and medical research in the field and be able to develop laboratory, design, workshop, and management skills. This book is the ideal companion in such studies, covering fundamentals such as IT and software engineering as well as topics in rehabilitation and assistive technology.
  • Extrapolation Methods

    Theory and Practice
    • 1st Edition
    • Volume 2
    • C. Brezinski + 1 more
    • English
    This volume is a self-contained, exhaustive exposition of the extrapolation methods theory, and of the various algorithms and procedures for accelerating the convergence of scalar and vector sequences. Many subroutines (written in FORTRAN 77) with instructions for their use are provided on a floppy disk in order to demonstrate to those working with sequences the advantages of the use of extrapolation methods. Many numerical examples showing the effectiveness of the procedures and a consequent chapter on applications are also provided – including some never before published results and applications. Although intended for researchers in the field, and for those using extrapolation methods for solving particular problems, this volume also provides a valuable resource for graduate courses on the subject.
  • Kermit

    A File Transfer Protocol
    • 1st Edition
    • Bozzano G Luisa
    • English
    This authoritative, all-in-one introduction, manual, and complete reference shows readers - at all levels of technical expertise - how to use Kermit to transfer diverse data between different computer systems and data communications environments. Using tutorials, case studies, and examples of actual Kermit codes, it provides instructions for basic use and a detailed description of the Kermit protocols: * File management through protocols * Command referencing and extended features * Telecommunications protocols
  • Operational Amplifiers

    • 2nd Edition
    • Jiri Dostal
    • English
    This book provides the reader with the practical knowledge necessary to select and use operational amplifier devices. It presents an extensive treatment of applications and a practically oriented, unified theory of operational circuits.
  • Concise Encyclopedia of Software Engineering

    • 1st Edition
    • Volume 1
    • Derrick Morris
    • English
    This Concise Encyclopedia of Software Engineering is intended to provide compact coverage of the knowledge relevant to the practicing software engineer. The content has been chosen to provide an introduction to the theory and techniques relevant to the software of a broad class of computer applications. It is supported by examples of particular applications and their enabling technologies. This Encyclopedia will be of value to new practitioners who need a concise overview and established practitioners who need to read about the "penumbra" surrounding their own specialities. It will also be useful to professionals from other disciplines who need to gain some understanding of the various aspects of software engineering which underpin complex information and control systems, and the thinking behind them.
  • Towards Verified Systems

    • 1st Edition
    • Volume 2
    • J. Bowen
    • English
    As the complexity of embedded computer-controlled systems increases, the present industrial practice for their development gives cause for concern, especially for safety-critical applications where human lives are at stake. The use of software in such systems has increased enormously in the last decade. Formal methods, based on firm mathematical foundations, provide one means to help with reducing the risk of introducing errors during specification and development. There is currently much interest in both academic and industrial circles concerning the issues involved, but the techniques still need further investigation and promulgation to make their widespread use a reality.This book presents results of research into techniques to aid the formal verification of mixed hardware/software systems. Aspects of system specification and verification from requirements down to the underlying hardware are addressed, with particular regard to real-time issues. The work presented is largely based around the Occam programming language and Transputer microprocessor paradigm. The HOL theorem prover, based on higher order logic, has mainly been used in the application of machine-checked proofs.The book describes research work undertaken on the collaborative UK DTI/SERC-funded Information Engineering Dictorate Safemos project. The partners were Inmos Ltd., Cambridge SRI, the Oxford University Computing Laboratory and the University of Cambridge Computer Laboratory, who investigated the problems of formally verifying embedded systems. The most important results of the project are presented in the form of a series of interrelated chapters by project members and associated personnel. In addition, overviews of two other ventures with similar objectives are included as appendices.The material in this book is intended for computing science researchers and advanced industrial practitioners interested in the application of formal methods to real-time safety-critical systems at all levels of abstraction from requirements to hardware. In addition, material of a more general nature is presented, which may be of interest to managers in charge of projects applying formal methods, especially for safety-critical-syst... and others who are considering their use.
  • Software Engineering Education

    Proceedings of the IFIP WG3.4/SEARCC (SRIG on Education and Training) Working Conference, Hong Kong, 28 September - 2 October, 1993
    • 1st Edition
    • Volume 40
    • B.Z. Barta + 2 more
    • English
    Software engineering education is an important, often controversial, issue in the education of Information Technology professionals. It is of concern at all levels of education, whether undergraduate, post-graduate or during the working life of professionals in the field. This publication gives perspectives from academic institutions, industry and education bodies from many different countries. Several papers provide actual curricula based on innovative ideas and modern programming paradigms. Various aspects of project work, as an important component of the educational process, are also covered and the uses of software tools in the software industry and education are discussed. The book provides a valuable source of information for all those interested and involved in software engineering education.
  • Massively Parallel Processing Applications and Development

    Proceedings of the 1994 EUROSIM Conference on Massively Parallel Processing Applications and Development, Delft, The Netherlands, 21-23 June 1994
    • 1st Edition
    • L. Dekker + 2 more
    • English
    The contributions of a diverse selection of international hardware and software specialists are assimilated in this book's exploration of the development of massively parallel processing (MPP). The emphasis is placed on industrial applications and collaboration with users and suppliers from within the industrial community consolidates the scope of the publication.From a practical point of view, massively parallel data processing is a vital step to further innovation in all areas where large amounts of data must be processed in parallel or in a distributed manner, e.g. fluid dynamics, meteorology, seismics, molecular engineering, image processing, parallel data base processing. MPP technology can make the speed of computation higher and substantially reduce the computational costs. However, to achieve these features, the MPP software has to be developed further to create user-friendly programming systems and to become transparent for present-day computer software.Application of novel electro-optic components and devices is continuing and will be a key for much more general and powerful architectures. Vanishing of communication hardware limitations will result in the elimination of programming bottlenecks in parallel data processing. Standardization of the functional characteristics of a programming model of massively parallel computers will become established. Then efficient programming environments can be developed. The result will be a widespread use of massively parallel processing systems in many areas of application.
  • Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE

    Developing Cyber-Physical Systems
    • 1st Edition
    • Bran Selic + 1 more
    • English
    Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE explains how to apply the complex MARTE standard in practical situations. This approachable reference provides a handy user guide, illustrating with numerous examples how you can use MARTE to design and develop real-time and embedded systems and software. Expert co-authors Bran Selic and Sébastien Gérard lead the team that drafted and maintain the standard and give you the tools you need apply MARTE to overcome the limitations of cyber-physical systems. The functional sophistication required of modern cyber-physical systems has reached a point where traditional code-centric development methods are proving less and less capable of delivering a reliable product in a timely manner. In Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE, you will learn how to take advantage of modern model-based engineering methods and corresponding industry standards to overcome these limitations. These methods take full advantage of computer-supported automation allowing timely detection of design flaws to reduce engineering risk, leading thereby to better overall product quality and greater productivity.
  • Basic Mechanical Vibrations

    • 1st Edition
    • A J Pretlove
    • English
    BASIC Mechanical Vibrations deals with vibrations and combines basic theory with the development of useful computer programs to make design calculations. The programs in the book are written in BASIC. This book is comprised of six chapters and begins with a brief introduction to computing, with special emphasis on the fundamentals of the BASIC computer language. The chapters that follow give concise elements of vibration theory followed by problem solving examples making use of BASIC programs. The vibration analysis of engineering systems, which may be modeled by a single degree of freedom, is presented. Simple systems with damping and no damping are considered, along with systems having two and several degrees of freedom. The final chapter is concerned with bending vibrations. The text includes some subroutines for performing simple matrix operations on two-dimensional arrays that can be used in vibration calculations. This monograph will be useful to engineers who need to make vibration design calculations and to students of mechanical engineering.
  • Basic Fluid Mechanics

    • 1st Edition
    • J J Sharp
    • English
    BASIC Fluid Mechanics combines the application of BASIC programming with fluid mechanics. Topics covered in this book include the fundamentals of the BASIC computer language, properties of fluids, fluid statics, kinematics, and conservation of energy. Force and momentum, viscous flow, flow measurement, and dimensional analysis and similarity are also considered. This book is comprised of nine chapters and begins with a brief introduction to the application of BASIC. The discussion then turns to the various properties of a fluid and the differences between fluids and solids. The chapters that follow explore fluid statics, kinematics, and conservation of energy. The Euler and Bernoulli equations that are used to express the principle of conservation of energy when applied to fluids are highlighted, and calculations for force and momentum are presented. The text also considers laminar flow between parallel plates and in circular tubes, as well as the techniques for measuring flow. The final chapter describes the principles of dimensional analysis and similarity methods. Worked examples developing programs for the solution of typical problems are provided at the end of each chapter. This monograph will be useful to students in an undergraduate program and practicing engineers who are attempting to get to grips with modern computational procedures.
  • Practical File System Design

    • 1st Edition
    • Dominic Giampaolo
    • English
    This is the new guide to the design and implementation of file systems in general, and the Be File System (BFS) in particular. This book covers all topics related to file systems, going into considerable depth where traditional operating systems books often stop. Advanced topics are covered in detail such as journaling, attributes, indexing and query processing. Built from scratch as a modern 64 bit, journaled file system, BFS is the primary file system for the Be Operating System (BeOS), which was designed for high performance multimedia applications. You do not have to be a kernel architect or file system engineer to use Practical File System Design. Neither do you have to be a BeOS developer or user. Only basic knowledge of C is required. If you have ever wondered about how file systems work, how to implement one, or want to learn more about the Be File System, this book is all you will need.
  • X-Ways Forensics Practitioner’s Guide

    • 1st Edition
    • Brett Shavers + 1 more
    • English
    The X-Ways Forensics Practitioner's Guide is more than a manual-it's a complete reference guide to the full use of one of the most powerful forensic applications available, software that is used by a wide array of law enforcement agencies and private forensic examiners on a daily basis. In the X-Ways Forensics Practitioner's Guide, the authors provide you with complete coverage of this powerful tool, walking you through configuration and X-Ways fundamentals, and then moving through case flow, creating and importing hash databases, digging into OS artifacts, and conducting searches. With X-Ways Forensics Practitioner's Guide, you will be able to use X-Ways Forensics to its fullest potential without any additional training. The book takes you from installation to the most advanced features of the software. Once you are familiar with the basic components of X-Ways, the authors demonstrate never-before-documen... features using real life examples and information on how to present investigation results. The book culminates with chapters on reporting, triage and preview methods, as well as electronic discovery and cool X-Ways apps.
  • High Performance Deformable Image Registration Algorithms for Manycore Processors

    • 1st Edition
    • James Shackleford + 2 more
    • English
    High Performance Deformable Image Registration Algorithms for Manycore Processors develops highly data-parallel image registration algorithms suitable for use on modern multi-core architectures, including graphics processing units (GPUs). Focusing on deformable registration, we show how to develop data-parallel versions of the registration algorithm suitable for execution on the GPU. Image registration is the process of aligning two or more images into a common coordinate frame and is a fundamental step to be able to compare or fuse data obtained from different sensor measurements. Extracting useful information from 2D/3D data is essential to realizing key technologies underlying our daily lives. Examples include autonomous vehicles and humanoid robots that can recognize and manipulate objects in cluttered environments using stereo vision and laser sensing and medical imaging to localize and diagnose tumors in internal organs using data captured by CT/MRI scans.
  • Matlab

    A Practical Introduction to Programming and Problem Solving
    • 3rd Edition
    • Dorothy C. Attaway
    • English
    MatLab, Third Edition is the only book that gives a full introduction to programming in MATLAB combined with an explanation of the software’s powerful functions, enabling engineers to fully exploit its extensive capabilities in solving engineering problems. The book provides a systematic, step-by-step approach, building on concepts throughout the text, facilitating easier learning. Sections on common pitfalls and programming guidelines direct students towards best practice. The book is organized into 14 chapters, starting with programming concepts such as variables, assignments, input/output, and selection statements; moves onto loops; and then solves problems using both the ‘programming concept’ and the ‘power of MATLAB’ side-by-side. In-depth coverage is given to input/output, a topic that is fundamental to many engineering applications. Vectorized Code has been made into its own chapter, in order to emphasize the importance of using MATLAB efficiently. There are also expanded examples on low-level file input functions, Graphical User Interfaces, and use of MATLAB Version R2012b; modified and new end-of-chapter exercises; improved labeling of plots; and improved standards for variable names and documentation. This book will be a valuable resource for engineers learning to program and model in MATLAB, as well as for undergraduates in engineering and science taking a course that uses (or recommends) MATLAB.
  • Cloud Computing

    Theory and Practice
    • 1st Edition
    • Dan C. Marinescu
    • English
    Cloud Computing: Theory and Practice provides students and IT professionals with an in-depth analysis of the cloud from the ground up. Beginning with a discussion of parallel computing and architectures and distributed systems, the book turns to contemporary cloud infrastructures, how they are being deployed at leading companies such as Amazon, Google and Apple, and how they can be applied in fields such as healthcare, banking and science. The volume also examines how to successfully deploy a cloud application across the enterprise using virtualization, resource management and the right amount of networking support, including content delivery networks and storage area networks. Developers will find a complete introduction to application development provided on a variety of platforms.
  • Mastering Cloud Computing

    Foundations and Applications Programming
    • 1st Edition
    • Rajkumar Buyya + 2 more
    • English
    Mastering Cloud Computing is designed for undergraduate students learning to develop cloud computing applications. Tomorrow's applications won’t live on a single computer but will be deployed from and reside on a virtual server, accessible anywhere, any time. Tomorrow's application developers need to understand the requirements of building apps for these virtual systems, including concurrent programming, high-performance computing, and data-intensive systems. The book introduces the principles of distributed and parallel computing underlying cloud architectures and specifically focuses on virtualization, thread programming, task programming, and map-reduce programming. There are examples demonstrating all of these and more, with exercises and labs throughout.
  • Software Engineering for Embedded Systems

    Methods, Practical Techniques, and Applications
    • 1st Edition
    • Robert Oshana
    • English
    This Expert Guide gives you the techniques and technologies in software engineering to optimally design and implement your embedded system. Written by experts with a solutions focus, this encyclopedic reference gives you an indispensable aid to tackling the day-to-day problems when using software engineering methods to develop your embedded systems. With this book you will learn: The principles of good architecture for an embedded system Design practices to help make your embedded project successful Details on principles that are often a part of embedded systems, including digital signal processing, safety-critical principles, and development processes Techniques for setting up a performance engineering strategy for your embedded system software How to develop user interfaces for embedded systems Strategies for testing and deploying your embedded system, and ensuring quality development processes Practical techniques for optimizing embedded software for performance, memory, and power Advanced guidelines for developing multicore software for embedded systems How to develop embedded software for networking, storage, and automotive segments How to manage the embedded development process Includes contributions from: Frank Schirrmeister, Shelly Gretlein, Bruce Douglass, Erich Styger, Gary Stringham, Jean Labrosse, Jim Trudeau, Mike Brogioli, Mark Pitchford, Catalin Dan Udma, Markus Levy, Pete Wilson, Whit Waldo, Inga Harris, Xinxin Yang, Srinivasa Addepalli, Andrew McKay, Mark Kraeling and Robert Oshana.
  • X Window System: Core and Extension Protocols

    • 1st Edition
    • Donna Converse + 3 more
    • English
    Written by the experts who originally designed and implemented the X Window System and with new, significant input from X Window Consortium members who have helped evolve X Version 11, Release 6, this fourth edition is a major revision of this definitive reference. Updated to conform with the latest released software: X Version 11, Release 6.1, this edition also has been redesigned for three separate books in an effort to make each more usable for its targeted audience.Each book is thus more focused and more use manageable: that is, by being separate volumes, a reader can now open several books simultaneously to cross reference related material. In addition, each volume provides its own comprehensive subject-oriented index that further enhances its overall value.
  • Intel Xeon Phi Coprocessor High Performance Programming

    • 1st Edition
    • James Jeffers + 1 more
    • English
    Authors Jim Jeffers and James Reinders spent two years helping educate customers about the prototype and pre-production hardware before Intel introduced the first Intel Xeon Phi coprocessor. They have distilled their own experiences coupled with insights from many expert customers, Intel Field Engineers, Application Engineers and Technical Consulting Engineers, to create this authoritative first book on the essentials of programming for this new architecture and these new products. This book is useful even before you ever touch a system with an Intel Xeon Phi coprocessor. To ensure that your applications run at maximum efficiency, the authors emphasize key techniques for programming any modern parallel computing system whether based on Intel Xeon processors, Intel Xeon Phi coprocessors, or other high performance microprocessors. Applying these techniques will generally increase your program performance on any system, and better prepare you for Intel Xeon Phi coprocessors and the Intel MIC architecture.
  • Essential MATLAB for Engineers and Scientists

    • 5th Edition
    • Daniel T. Valentine + 1 more
    • English
    The fifth edition of Essential MATLAB for Engineers and Scientists provides a concise, balanced overview of MATLAB's functionality that facilitates independent learning, with coverage of both the fundamentals and applications. The essentials of MATLAB are illustrated throughout, featuring complete coverage of the software's windows and menus. Program design and algorithm development are presented clearly and intuitively, along with many examples from a wide range of familiar scientific and engineering areas. This is an ideal book for a first course on MATLAB or for an engineering problem-solving course using MATLAB, as well as a self-learning tutorial for professionals and students expected to learn and apply MATLAB.
  • An Introduction to Programming with Specifications

    • 1st Edition
    • Bozzano G Luisa
    • English
    A feature of modern advanced computing is the functional approach to programming. In this book, the authors present an introduction to the mathematics which underline functional programming, emphasizing the understanding of definition and specification--a prerequisite of good programming and problem solving with a computer. The book is self-contained, requiring a low level of mathematical sophistication and may be used as an introduction to the mathematics of programming.
  • Software Engineering

    Proceedings of the Third Symposium on Computer and Information Sciences held in Miami beach, Florida, December, 1969
    • 1st Edition
    • Julius Tou
    • English
    Software Engineering, Volume I is a compilation of the proceedings of the Third Symposium on Computer and Information Sciences held in Miami Beach, Florida, on December 18-20, 1969. The papers explore developments in software engineering and cover topics ranging from computer organization to systems programming and programming languages. This volume is comprised of 15 chapters and begins with an overview of the emergence of software engineering as a profession, followed by a discussion on computer systems organization. A virtual processor for real-time job or transaction control is then described, along with the architecture of the B-6500 computer. Subsequent chapters focus on the use and performance of memory hierarchies; the use of extended core storage in a multiprogramming operating system; methods of improving software development; and techniques for automatic program translation. The final chapter considers the extensibility of FORTRAN. This book is intended for scientists, engineers, and educators in the field of computer and information science.
  • SDL '95 with MSC in CASE

    • 1st Edition
    • R. Braek + 1 more
    • English
    Message Sequence Charts (MSC) have had an unanticipated success, both with SDL, on its own and in conjunction with other methods and tools. Major tool vendors now offer both SDL and MSC in their tool set. This timely volume reports on the recent developments in this expanding field. Several papers deal with language issues, tools and methods for effective use of MSC. Advances in "SDL technology" are discussed, and several papers deal with the early stages of product development and how SDL may be complemented by other methods, such as OMT, to improve problem understanding and make better SDL designs. New developments in the areas of tools for verification, validation and testing are also included, together with a large number of papers on applications.
  • An Analysis of the Information Technology Standardization Process

    • 1st Edition
    • J.L. Berg + 1 more
    • English
    A number of important issues form the basis of this book: How can the Information Technology (IT) standardization process, leading to unified products which are needed on the market, be made more efficient? Which current IT standards are of high quality, what factors have led to that high quality, and can those factors be re-created for other IT standards? What improvements to the quality of IT standards are needed? Which organizations should be involved? What permanent changes in the IT standardization scene are necessary? At what point in the evolution of a technology is it appropriate to produce standards? Is strategic planning feasible in the current standardization approach? Diverse disciplines contributed to the findings in this book: computer scientists, standardization leaders and professionals, users and vendors, economists, auditors, software implementors, and communication specialists.
  • Applications of ATILA FEM Software to Smart Materials

    Case Studies in Designing Devices
    • 1st Edition
    • Kenji Uchino + 1 more
    • English
    ATILA Finite Element Method (FEM) software facilitates the modelling and analysis of applications using piezoelectric, magnetostrictor and shape memory materials. It allows entire designs to be constructed, refined and optimized before production begins. Through a range of instructive case studies, Applications of ATILA FEM software to smart materials provides an indispensable guide to the use of this software in the design of effective products.Part one provides an introduction to ATILA FEM software, beginning with an overview of the software code. New capabilities and loss integration are discussed, before part two goes on to present case studies of finite element modelling using ATILA. The use of ATILA in finite element analysis, piezoelectric polarization, time domain analysis of piezoelectric devices and the design of ultrasonic motors is considered, before piezo-composite and photonic crystal applications are reviewed. The behaviour of piezoelectric single crystals for sonar and thermal analysis in piezoelectric and magnetostrictive materials is also discussed, before a final reflection on the use of ATILA in modelling the damping of piezoelectric structures and the behaviour of single crystal devices.With its distinguished editors and international team of expert contributors, Applications of ATILA FEM software to smart materials is a key reference work for all those involved in the research, design, development and application of smart materials, including electrical and mechanical engineers, academics and scientists working in piezoelectrics, magenetostrictors and shape memory materials.
  • Heterogeneous Computing with OpenCL

    Revised OpenCL 1.2 Edition
    • 2nd Edition
    • Benedict Gaster + 4 more
    • English
    Heterogeneous Computing with OpenCL, Second Edition teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. It is the first textbook that presents OpenCL programming appropriate for the classroom and is intended to support a parallel programming course. Students will come away from this text with hands-on experience and significant knowledge of the syntax and use of OpenCL to address a range of fundamental parallel algorithms. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, Heterogeneous Computing with OpenCL explores memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. It includes detailed examples throughout, plus additional online exercises and other supporting materials that can be downloaded at http://www.heterogen... This book will appeal to software engineers, programmers, hardware engineers, and students/advanced students.
  • Violent Python

    A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers
    • 1st Edition
    • TJ O'Connor
    • English
    Violent Python shows you how to move from a theoretical understanding of offensive computing concepts to a practical implementation. Instead of relying on another attacker’s tools, this book will teach you to forge your own weapons using the Python programming language. This book demonstrates how to write Python scripts to automate large-scale network attacks, extract metadata, and investigate forensic artifacts. It also shows how to write code to intercept and analyze network traffic using Python, craft and spoof wireless frames to attack wireless and Bluetooth devices, and how to data-mine popular social media websites and evade modern anti-virus.
  • Open Source Software in Life Science Research

    Practical Solutions to Common Challenges in the Pharmaceutical Industry and Beyond
    • 1st Edition
    • Lee Harland + 1 more
    • English
    The free/open source approach has grown from a minor activity to become a significant producer of robust, task-orientated software for a wide variety of situations and applications. To life science informatics groups, these systems present an appealing proposition - high quality software at a very attractive price. Open source software in life science research considers how industry and applied research groups have embraced these resources, discussing practical implementations that address real-world business problems.The book is divided into four parts. Part one looks at laboratory data management and chemical informatics, covering software such as Bioclipse, OpenTox, ImageJ and KNIME. In part two, the focus turns to genomics and bioinformatics tools, with chapters examining GenomicsTools and EBI Atlas software, as well as the practicalities of setting up an ‘omics’ platform and managing large volumes of data. Chapters in part three examine information and knowledge management, covering a range of topics including software for web-based collaboration, open source search and visualisation technologies for scientific business applications, and specific software such as DesignTracker and Utopia Documents. Part four looks at semantic technologies such as Semantic MediaWiki, TripleMap and Chem2Bio2RDF, before part five examines clinical analytics, and validation and regulatory compliance of free/open source software. Finally, the book concludes by looking at future perspectives and the economics and free/open source software in industry.
  • Introductory C

    Pointers, Functions, and Files
    • 2nd Edition
    • Richard L. Petersen
    • English
    C differs from most programming languages in its use of pointers, functions, and files. For those learning C, pointers are the greatest source of confusion. The primary aim of this book is to provide working models of how pointers are used in C. Pointers are used differently with every programming feature and Introductory C, Second Edition, emphasizes how each new programming feature relates to the use of pointers to provide a thorough understanding of the applications throughout C. Introductory C, Second Edition, offers a detailed explanation of Arrays in C over several chapters, describing strings, arrays of structures, multi-dimensional arrays, and arrays of pointers. The underlying implementation of arrays using pointersis described in detail with such features as pointers to elements, pointers to arrays, and pointers to pointers. File access methods using text and binary files are also given thorough coverage: character, line, formatted text files, and record binary files are described, and the implementation of file access functions is described in detail. This book will be of great use to programmers at all levels.
  • The Art of Multiprocessor Programming, Revised Reprint

    • 1st Edition
    • Maurice Herlihy + 1 more
    • English
    Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues.
  • Distributed and Cloud Computing

    From Parallel Processing to the Internet of Things
    • 1st Edition
    • Kai Hwang + 2 more
    • English
    Distributed and Cloud Computing: From Parallel Processing to the Internet of Things offers complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing. It is the first modern, up-to-date distributed systems textbook; it explains how to create high-performance, scalable, reliable systems, exposing the design principles, architecture, and innovative applications of parallel, distributed, and cloud computing systems. Topics covered by this book include: facilitating management, debugging, migration, and disaster recovery through virtualization; clustered systems for research or ecommerce applications; designing systems as web services; and social networking systems using peer-to-peer computing. The principles of cloud computing are discussed using examples from open-source and commercial applications, along with case studies from the leading distributed computing vendors such as Amazon, Microsoft, and Google. Each chapter includes exercises and further reading, with lecture slides and more available online. This book will be ideal for students taking a distributed systems or distributed computing class, as well as for professional system designers and engineers looking for a reference to the latest distributed technologies including cloud, P2P and grid computing.
  • GPU Computing Gems Jade Edition

    • 1st Edition
    • Wen-mei W. Hwu
    • English
    GPU Computing Gems, Jade Edition, offers hands-on, proven techniques for general purpose GPU programming based on the successful application experiences of leading researchers and developers. One of few resources available that distills the best practices of the community of CUDA programmers, this second edition contains 100% new material of interest across industry, including finance, medicine, imaging, engineering, gaming, environmental science, and green computing. It covers new tools and frameworks for productive GPU computing application development and provides immediate benefit to researchers developing improved programming environments for GPUs. Divided into five sections, this book explains how GPU execution is achieved with algorithm implementation techniques and approaches to data structure layout. More specifically, it considers three general requirements: high level of parallelism, coherent memory access by threads within warps, and coherent control flow within warps. Chapters explore topics such as accelerating database searches; how to leverage the Fermi GPU architecture to further accelerate prefix operations; and GPU implementation of hash tables. There are also discussions on the state of GPU computing in interactive physics and artificial intelligence; programming tools and techniques for GPU computing; and the edge and node parallelism approach for computing graph centrality metrics. In addition, the book proposes an alternative approach that balances computation regardless of node degree variance. Software engineers, programmers, hardware engineers, and advanced students will find this book extremely usefull. For useful source codes discussed throughout the book, the editors invite readers to the following website: <a href="http://gpugems...
  • Coding for Penetration Testers

    Building Better Tools
    • 1st Edition
    • Jason Andress + 1 more
    • English
    Coding for Penetration Testers discusses the use of various scripting languages in penetration testing. The book presents step-by-step instructions on how to build customized penetration testing tools using Perl, Ruby, Python, and other languages. It also provides a primer on scripting including, but not limited to, Web scripting, scanner scripting, and exploitation scripting. It guides the student through specific examples of custom tool development that can be incorporated into a tester's toolkit as well as real-world scenarios where such tools might be used. This book is divided into 10 chapters that explores topics such as command shell scripting; Python, Perl, and Ruby; Web scripting with PHP; manipulating Windows with PowerShell; scanner scripting; information gathering; exploitation scripting; and post-exploitation scripting. This book will appeal to penetration testers, information security practitioners, and network and system administrators.
  • Semantic Web for the Working Ontologist

    Effective Modeling in RDFS and OWL
    • 2nd Edition
    • Dean Allemang + 1 more
    • English
    Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL, Second Edition, discusses the capabilities of Semantic Web modeling languages, such as RDFS (Resource Description Framework Schema) and OWL (Web Ontology Language). Organized into 16 chapters, the book provides examples to illustrate the use of Semantic Web technologies in solving common modeling problems. It uses the life and works of William Shakespeare to demonstrate some of the most basic capabilities of the Semantic Web. The book first provides an overview of the Semantic Web and aspects of the Web. It then discusses semantic modeling and how it can support the development from chaotic information gathering to one characterized by information sharing, cooperation, and collaboration. It also explains the use of RDF to implement the Semantic Web by allowing information to be distributed over the Web, along with the use of SPARQL to access RDF data. Moreover, the reader is introduced to components that make up a Semantic Web deployment and how they fit together, the concept of inferencing in the Semantic Web, and how RDFS differs from other schema languages. Finally, the book considers the use of SKOS (Simple Knowledge Organization System) to manage vocabularies by taking advantage of the inferencing structure of RDFS-Plus. This book is intended for the working ontologist who is trying to create a domain model on the Semantic Web.
  • Advances in Computers

    • 1st Edition
    • Volume 82
    • Marvin Zelkowitz
    • English
    This series, since its first volume in 1960 and now the oldest series still being published, covers new developments in computer technology. Each volume contains 5 to 7 chapters, and 3 volumes are produced annually. Most chapters present an overview of a current subfield within computer science, including many citations and often new developments in the field by the authors of the individual chapters. Topics include hardware, software, web technology, communications, theoretic underpinnings of computing and novel applications of computers. The book series is a valuable addition to university courses that emphasize the topics under discussion in that particular volume, as well as belonging on the bookshelf of industrial practitioners who need to implement many of the technologies that are described.
  • The Internet and Mobile Technology

    • 1st Edition
    • Volume 81
    • Marvin Zelkowitz
    • English
    This series, since its first volume in 1960 and now the oldest series still being published, covers new developments in computer technology. Each volume contains from 5 to 7 chapters and 3 volumes are produced annually. Most chapters present an overview of a current subfield within computer science, include many citations, and often new developments in the field by the authors of the individual chapters. Topics include hardware, software, web technology, communications, theoretical underpinnings of computing, and novel applications of computers. The book series is a valuable addition to university courses that emphasize the topics under discussion in that particular volume as well as belonging on the bookshelf of industrial practitioners who need to implement many of the technologies that are described.
  • Engineering a Compiler

    • 2nd Edition
    • Keith D. Cooper + 1 more
    • English
    This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation.
  • An Introduction to Parallel Programming

    • 1st Edition
    • Peter Pacheco
    • English
    An Introduction to Parallel Programming is the first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture. It explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. The author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP, starting with small programming examples and building progressively to more challenging ones. The text is written for students in undergraduate parallel programming or parallel computing courses designed for the computer science major or as a service course to other departments; professionals with no background in parallel computing.
  • System Assurance

    Beyond Detecting Vulnerabilities
    • 1st Edition
    • Nikolai Mansourov + 1 more
    • English
    System Assurance teaches students how to use Object Management Group’s (OMG) expertise and unique standards to obtain accurate knowledge about existing software and compose objective metrics for system assurance. OMG’s Assurance Ecosystem provides a common framework for discovering, integrating, analyzing, and distributing facts about existing enterprise software. Its foundation is the standard protocol for exchanging system facts, defined as the OMG Knowledge Discovery Metamodel (KDM). In addition, the Semantics of Business Vocabularies and Business Rules (SBVR) defines a standard protocol for exchanging security policy rules and assurance patterns. Using these standards together, students will learn how to leverage the knowledge of the cybersecurity community and bring automation to protect systems. This book includes an overview of OMG Software Assurance Ecosystem protocols that integrate risk, architecture, and code analysis guided by the assurance argument. A case study illustrates the steps of the System Assurance Methodology using automated tools. This book is recommended for technologists from a broad range of software companies and related industries; security analysts, computer systems analysts, computer software engineers-systems software, computer software engineers- applications, computer and information systems managers, network systems and data communication analysts.
  • Building a Digital Repository Program with Limited Resources

    • 1st Edition
    • Abby Clobridge
    • English
    Whether you are just starting to create a digital repository or your institution already has a fully-developed program, this book provides strategies for building and maintaining a high-use, cohesive, and fiscally-responsible repository with collections that showcase your institution. The book explains how to strategically select projects tied to your institution’s goals, create processes and workflows designed to support a fully-functioning program, and creatively utilize existing resources. The benefits of taking a holistic approach to creating a digital repository program rather than focusing only on individual collections are discussed. Case studies and best practices from various institutions round out the author’s practical suggestions.
  • Design Patterns for Embedded Systems in C

    An Embedded Software Engineering Toolkit
    • 1st Edition
    • Bruce Powel Douglass
    • English
    A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the contraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today. .
  • Advances in Computers

    • 1st Edition
    • Volume 79
    • Marvin Zelkowitz
    • English
    This is volume 79 of Advances in Computers. This series, which began publication in 1960, is the oldest continuously published anthology that chronicles the ever- changing information technology field. In these volumes we publish from 5 to 7 chapters, three times per year, that cover the latest changes to the design, development, use and implications of computer technology on society today.
  • Programming Massively Parallel Processors

    A Hands-on Approach
    • 1st Edition
    • David B. Kirk + 1 more
    • English
    Programming Massively Parallel Processors discusses the basic concepts of parallel programming and GPU architecture. Various techniques for constructing parallel programs are explored in detail. Case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This book describes computational thinking techniques that will enable students to think about problems in ways that are amenable to high-performance parallel computing. It utilizes CUDA (Compute Unified Device Architecture), NVIDIA's software development tool created specifically for massively parallel environments. Studies learn how to achieve both high-performance and high-reliability using the CUDA programming model as well as OpenCL. This book is recommended for advanced students, software engineers, programmers, and hardware engineers.
  • SOA and Web Services Interface Design

    Principles, Techniques, and Standards
    • 1st Edition
    • James Bean
    • English
    In SOA and Web Services Interface Design, data architecture guru James Bean teaches you how to design web service interfaces that are capable of being extended to accommodate ever changing business needs and promote incorporation simplicity. The book first provides an overview of critical SOA principles, thereby offering a basic conceptual summary. It then provides explicit, tactical, and real-world techniques for ensuring compliance with these principles. Using a focused, tutorial-based approach the book provides working syntactical examples - described by Web services standards such as XML, XML Schemas, WSDL and SOAP - that can be used to directly implement interface design procedures, thus allowing you immediately generate value from your efforts. In summary, SOA and Web Services Interface Design provides the basic theory, but also design techniques and very specific implementable encoded interface examples that can be immediately employed in your work, making it an invaluable practical guide to any practitioner in today's exploding Web-based service market.