Parallel and High Performance ComputingComplex 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.
Write fast, powerful, energy efficient programs that scale to tackle huge volumes of data. Using parallel programming, your code spreads data processing tasks across multiple CPUs for radically better performance. With a little help, you can create software that maximizes both speed and efficiency.
Parallel and High Performance Computing offers techniques guaranteed to boost your code's effectiveness. You'll learn to evaluate hardware architectures and work with industry standard tools such as OpenMP and MPI. You'll master the data structures and algor ...
Advanced Algorithms and Data StructuresAs 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.
Can you improve the speed and efficiency of your applications without investing in new hardware? Well, yes, you can: Innovations in algorithms and data structures have led to huge advances in application performance. Pick up this book to discover a collection of advanced algorithms that will make you a more effective developer.
Advanced Algorithms and Data Structures introduces a collection of algorithms for complex programming ...
Haskell in DepthTurn the corner from "Haskell student" to "Haskell developer." Haskell in Depth explores the important language features and programming skills you'll need to build production-quality software using Haskell. And along the way, you'll pick up some interesting insights into why Haskell looks and works the way it does. Get ready to go deep!
Software for high-precision tasks like financial transactions, defense systems, and scientific research must be absolutely, provably correct. As a purely functional programming language, Haskell enforces a mathematically rigorous approach that can lead to concise, efficient, and bug-free code. To write such code you'll need deep understanding. You can get it from this book!
Haskell in Depth unlocks a new level of skill with this challenging language. Going beyond the basics of syntax and structure, this book opens up critical topics like advanced types, concurrency, and data processing. You'll discover key parts of the Haskell ecosystem and maste ...
Learn Quantum Computing with Python and Q#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.
Quantum computers present a radical leap in speed and computing power. Improved scientific simulations and new frontiers in cryptography that are impossible with classical computing may soon be in reach. Microsoft's Quantum Development Kit and the Q# language give you the tools to experiment with quantum computing without knowing advanced math or theoretical physics.
Learn Quantum Computing with Python and Q# introduces quantum computing from a practical perspective. Use Python to build your own quantum simulator and take advantage of Microsoft's open source tools to fine-tune quantum algorithms. The authors explain complex math and theory through stories, visuals, and games. You'll learn to apply quant ...
Python for You and MeThis is a simple open book to learn Python programming language, it is for the programmers who are new to Python.
Python is an interpreted, high-level and general-purpose programming language. Python consistently ranks as one of the most popular programming languages. Large organizations that use Python include Wikipedia, Google, Yahoo, CERN, NASA, Dropbox, IBM, Mozilla, Facebook, Amazon, Instagram, Spotify, Reddit, ... ...
Mastering Tableau 2021, 3rd EditionTableau is one of the leading business intelligence (BI) tools used to solve data analysis challenges. With this book, you will master Tableau's features and offerings in various paradigms of the BI domain.
Updated with fresh topics including Quick Level of Detail expressions, the newest Tableau Server features, Einstein Discovery, and more, this book covers essential Tableau concepts and advanced functionalities. Leveraging Tableau Hyper files and using Prep Builder, you'll be able to perform data preparation and handling easily. You'll gear up to perform complex joins, spatial joins, unions, and data blending tasks using practical examples. Following this, you'll learn how to execute data densification and further explore expert-level examples to help you with calculations, mapping, and visual design using Tableau extensions. You'll also learn about improving dashboard performance, connecting to Tableau Server and understanding data visualization with examples. Finally, you'll cov ...
Git for ProgrammersGit is the most popular version control system in the world. It allows developers to keep up with frequent code changes in a project, ensures there are no code conflicts between the developers, and reverts to an older version of code when required.
Git for Programmers comprehensively equips you with actionable insights on advanced Git concepts in an engaging and straightforward way. This book will help you gain expertise on Git with many practical use cases as you progress through the chapters.
The book begins with a quick history of Git and instructions on how to get it and install it, after which you'll dive into the creation and cloning of your repository. As you progress through the book, you'll explore Git places, branching, and GUIs.
Once you understand the fundamentals, you'll learn how to handle merge conflicts, rebase, amend, interactive rebase, and use the log. You'll also explore important Git commands for managing your repository. Finally, the book concludes with c ...
10 PRINT CHR$(205.5+RND(1)); : GOTO 10This book takes a single line of code - the extremely concise BASIC program for the Commodore 64 inscribed in the title - and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture. The authors of this collaboratively written book treat code not as merely functional but as a text - in the case of 10 PRINT, a text that appeared in many different printed sources - that yields a story about its making, its purpose, its assumptions, and more. They consider randomness and regularity in computing and art, the maze in culture, the popular BASIC programming language, and the highly influential Commodore 64 computer. ...
Test-Driven Development in SwiftLeverage Swift to practice effective and efficient test-driven development (TDD) methodology. Software testing and TDD are evergreen programming concepts - yet Swift developers haven't widely adopted them. What's needed is a clear roadmap to learn and adopt TDD in the Swift world. Over the past years, Apple has invested in XCTest and Xcode's testing infrastructure, making testing a new top priority in their ecosystem. Open-source libraries such as Quick and Nimble have also reached maturity. The tools are there. This book will show you how to wield them.
TDD has much more to offer than catching bugs. With this book, you'll learn a philosophy for building software. TDD enables engineers to solve problems incrementally, writing only as much code as necessary. By decomposing big problems into small steps, you can move along at a fast pace, always making visible progress.
Participate in the test-driven development journey by building a real iOS application and incorporating new con ...
The CSS HandbookCSS, a shorthand for Cascading Style Sheets, is one of the main building blocks of the Web. Its history goes back to the 90's and along with HTML it has changed a lot since its humble beginnings.
This handbook is aimed at a vast audience.
- First, the beginner. I explain CSS from zero in a succinct but comprehensive way, so you can use this book to learn CSS from the basics.
- Then, the professional. CSS is often considered like a secondary thing to learn, especially by JavaScript developers. They know CSS is not a real programming language, they are programmers and therefore they should not bother learning CSS the right way. I wrote this book for you, too.
- Next, the person that knows CSS from a few years but hasn't had the opportunity to learn the new things in it. We'll talk extensively about the new features of CSS, the ones that are going to build the web of the next decade. CSS has improved a lot in the past few years and it's evolving fast.
Even if you don't write CSS ...