Computer Science

34 books, 4 subcategories
Order by
Tackle computer science challenges with classic to modern algorithms in machine learning, software design, data systems, and cryptography
by Imran Ahmad

The ability to use algorithms to solve real-world problems is a must-have skill for any developer or programmer. This book will help you not only to develop the skills to select and use an algorithm to tackle problems in the real world but also to understand how it works.

You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, with the help of practical examples. As you advance, you'll learn about linear programming, page ranking, and graphs, and will then work with machine learning algorithms to understand the math and logic behind them.

Case studies will show you how to apply these algorithms optimally before you focus on deep learning algorithms and learn about different types of deep learning models along with their practical use.

You will also learn about modern sequential models and their variants, algorithms, methodologies, and architectures that are used to implement Large Language Models (LLMs) such as ChatGPT.

Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks.

By the end of this programming book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.

What you will learn

  • Design algorithms for solving complex problems
  • Become familiar with neural networks and deep learning techniques
  • Explore existing data structures and algorithms found in Python libraries
  • Implement graph algorithms for fraud detection using network analysis
  • Delve into state-of-the-art algorithms for proficient Natural Language Processing illustrated with real-world examples
  • Create a recommendation engine that suggests relevant movies to subscribers
  • Grasp the concepts of sequential machine learning models and their foundational role in the development of cutting-edge LLMs

Who this book is for

This computer science book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code. Whether you are a beginner looking to learn the most used algorithms concisely or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful. Python programming experience is a must, knowledge of data science will be helpful but not necessary.

Level Up Your Core Programming Skills
by Jay Wengrow

Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today’s web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work.

Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You’ll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions.

Use these techniques today to make your code faster and more scalable.

by Marcello La Rocca

As a software engineer, you’ll encounter countless programming challenges that initially seem confusing, difficult, or even impossible. Don’t despair! Many of these “new” problems already have well-established solutions.

Advanced Algorithms and Data Structures teaches you powerful approaches to a wide range of tricky coding challenges that you can adapt and apply to your own applications. Providing a balanced blend of classic, advanced, and new algorithms, this practical guide upgrades your programming toolbox with new perspectives and hands-on techniques.

Unlock Your Programming Potential
by Daniel Zingaro

Are you hitting a wall with data structures and algorithms? Whether you’re a student prepping for coding interviews or an independent learner, this book is your essential guide to efficient problem-solving in programming.

UNLOCK THE POWER OF DATA STRUCTURES & ALGORITHMS: Learn the intricacies of hash tables, recursion, dynamic programming, trees, graphs, and heaps. Become proficient in choosing and implementing the best solutions for any coding challenge.

REAL-WORLD, COMPETITION-PROVEN CODE EXAMPLES: The programs and challenges in this book aren’t just theoretical—they’re drawn from real programming competitions. Train with problems that have tested and honed the skills of coders around the world.

GET INTERVIEW-READY: Prepare yourself for coding interviews with practice exercises that help you think algorithmically, weigh different solutions, and implement the best choices efficiently.

WRITTEN IN C, USEFUL ACROSS LANGUAGES: The code examples are written in C and designed for clarity and accessibility to those familiar with languages like C++, Java, or Python. If you need help with the C code, no problem: We’ve got recommended reading, too.

Algorithmic Thinking is the complete package, providing the solid foundation you need to elevate your coding skills to the next level.

by Robert Sedgewick and Kevin Wayne

This fourth edition of Robert Sedgewick and Kevin Wayne’s Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing--including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.

The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.

by Dzejla Medjedovic, Emin Tahirovic and Ines Dedovic

Massive modern datasets make traditional data structures and algorithms grind to a halt. This fun and practical guide introduces cutting-edge techniques that can reliably handle even the largest distributed datasets.

In Algorithms and Data Structures for Massive Datasets you will learn:

  • Probabilistic sketching data structures for practical problems
  • Choosing the right database engine for your application
  • Evaluating and designing efficient on-disk data structures and algorithms
  • Understanding the algorithmic trade-offs involved in massive-scale systems
  • Deriving basic statistics from streaming data
  • Correctly sampling streaming data
  • Computing percentiles with limited space resources

Algorithms and Data Structures for Massive Datasets reveals a toolbox of new methods that are perfect for handling modern big data applications. You’ll explore the novel data structures and algorithms that underpin Google, Facebook, and other enterprise applications that work with truly massive amounts of data. These effective techniques can be applied to any discipline, from finance to text analysis. Graphics, illustrations, and hands-on industry examples make complex ideas practical to implement in your projects—and there’s no mathematical proofs to puzzle over. Work through this one-of-a-kind guide, and you’ll find the sweet spot of saving space without sacrificing your data’s accuracy.

by David Kopec

Sharpen your coding skills by exploring established computer science problems!

Classic Computer Science Problems in Java challenges you with time-tested scenarios and algorithms. You’ll work through a series of exercises based in computer science fundamentals that are designed to improve your software development abilities, improve your understanding of artificial intelligence, and even prepare you to ace an interview. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems!

by David Kopec

Classic Computer Science Problems in Python deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems!

Essential techniques for practicing programmers
by David Kopec

Classic Computer Science Problems in Swift deepens your Swift language skills by exploring foundational coding techniques and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems. All examples are written in Swift 4.1.

How quantum computing works and how it can change the world
by Robert S. Sutor

Quantum computing is making us change the way we think about computers. Quantum bits, a.k.a. qubits, can make it possible to solve problems that would otherwise be intractable with current computing technology.

Dancing with Qubits is a quantum computing textbook that starts with an overview of why quantum computing is so different from classical computing and describes several industry use cases where it can have a major impact. From there it moves on to a fuller description of classical computing and the mathematical underpinnings necessary to understand such concepts as superposition, entanglement, and interference. Next up is circuits and algorithms, both basic and more sophisticated. It then nicely moves on to provide a survey of the physics and engineering ideas behind how quantum computing hardware is built. Finally, the book looks to the future and gives you guidance on understanding how further developments will affect you.

Really understanding quantum computing requires a lot of math, and this book doesn't shy away from the necessary math concepts you'll need. Each topic is introduced and explained thoroughly, in clear English with helpful examples.

What you will learn

  • See how quantum computing works, delve into the math behind it, what makes it different, and why it is so powerful with this quantum computing textbook
  • Discover the complex, mind-bending mechanics that underpin quantum systems
  • Understand the necessary concepts behind classical and quantum computing
  • Refresh and extend your grasp of essential mathematics, computing, and quantum theory
  • Explore the main applications of quantum computing to the fields of scientific computing, AI, and elsewhere
  • Examine a detailed overview of qubits, quantum circuits, and quantum algorithm

Who this book is for

Dancing with Qubits is a quantum computing textbook for those who want to deeply explore the inner workings of quantum computing. This entails some sophisticated mathematical exposition and is therefore best suited for those with a healthy interest in mathematics, physics, engineering, and computer science.

by John Canning, Alan Broder and Robert Lafore

This practical introduction to data structures and algorithms can help every programmer who wants to write more efficient software. Building on Robert Lafores legendary Java-based guide, this book helps you understand exactly how data structures and algorithms operate. Youll learn how to efficiently apply them with the enormously popular Python language and scale your code to handle todays big data challenges.

Throughout, the authors focus on real-world examples, communicate key ideas with intuitive, interactive visualizations, and limit complexity and math to what you need to improve performance. Step-by-step, they introduce arrays, sorting, stacks, queues, linked lists, recursion, binary trees, 2-3-4 trees, hash tables, spatial data structures, graphs, and more. Their code examples and illustrations are so clear, you can understand them even if youre a near-beginner, or your experience is with other procedural or object-oriented languages.

  • Build core computer science skills that take you beyond merely writing code
  • Learn how data structures make programs (and programmers) more efficient
  • See how data organization and algorithms affect how much you can do with todays, and tomorrows, computing resources
  • Develop data structure implementation skills you can use in any language
  • Choose the best data structure(s) and algorithms for each programming problemand recognize which ones to avoid

Data Structures & Algorithms in Python is packed with examples, review questions, individual and team exercises, thought experiments, and longer programming projects. It’s ideal for both self-study and classroom settings, and either as a primary text or as a complement to a more formal presentation.

by Michael T. Goodrich, Roberto Tamassia and David M. Mount

An updated, innovative approach to data structures and algorithms

Written by an author team of experts in their fields, this authoritative guide demystifies even the most difficult mathematical concepts so that you can gain a clear understanding of data structures and algorithms in C++.

The unparalleled author team incorporates the object-oriented design paradigm using C++ as the implementation language, while also providing intuition and analysis of fundamental algorithms.

  • Offers a unique multimedia format for learning the fundamentals of data structures and algorithms
  • Allows you to visualize key analytic concepts, learn about the most recent insights in the field, and do data structure design
  • Provides clear approaches for developing programs
  • Features a clear, easy-to-understand writing style that breaks down even the most difficult mathematical concepts

Building on the success of the first edition, this new version offers you an innovative approach to fundamental data structures and algorithms.

by Michael T. Goodrich and Roberto Tamassia

The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.

An Amusing Adventure with Coffee-Filled Examples
by Jeremy Kubica

This accessible and entertaining book provides an in-depth introduction to computational thinking through the lens of data structures — a critical component in any programming endeavor. Through diagrams, pseudocode, and humorous analogies, you’ll learn how the structure of data drives algorithmic operations, gaining insight into not just how to build data structures, but precisely how and when to use them.

This book will give you a strong background in implementing and working with more than 15 key data structures, from stacks, queues, and caches to bloom filters, skip lists, and graphs. Master linked lists by standing in line at a cafe, hash tables by cataloging the history of the summer Olympics, and Quadtrees by neatly organizing your kitchen cabinets. Along with basic computer science concepts like recursion and iteration, you’ll learn:

  • The complexity and power of pointers
  • The branching logic of tree-based data structures
  • How different data structures insert and delete data in memory
  • Why mathematical mappings and randomization are useful
  • How to make tradeoffs between speed, flexibility, and memory usage

Data Structures the Fun Way shows how to efficiently apply these ideas to real-world problems—a surprising number of which focus on procuring a decent cup of coffee. At any level, fully understanding data structures will teach you core skills that apply across multiple programming languages, taking your career to the next level.

by Stephan Raaijmakers

Explore the most challenging issues of natural language processing, and learn how to solve them with cutting-edge deep learning!

Inside Deep Learning for Natural Language Processing you’ll find a wealth of NLP insights, including:

  • An overview of NLP and deep learning
  • One-hot text representations
  • Word embeddings
  • Models for textual similarity
  • Sequential NLP
  • Semantic role labeling
  • Deep memory-based NLP
  • Linguistic structure
  • Hyperparameters for deep NLP

Deep learning has advanced natural language processing to exciting new levels and powerful new applications! For the first time, computer systems can achieve "human" levels of summarizing, making connections, and other tasks that require comprehension and context.

Deep Learning for Natural Language Processing reveals the groundbreaking techniques that make these innovations possible. Stephan Raaijmakers distills his extensive knowledge into useful best practices, real-world applications, and the inner workings of top NLP algorithms.

A Pythonic Adventure for the Intrepid Beginner
by Bradford Tuckfield

Dive Into Algorithms is a wide-ranging, Pythonic tour of many of the world's most interesting algorithms. With little more than a bit of computer programming experience and basic high-school math, you'll explore standard computer science algorithms for searching, sorting, and optimization; human-based algorithms that help us determine how to catch a baseball or eat the right amount at a buffet; and advanced algorithms like ones used in machine learning and artificial intelligence. You'll even explore how ancient Egyptians and Russian peasants used algorithms to multiply numbers, how the ancient Greeks used them to find greatest common divisors, and how Japanese scholars in the age of samurai designed algorithms capable of generating magic squares.

You'll explore algorithms that are useful in pure mathematics and learn how mathematical ideas can improve algorithms. You'll learn about an algorithm for generating continued fractions, one for quick calculations of square roots, and another for generating seemingly random sets of numbers.

You'll also learn how to:

  • Use algorithms to debug code, maximize revenue, schedule tasks, and create decision trees
  • Measure the efficiency and speed of algorithms
  • Generate Voronoi diagrams for use in various geometric applications
  • Use algorithms to build a simple chatbot, win at board games, or solve sudoku puzzles
  • Write code for gradient ascent and descent algorithms that can find the maxima and minima of functions
  • Use simulated annealing to perform global optimization
  • Build a decision tree to predict happiness based on a person's characteristics

Once you've finished this book you'll understand how to code and implement important algorithms as well as how to measure and optimize their performance, all while learning the nitty-gritty details of today's most powerful algorithms.

by Ekaterina Kochmar

Hit the ground running with this in-depth introduction to the NLP skills and techniques that allow your computers to speak human.

In Getting Started with Natural Language Processing you’ll learn about:

  • Fundamental concepts and algorithms of NLP
  • Useful Python libraries for NLP
  • Building a search algorithm
  • Extracting information from raw text
  • Predicting sentiment of an input text
  • Author profiling
  • Topic labeling
  • Named entity recognition

Getting Started with Natural Language Processing is an enjoyable and understandable guide that helps you engineer your first NLP algorithms. Your tutor is Dr. Ekaterina Kochmar, lecturer at the University of Bath, who has helped thousands of students take their first steps with NLP. Full of Python code and hands-on projects, each chapter provides a concrete example with practical techniques that you can put into practice right away. If you’re a beginner to NLP and want to upgrade your applications with functions and features like information extraction, user profiling, and automatic topic labeling, this is the book for you.

by Kirill Bobrov

This easy-to-read, hands-on guide demystifies concurrency concepts like threading, asynchronous programming, and parallel processing in any language.

Perplexed by concurrency? Don’t be. This engaging, fully-illustrated beginner’s guide gets you writing the kind of high-performance code your apps deserve. Inside, you’ll find thorough explanations of concurrency’s core concepts—all explained with interesting illustrations, insightful examples, and detailed techniques you can apply to your own projects.

In Grokking Concurrency you will:

  • Get up to speed with the core concepts of concurrency, asynchrony, and parallel programming
  • Learn the strengths and weaknesses of different hardware architectures
  • Improve the sequential performance characteristics of your software
  • Solve common problems for concurrent programming
  • Compose patterns into a series of practices for writing scalable systems
  • Write and implement concurrency systems that scale to any size

Discover effective concurrency practices that will help you leverage multiple cores, excel with high loads, handle terabytes of data, and continue working after hardware and software failures. The core concepts in this guide will remain eternally relevant, whether you’re building web apps, IoT systems, or handling big data.

Store, manipulate, and access data effectively and boost the performance of your applications
by Dr. Basant Agarwal

Choosing the right data structure is pivotal to optimizing the performance and scalability of applications. This new edition of Hands-On Data Structures and Algorithms with Python will expand your understanding of key structures, including stacks, queues, and lists, and also show you how to apply priority queues and heaps in applications. You'll learn how to analyze and compare Python algorithms, and understand which algorithms should be used for a problem based on running time and computational complexity. You will also become confident organizing your code in a manageable, consistent, and scalable way, which will boost your productivity as a Python developer.

By the end of this Python book, you'll be able to manipulate the most important data structures and algorithms to more efficiently store, organize, and access data in your applications.

What you will learn

  • Understand common data structures and algorithms using examples, diagrams, and exercises
  • Explore how more complex structures, such as priority queues and heaps, can benefit your code
  • Implement searching, sorting, and selection algorithms on number and string sequences
  • Become confident with key string-matching algorithms
  • Understand algorithmic paradigms and apply dynamic programming techniques
  • Use asymptotic notation to analyze algorithm performance with regard to time and space complexities
  • Write powerful, robust code using the latest features of Python

Who this book is for

This book is for developers and programmers who are interested in learning about data structures and algorithms in Python to write complex, flexible programs. Basic Python programming knowledge is expected.

A hands-on approach
by Sarah C. Kaiser and Cassandra E. Granade

Learn Quantum Computing with Python and Q# demystifies quantum computing. Using Python and the new quantum programming language Q#, you’ll build your own quantum simulator and apply quantum programming techniques to real-world examples including cryptography and chemical analysis.

A Programmer's Guide to Writing Better Code
by George Heineman

When it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively.

Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, you'll get to apply what you've learned to a novel challenge problem -- simulating the experience you might find in a technical code interview.

With this book, you will:

  • Examine fundamental algorithms central to computer science and software engineering
  • Learn common strategies for efficient problem solving — such as divide and conquer, dynamic programming, and greedy approaches
  • Analyze code to evaluate time complexity using big O notation
  • Use existing Python libraries and data structures to solve problems using algorithms
  • Understand the main steps of important algorithms
Learn to build apps that can understand people
by George-Bogdan Ivanov

Natural Language Processing (NLP) is a collection of techniques to analyze, interpret, and create human-understandable text and speech. Advances in machine learning have pushed NLP to new levels of accuracy and uncanny realism.

Natural Language Processing for Hackers lays out everything you need to crawl, clean, build, fine-tune, and deploy natural language models from scratch—all with easy-to-read Python code.

A Practical Introduction
by Yuli Vasiliev

Natural Language Processing with Python and spaCy will show you how to create NLP applications like chatbots, text-condensing scripts, and order-processing tools quickly and easily. You’ll learn how to leverage the spaCy library to extract meaning from text intelligently; how to determine the relationships between words in a sentence (syntactic dependency parsing); identify nouns, verbs, and other parts of speech (part-of-speech tagging); and sort proper nouns into categories like people, organizations, and locations (named entity recognizing). You’ll even learn how to transform statements into questions to keep a conversation going.

You’ll also learn how to:

  • Work with word vectors to mathematically find words with similar meanings (Chapter 5)
  • Identify patterns within data using spaCy's built-in displaCy visualizer (Chapter 7)
  • Automatically extract keywords from user input and store them in a relational database (Chapter 9)
  • Deploy a chatbot app to interact with users over the internet (Chapter 11)

“Try This” sections in each chapter encourage you to practice what you’ve learned by expanding the book’s example scripts to handle a wider range of inputs, add error handling, and build professional-quality applications.

By the end of the book, you’ll be creating your own NLP applications with Python and spaCy.

Building Language Applications with Hugging Face
by Lewis Tunstall, Leandro von Werra and Thomas Wolf

Since their introduction in 2017, transformers have quickly become the dominant architecture for achieving state-of-the-art results on a variety of natural language processing tasks. If you're a data scientist or coder, this practical book -now revised in full color- shows you how to train and scale these large models using Hugging Face Transformers, a Python-based deep learning library.

Transformers have been used to write realistic news stories, improve Google Search queries, and even create chatbots that tell corny jokes. In this guide, authors Lewis Tunstall, Leandro von Werra, and Thomas Wolf, among the creators of Hugging Face Transformers, use a hands-on approach to teach you how transformers work and how to integrate them in your applications. You'll quickly learn a variety of tasks they can help you solve.

  • Build, debug, and optimize transformer models for core NLP tasks, such as text classification, named entity recognition, and question answering
  • Learn how transformers can be used for cross-lingual transfer learning
  • Apply transformers in real-world scenarios where labeled data is scarce
  • Make transformer models efficient for deployment using techniques such as distillation, pruning, and quantization
  • Train transformers from scratch and learn how to scale to multiple GPUs and distributed environments
by Robert Robey and Yuliana Zamora

Complex calculations, like training deep learning models or running large-scale simulations, can take an extremely long time. Efficient parallel programming can save hours—or even days—of computing time.

Parallel and High Performance Computing shows you how to deliver faster run-times, greater scalability, and increased energy efficiency to your programs by mastering parallel techniques for multicore processor and GPU hardware.

A Comprehensive Guide to Building Real-World NLP Systems
by Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta and Harshit Surana

Many books and courses tackle natural language processing (NLP) problems with toy use cases and well-defined datasets. But if you want to build, iterate, and scale NLP systems in a business setting and tailor them for particular industry verticals, this is your guide. Software engineers and data scientists will learn how to navigate the maze of options available at each step of the journey.

Through the course of the book, authors Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, and Harshit Surana will guide you through the process of building real-world NLP solutions embedded in larger product setups. You’ll learn how to adapt your solutions for different industry verticals such as healthcare, social media, and retail.

With this book, you’ll:

  • Understand the wide spectrum of problem statements, tasks, and solution approaches within NLP
  • Implement and evaluate different NLP applications using machine learning and deep learning methods
  • Fine-tune your NLP solution based on your business problem and industry vertical
  • Evaluate various algorithms and approaches for NLP product tasks, datasets, and stages
  • Produce software solutions following best practices around release, deployment, and DevOps for NLP systems
  • Understand best practices, opportunities, and the roadmap for NLP from a business and product leader’s perspective
by Michael Baron

Probability and Statistics for Computer Scientists, Third Edition helps students understand fundamental concepts of Probability and Statistics, general methods of stochastic modeling, simulation, queuing, and statistical data analysis; make optimal decisions under uncertainty; model and evaluate computer systems; and prepare for advanced probability-based courses. Written in a lively style with simple language and now including R as well as MATLAB, this classroom-tested book can be used for one- or two-semester courses.


  • Axiomatic introduction of probability
  • Expanded coverage of statistical inference and data analysis, including estimation and testing, Bayesian approach, multivariate regression, chi-square tests for independence and goodness of fit, nonparametric statistics, and bootstrap
  • Numerous motivating examples and exercises including computer projects
  • Fully annotated R codes in parallel to MATLAB
  • Applications in computer science, software engineering, telecommunications, and related areas
  • In-Depth yet Accessible Treatment of Computer Science-Related Topics

Starting with the fundamentals of probability, the text takes students through topics heavily featured in modern computer science, computer engineering, software engineering, and associated fields, such as computer simulations, Monte Carlo methods, stochastic processes, Markov chains, queuing theory, statistical inference, and regression. It also meets the requirements of the Accreditation Board for Engineering and Technology (ABET).

by whurley and Floyd Earl Smith

Quantum computing has the promise to be the next huge thing in technology. How do we know that? Look at how much the big players in tech are investing in the technology. Quantum Computing For Dummies preps you for the amazing changes that are coming with the world of computing built on the phenomena of quantum mechanics. Need to know what is it and how does it work? This easy-to-understand book breaks it down and answers your most pressing questions. Get a better understanding of how quantum computing is revolutionizing networking, data management, cryptography, and artificial intelligence in ways that would have previously been unthinkable. With a Dummies guide by your side, you’ll get a primer on the inner workings and practical applications of quantum computers.

  • Learn the difference binary and quantum computers
  • Discover which industries will be most influenced by quantum computing
  • See how quantum improves encryption and enables business
  • Take a look at how quantum is applied in big data and AI

For technologists and IT pros interested in getting on board the quantum train—plus anyone who’s quantum-curious—this Dummies guide is a must-have.

by Johan Vos

Quantum computing is on the horizon and you can get started today! This practical, clear-spoken guide shows you don’t need a physics degree to write your first quantum software.

In Quantum Computing in Action you will learn:

  • An introduction to the core concepts of quantum computing
  • Qubits and quantum gates
  • Superposition, entanglement, and hybrid computing
  • Quantum algorithms including Shor’s, Deutsch-jozsa, and Grover’s search

Quantum Computing in Action shows you how to leverage your existing Java skills into writing your first quantum software, so you’re ready for the quantum revolution. This book is focused on practical implementations of quantum computing algorithms—there’s no deep math or confusing theory. Using Strange, a Java-based quantum computer simulator, you’ll go hands-on with quantum computing’s core components including qubits and quantum gates.

Practical applications with deep learning
by Masato Hagiwara

In Real-world Natural Language Processing you will learn how to:

  • Design, develop, and deploy useful NLP applications
  • Create named entity taggers
  • Build machine translation systems
  • Construct language generation systems and chatbots
  • Use advanced NLP concepts such as attention and transfer learning

Real-world Natural Language Processing teaches you how to create practical NLP applications without getting bogged down in complex language theory and the mathematics of deep learning. In this engaging book, you’ll explore the core tools and techniques required to build a huge range of powerful NLP apps, including chatbots, language detectors, and text classifiers.

by Donald E. Knuth

This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures–the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research.

An Algorithmic Tale of Crime, Conspiracy, and Computation
by Jeremy Kubica

Meet Frank Runtime. Disgraced ex-detective. Hard-boiled private eye. Search expert.

When a robbery hits police headquarters, it’s up to Frank Runtime and his extensive search skills to catch the culprits. In this detective story, you’ll learn how to use algorithmic tools to solve the case. Runtime scours smugglers’ boats with binary search, tails spies with a search tree, escapes a prison with depth-first search, and picks locks with priority queues. Joined by know-it-all rookie Officer Notation and inept tag-along Socks, he follows a series of leads in a best-first search that unravels a deep conspiracy. Each chapter introduces a thrilling twist matched with a new algorithmic concept, ending with a technical recap.

Perfect for computer science students and amateur sleuths alike, The CS Detective adds an entertaining twist to learning algorithms.

Follow Frank’s mission and learn:

  • The algorithms behind best-first and depth-first search, iterative deepening, parallelizing, binary search, and more
  • Basic computational concepts like strings, arrays, stacks, and queues
  • How to adapt search algorithms to unusual data structures
  • The most efficient algorithms to use in a given situation, and when to apply common-sense heuristic methods
by Paul Azunre

Build custom NLP models in record time by adapting pre-trained machine learning models to solve specialized problems.

In Transfer Learning for Natural Language Processing you will learn:

  • Fine tuning pretrained models with new domain data
  • Picking the right model to reduce resource usage
  • Transfer learning for neural network architectures
  • Generating text with generative pretrained transformers
  • Cross-lingual transfer learning with BERT
  • Foundations for exploring NLP academic literature

Training deep learning NLP models from scratch is costly, time-consuming, and requires massive amounts of data. In

Transfer Learning for Natural Language Processing, DARPA researcher Paul Azunre reveals cutting-edge transfer learning techniques that apply customizable pretrained models to your own NLP architectures. You’ll learn how to use transfer learning to deliver state-of-the-art results for language comprehension, even when working with limited label data. Best of all, you’ll save on training time and computational costs.

Explore Generative AI and Large Language Models with Hugging Face, ChatGPT, GPT4-V, and DALL-E 3
by Denis Rothman

Transformers for Natural Language Processing and Computer Vision, Third Edition, explores Large Language Model (LLM) architectures, applications, and various platforms (Hugging Face, OpenAI, and Google Vertex AI) used for Natural Language Processing (NLP) and Computer Vision (CV).

The book guides you through different transformer architectures to the latest Foundation Models and Generative AI. You’ll pretrain and fine-tune LLMs and work through different use cases, from summarization to implementing question-answering systems with embedding-based search techniques. You will also learn the risks of LLMs, from hallucinations and memorization to privacy, and how to mitigate such risks using moderation models with rule and knowledge bases. You’ll implement Retrieval Augmented Generation (RAG) with LLMs to improve the accuracy of your models and gain greater control over LLM outputs.

Dive into generative vision transformers and multimodal model architectures and build applications, such as image and video-to-text classifiers. Go further by combining different models and platforms and learning about AI agent replication.

This book provides you with an understanding of transformer architectures, pretraining, fine-tuning, LLM use cases, and best practices.

What you will learn

  • Learn how to pretrain and fine-tune LLMs
  • Learn how to work with multiple platforms, such as Hugging Face, OpenAI, and Google Vertex AI
  • Learn about different tokenizers and the best practices for preprocessing language data
  • Implement Retrieval Augmented Generation and rules bases to mitigate hallucinations
  • Visualize transformer model activity for deeper insights using BertViz, LIME, and SHAP
  • Create and implement cross-platform chained models, such as HuggingGPT
  • Go in-depth into vision transformers with CLIP, DALL-E 2, DALL-E 3, and GPT-4V

Who this book is for

This book is ideal for NLP and CV engineers, software developers, data scientists, machine learning engineers, and technical leaders looking to advance their LLMs and generative AI skills or explore the latest trends in the field. Knowledge of Python and machine learning concepts is required to fully understand the use cases and code examples. However, with examples using LLM user interfaces, prompt engineering, and no-code model building, this book is great for anyone curious about the AI revolution.