Learning FPGAsLearn how to design digital circuits with FPGAs (field-programmable gate arrays), the devices that reconfigure themselves to become the very hardware circuits you set out to program. With this practical guide, author Justin Rajewski shows you hands-on how to create FPGA projects, whether you're a programmer, engineer, product designer, or maker. You'll quickly go from the basics to designing your own processor.
Designing digital circuits used to be a long and costly endeavor that only big companies could pursue. FPGAs make the process much easier, and now they're affordable enough even for hobbyists. If you're familiar with electricity and basic electrical components, this book starts simply and progresses through increasingly complex projects.
Set up your environment by installing Xilinx ISE and the author's Mojo IDE; Learn how hardware designs are broken into modules, comparable to functions in a software program; Create digital hardware designs and learn the basics on how they ...
Test-Driven Development with Python, 2nd EditionBy taking you through the development of a real web application from beginning to end, the second edition of this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You'll learn how to write and run tests before building each part of your app, and then develop the minimum amount of code required to pass those tests. The result? Clean code that works.
In the process, you'll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you're ready to take your Python skills to the next level, this book—updated for Python 3.6—clearly demonstrates how TDD encourages simple designs and inspires confidence.
Dive into the TDD workflow, including the unit test/code cycle and refactoring; Use unit tests for classes and functions, and functional tests for user interactions within the browser; Learn when and how to use mock objects, and the pros and cons of isolated vs. integrated tests; Te ...
Interactive Data Visualization for the Web, 2nd EditionCreate and publish your own interactive data visualization projects on the web—even if you have little or no experience with data visualization or web development. It's inspiring and fun with this friendly, accessible, and practical hands-on introduction. This fully updated and expanded second edition takes you through the fundamental concepts and methods of D3, the most powerful JavaScript library for expressing data visually in a web browser.
Ideal for designers with no coding experience, reporters exploring data journalism, and anyone who wants to visualize and share data, this step-by-step guide will also help you expand your web programming skills by teaching you the basics of HTML, CSS, JavaScript, and SVG.
Learn D3 4.x—the latest D3 version—with downloadable code and over 140 examples; Create bar charts, scatter plots, pie charts, stacked bar charts, and force-directed graphs; Use smooth, animated transitions to show changes in your data; Introduce interactivity to h ...
Cloud Native JavaWhat separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. This practical guide shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.
Many organizations have already waded into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani fully immerse you in the tools and methodologies that will help you transform your legacy application into one that is genuinely cloud native.
In four sections, this book takes you through: The Basics: learn the motivations behind cloud native thinking; configure and test a Spring Boot application; and move your legacy application to the cloud; Web Services: build HTTP and RESTful services with Spring; route requests in your distributed system; and ...
Mobile Game Development with UnityDo you want to build mobile games, but lack game development experience? No problem. This practical guide shows you how to create beautiful, interactive content for iOS and Android devices with the Unity game engine.
Authors Jon Manning and Paris Buttfield-Addison (iOS Swift Game Development Cookbook) provide a top-to-bottom overview of Unity's features with specific, project-oriented guidance on how to use them in real game situations. Over the course of this book, you'll learn hands-on how to build 2D and 3D games from scratch that will hook and delight players. If you have basic programming skills, you're ready to get started.
Explore the basics of Unity, and learn how to structure games, graphics, scripting, sounds, physics, and particle systems; Use 2D graphics and physics features to build a side-scrolling action game; Create a 3D space combat simulator with projectile shooting and respawning objects, and learn how to manage the appearance of 3D models; Dive into Unity's ad ...
Data Science with JavaData Science is booming thanks to R and Python, but Java brings the robustness, convenience, and ability to scale critical to today's data science applications. With this practical book, Java software engineers looking to add data science skills will take a logical journey through the data science pipeline. Author Michael Brzustowicz explains the basic math theory behind each step of the data science process, as well as how to apply these concepts with Java.
You'll learn the critical roles that data IO, linear algebra, statistics, data operations, learning and prediction, and Hadoop MapReduce play in the process. Throughout this book, you'll find code examples you can use in your applications. Examine methods for obtaining, cleaning, and arranging data into its purest form;Understand the matrix structure that your data should take;Learn basic concepts for testing the origin and validity of data;Transform your data into stable and usable numerical val ...
Reinforcement LearningMaster reinforcement learning, a popular area of machine learning, starting with the basics: discover how agents and the environment evolve and then gain a clear picture of how they are inter-related. You'll then work with theories related to reinforcement learning and see the concepts that build up the reinforcement learning process.
Reinforcement Learning discusses algorithm implementations important for reinforcement learning, including Markov's Decision process and Semi Markov Decision process. The next section shows you how to get started with Open AI before looking at Open AI Gym. You'll then learn about Swarm Intelligence with Python in terms of reinforcement learning.
The last part of the book starts with the TensorFlow environment and gives an outline of how reinforcement learning can be applied to TensorFlow. There's also coverage of Keras, a framework that can be used with reinforcement learning. Finally, you'll delve into Google's Deep Mind and see scenarios where rein ...
Practical Machine Learning with PythonMaster the essential skills needed to recognize and solve complex problems with machine learning and deep learning. Using real-world examples that leverage the popular Python machine learning ecosystem, this book is your perfect companion for learning the art and science of machine learning to become a successful practitioner. The concepts, techniques, tools, frameworks, and methodologies used in this book will teach you how to think, design, build, and execute machine learning systems and projects successfully.
Practical Machine Learning with Python follows a structured and comprehensive three-tiered approach packed with hands-on examples and code.
Part 1 focuses on understanding machine learning concepts and tools. This includes machine learning basics with a broad overview of algorithms, techniques, concepts and applications, followed by a tour of the entire Python machine learning ecosystem. Brief guides for useful machine learning tools, libraries and frameworks are also covered. ...
Java Game Development with LibGDXLearn to design and create video games using the Java programming language and the LibGDX software library. Working through the examples in this book, you will create 12 game prototypes in a variety of popular genres, from collection-based and shoot-em-up arcade games to side-scrolling platformers and sword-fighting adventure games. With the flexibility provided by LibGDX, specialized genres such as card games, rhythm games, and visual novels are also covered in this book.
Major updates in this edition include chapters covering advanced topics such as alternative sources of user input, procedural content generation, and advanced graphics. Appendices containing examples for game design documentation and a complete JavaDoc style listing of the extension classes developed in the book have also been added.Create 12 complete video game projects;Master advanced Java programming concepts, including data structures, encapsulation, inheritance, and algorithms, in the context o ...
Learn Computer Science with SwiftMaster the basics of solving logic puzzles, and creating algorithms using Swift on Apple platforms. This book is based on the curriculum currently being used in common computer classes. You'll learn to automate algorithmic processes that scale using Swift in the context of iOS, macOS, tvOS, and watchOS.
Begin by understanding how to think computationally: to formulate a computational problem and recognize patterns and ways to validate it. Then jump ahead past the abstractions and conceptual work into using code snippets to build frameworks and write code using Xcode and Swift. Once you have frameworks in place, you'll learn to use algorithms and structure data. Finally, you'll see how to bring people into what you've built through a useable UI and how UI and code relate. ...