A Common-Sense Guide to Data Structures and Algorithms, 2nd EditionIf you thought that data structures and algorithms were all just theory, you're missing out on what they can do for your code. Learn to use Big O Notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. This new edition features practice exercises in every chapter, and new chapters on topics such as dynamic programming and heaps and tries. Get the hands-on info you need to master data structures and algorithms for your day-to-day work.
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 ...
Programming DSLs in KotlinCreating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs, because it greatly reduces the pain and effort of design and development. But implementing DSLs on top of Kotlin requires understanding the key strengths of the language and knowing how to apply them appropriately. Learn to avoid the pitfalls and leverage the language while creating your own elegant, fluent, concise, and robust DSLs using Kotlin.
Internal DSLs remove the burdens of implementing a full blown language compiler. The host language quickly becomes your ally to creating DSLs, but the syntax you can choose for your DSLs is limited to what the host language allows. You can work around the limitations by tactfully bending the rules and exploiting the language capabilities. Learn the power of Kotlin and ways to design with it, in the context o ...
Problem Solving with Algorithms and Data StructuresThe study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence. This open book is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level. You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore ...
Understanding the DOMJavaScript is the de facto programming language of the web, but the language itself does not include any built-in method for working with input/output (I/O), such as graphics display and sound. Instead, the web browser provides an API for accessing the HTML document in a tree structure known as the Document Object Model (DOM). The combination of JavaScript and the DOM is what allows us to create interactive, dynamic websites.
Many modern frameworks, such as React, Vue, and Svelte abstract away much of the DOM from the developer, but frameworks also use the DOM under the hood. The JavaScript library jQuery was also created to make working with the DOM easier, but the modern development practice is to work with the DOM directly. In order to be a proficient web developer, having a deep understanding of what the DOM is and how to work with it is essential. The goal of this book is to provide a base understanding of the DOM, as well as explore examples of the most common and useful metho ...
Learning TensorFlow.jsGiven the demand for AI and the ubiquity of JavaScript, TensorFlow.js was inevitable. With this Google framework, seasoned AI veterans and web developers alike can help propel the future of AI-driven websites. In this guide, author Gant Laborde (Google Developer Expert in machine learningand the web) provides a hands-on end-to-end approach to TensorFlow.js fundamentals for a broad technical audience that includes data scientists, engineers, web developers, students, and researchers.
You'll begin by working through some basic examples in TensorFlow.js before diving deeper into neural network architectures, DataFrames, TensorFlow Hub, model conversion, transfer learning, and more. Once you finish this book, you'll know how to build and deploy production-readydeep learning systems with TensorFlow.js.
- Explore tensors, the most fundamental structure of machine learning;
- Convert data into tensors and back with a real-world example;
- Combine AI with the web using TensorFlow.js; ...
Mastering ShinyMaster the Shiny web framework - and take your R skills to a whole new level. By letting you move beyond static reports, Shiny helps you create fully interactive web apps for data analyses. Users will be able to jump between datasets, explore different subsets or facets of the data, run models with parameter values of their choosing, customize visualizations, and much more.
Hadley Wickham from RStudio shows data scientists, data analysts, statisticians, and scientific researchers with no knowledge of HTML, CSS, or JavaScript how to create rich web apps from R. This in-depth guide provides a learning path that you can follow with confidence, as you go from a Shiny beginner to an expert developer who can write large, complex apps that are maintainable and performant.
Get started: Discover how the major pieces of a Shiny app fit together
Put Shiny in action: Explore Shiny functionality with a focus on code samples, example apps, and useful techniques
Master reactivity: Go deep int ...
Snake Wrangling for KidsPython for Kids is a lighthearted introduction to the Python language and to programming in general, complete with illustrations and kid-friendly examples. We begin with the basics of how to install Python and write simple commands. In bite-sized chapters, you'll discover the essentials of Python, including how to use Python's extensive standard library, the difference between strings and lists, and using for-loops and while-loops. By the end of the book, readers have built a couple of games and created drawings with Python's graphics library, Tkinter. Each chapter closes with fun and relevant exercises that challenge the reader to put their newly acquired knowledge to the test. ...
Automated Unit Testing with ABAPWrite automated unit tests for the ABAP language. This book teaches programmers using simple examples and metaphors and explains the underlying concepts of writing effective automated unit tests. Many, if not most, ABAP programmers learned their programming and testing skills before the ABAP development environment provided an automated unit testing facility.
Automated Unit Testing with ABAP: A Practical Approach offers hope and salvation to ABAP programmers who continue to toil with antiquated manual unit testing processes, taking them by the hand and lifting them out of that dungeon of despair with a modern and proven alternative. It begins by explaining how the xUnit family of automated testing frameworks provides a quick and effective means of insuring high-quality software. It then focuses on the ABAP Unit Testing Facility, the xUnit framework applicable specifically to the ABAP language, showing how it can be used to bring ABAP applications under automated testing control, fr ...
Beginning Machine Learning in the BrowserApply Artificial Intelligence techniques in the browser or on resource constrained computing devices. Machine learning (ML) can be an intimidating subject until you know the essentials and for what applications it works. This book takes advantage of the intricacies of the ML processes by using a simple, flexible and portable programming language such as JavaScript to work with more approachable, fundamental coding ideas.
Using JavaScript programming features along with standard libraries, you'll first learn to design and develop interactive graphics applications. Then move further into neural systems and human pose estimation strategies. For training and deploying your ML models in the browser, TensorFlow.js libraries will be emphasized.
After conquering the fundamentals, you'll dig into the wilderness of ML. Employ the ML and Processing (P5) libraries for Human Gait analysis. Building up Gait recognition with themes, you'll come to understand a variety of ML implementation issu ...
Quantum Machine Learning with PythonQuickly scale up to Quantum computing and Quantum machine learning foundations and related mathematics and expose them to different use cases that can be solved through Quantum based algorithms.This book explains Quantum Computing, which leverages the Quantum mechanical properties sub-atomic particles. It also examines Quantum machine learning, which can help solve some of the most challenging problems in forecasting, financial modeling, genomics, cybersecurity, supply chain logistics, cryptography among others.
You'll start by reviewing the fundamental concepts of Quantum Computing, such as Dirac Notations, Qubits, and Bell state, followed by postulates and mathematical foundations of Quantum Computing. Once the foundation base is set, you'll delve deep into Quantum based algorithms including Quantum Fourier transform, phase estimation, and HHL (Harrow-Hassidim-Lloyd) among others.
You'll then be introduced to Quantum machine learning and Quantum deep learning-based algorithms, ...