Skip to main content

Books in Software

1-10 of 530 results in All results

Programming Language Pragmatics

  • 5th Edition
  • March 21, 2025
  • Michael Scott + 1 more
  • English
  • Paperback
    9 7 8 - 0 - 3 2 3 - 9 9 9 6 6 - 3
  • eBook
    9 7 8 - 0 - 3 2 3 - 9 8 4 2 3 - 2
Programming Language Pragmatics is the most comprehensive programming language textbook available today, with nearly 1000 pages of content in the book, plus hundreds more pages of reference materials and ancillaries online. Michael Scott takes theperspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation. In an approachable, readable style, he discusses more than 50 languages in the context of understanding how code isinterpreted or compiled, providing an organizational framework for learning new languages, regardless of platform. This edition has been thoroughly updated to cover the most recent developments in programming language design and provides both a solid understanding of the most important issues driving software development today

Python Fast Track

  • 1st Edition
  • March 1, 2025
  • Sanjiban Sekhar Roy + 2 more
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 3 3 8 2 3 - 6
  • eBook
    9 7 8 - 0 - 4 4 3 - 3 3 8 2 4 - 3
Python Fast Track: A Complete Guide to Rapidly Mastering and Applying Python Programming adopts a simplified writing style and provides clear explanations to ensure ease of understanding, making it an ideal resource for those new to Python. Starting with the basics, the book covers fundamental concepts such as variables, data types, printing and prompting, lists, dictionaries, tuples, control structure, functions, and object-oriented concepts. The book includes everything you need to understand and apply more advanced programming techniques such as file handling, exception handling, and regex. This great resource is created especially for those who want to apply Python for their research and professional work in scientific computing, data analysis and machine learning, including chapters on NumPy and Pandas, two of the most popular Python application libraries. It demonstrates how to effectively master key applications of Python such as web development, software creation, task automation, and data analysis. The book covers data analysis and machine learning tasks that greatly benefit from Python, thanks to libraries such as TensorFlow and Keras that enable efficient coding.

Probability for Deep Learning Quantum

  • 1st Edition
  • January 1, 2025
  • Charles R. Giardina
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 2 4 8 3 4 - 4
  • eBook
    9 7 8 - 0 - 4 4 3 - 2 4 8 3 5 - 1
Probability for Deep Learning Quantum provides readers with the first book to address probabilistic methods in the deep learning environment and the quantum technological area simultaneously, by using a common platform: the Many-Sorted Algebra (MSA) view. While machine learning is created with a foundation of probability, probability is at the heart of quantum physics as well. It is the cornerstone in quantum applications. These applications include quantum measuring, quantum information theory, quantum communication theory, quantum sensing, quantum signal processing, quantum computing, quantum cryptography, and quantum machine learning. Although some of the probabilistic methods differ in machine learning disciplines from those in the quantum technologies, many techniques are very similar.Probability is introduced in the text rigorously, in Komogorov’s vision. It is however, slightly modified by developing the theory in a Many-Sorted Algebra setting. This algebraic construct is also used in showing the shared structures underlying much of both machine learning and quantum theory. Both deep learning and quantum technologies have several probabilistic and stochastic methods in common. These methods are described and illustrated using numerous examples within the text. Concepts in entropy are provided from a Shannon as well as a von-Neumann view. Singular value decomposition is applied in machine learning as a basic tool and presented in the Schmidt decomposition. Besides the in-common methods, Born’s rule as well as positive operator valued measures are described and illustrated, along with quasi-probabilities. Author Charles R. Giardina provides clear and concise explanations, accompanied by insightful and thought-provoking visualizations, to deepen your understanding and enable you to apply the concepts to real-world scenarios.

High Performance Computing

  • 2nd Edition
  • December 1, 2024
  • Thomas Sterling + 2 more
  • English
  • Paperback
    9 7 8 - 0 - 1 2 - 8 2 3 0 3 5 - 0
  • eBook
    9 7 8 - 0 - 3 2 3 - 9 0 2 1 2 - 0
Performance Computing: Modern Systems and Practices is a fully comprehensive and easily accessible treatment of high performance computing, covering fundamental concepts and essential knowledge while also providing key skills training. With this book, students will begin their careers with an understanding of possible directions for future research and development in HPC, domain scientists will learn how to use supercomputers as a key tool in their quest for new knowledge, and practicing engineers will discover how supercomputers can employ HPC systems and methods to the design and simulation of innovative products.This new edition has been fully updated, and has been reorganized and restructured to improve accessibility for undergraduate students while also adding trending content such as machine learning and a new chapter on CUDA.

Antivirus Engines

  • 1st Edition
  • November 1, 2024
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 3 2 9 5 2 - 4
  • eBook
    9 7 8 - 0 - 4 4 3 - 3 2 9 5 3 - 1
Antivirus Engines: From Methods to Innovations, Design, and Applications delves deep into the methods of detection used by antivirus software, providing readers with a comprehensive understanding of how these tools protect digital devices and networks. By demystifying the inner workings of antivirus methods, the book inspires students, researchers, and security professionals to innovate and contribute to the evolving field of cybersecurity. This book also provides a foundational understanding of antivirus solutions' inner workings, setting readers on a path to becoming more informed, vigilant, and proactive in the face of growing cyber threats.The digital landscape has seen an exponential growth in cyber threats over the past few decades. From the early days of basic viruses and worms to today's sophisticated state-sponsored cyberattacks, ransomware, and polymorphic malware, the threat matrix has expanded and evolved. Alongside the rise in cyber threats, the world has experienced a digital transformation with an increasing reliance on the internet for business, communication, and everyday tasks. This convergence of widespread digital adoption and the proliferation of cyber threats underscores the need for robust protective measures. Antivirus software stands as one of the frontline defenses against these threats.

Truly Concurrent Process Algebra With Localities

  • 1st Edition
  • August 20, 2024
  • Yong Wang
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 3 3 0 6 8 - 1
  • eBook
    9 7 8 - 0 - 4 4 3 - 3 3 0 6 9 - 8
Truly Concurrent Process Algebra with Localities introduces localities into truly concurrent process algebras. The book explores all aspects of localities in truly concurrent process algebras, such as Calculus for True Concurrency (CTC), which is a generalization of CCS for true concurrency, Algebra of Parallelism for True Concurrency (APTC), which is a generalization of ACP for true concurrency, and Π Calculus for True Concurrency (Π). Together, these approaches capture the so-called true concurrency based on truly concurrent bisimilarities, such as pomset bisimilarity, step bisimilarity, history-preserving (hp-) bisimilarity and hereditary history-preserving (hhp-) bisimilarity.This book provides readers with all aspects of algebraic theory for localities, including the basis of semantics, calculi for static localities, axiomatization for static localities, as well as calculi for dynamic localities and axiomatization for dynamic localities.

CUDA Fortran for Scientists and Engineers

  • 2nd Edition
  • July 11, 2024
  • Gregory Ruetsch + 1 more
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 2 1 9 7 7 - 1
  • eBook
    9 7 8 - 0 - 4 4 3 - 2 1 9 7 6 - 4
CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. In order to add CUDA Fortran to existing Fortran codes, they explain how to understand the target GPU architecture, identify computationally-intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance – all in Fortran, without having to rewrite in another language.Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison.This second edition provides much needed updates on how to efficiently program GPUs in CUDA Fortran. It can be used either as a tutorial on GPU programming in CUDA Fortran as well as a reference text.

API Design for C++

  • 2nd Edition
  • May 23, 2024
  • Martin Reddy
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 2 2 2 1 9 - 1
  • eBook
    9 7 8 - 0 - 4 4 3 - 2 2 2 2 0 - 7
API Design for C++, Second Edition provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long-term. It presents patterns and practices that provide real value to individual developers as well as organizations.The Second Edition includes all new material fully updated for the latest versions of C++, including a new chapter on concurrency and multithreading, as well as a new chapter discussing how Objective C++ and C++ code can co-exist and how a C++ API can be accessed from Swift programs. In addition, it explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that produce high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing.

Theory of Structured Parallel Programming

  • 1st Edition
  • April 26, 2024
  • Yong Wang
  • English
  • Paperback
    9 7 8 - 0 - 4 4 3 - 2 4 8 1 4 - 6
  • eBook
    9 7 8 - 0 - 4 4 3 - 2 4 8 1 5 - 3
Theory of Structured Parallel Programming is a comprehensive guide to structured parallel programming corresponding to traditional structured sequential programming. The book provides readers with comprehensive coverage of theoretical foundations of structured parallel programming, including analyses of parallelism and concurrency, truly concurrent process algebras, building block-based structured parallel programming, modelling and verification of parallel programming language, modelling and verification of parallel programming patterns, as well as modeling and verification of distributed systems.There have been always two ways to approach parallel computing: one is the structured way, and the other is the graph-based (true concurrent) way. The structured way is often based on the interleaving semantics, such as process algebra CCS. Since the parallelism in interleaving semantics is not a fundamental computational pattern (the parallel operator can be replaced by alternative composition and sequential composition), the parallel operator often does not occur as an explicit operator, such as in the mainstream programming languages C, C++, Java, et al.