Object-Oriented PythonObject-Oriented Programming (OOP) is a paradigm that combines data and code into cohesive units, allowing you to think differently about computational problems and solve them in a highly reusable way. Aimed at intermediate-level programmers, Object-Oriented Python is a hands-on tutorial that goes deep into the core tenets of OOP, showing you how to use encapsulation, polymorphism, and inheritance to write games and apps using Python.
The book begins by demonstrating key problems inherent in procedural programming, then guides you through the basics of creating classes and objects in Python. You'll build on this groundwork by developing buttons, text fields, and other GUI elements that are standard in event-driven environments. You'll also use many real-world code examples and two pygame-based packages to help turn theory into practice, enabling you to easily write interactive games and applications complete with GUI widgets, animations, multiple scenes, and reusable game logic. In t ...
Math for Deep LearningDeep learning is everywhere, making this powerful driver of AI something more STEM professionals need to know. Learning which library commands to use is one thing, but to truly understand the discipline, you need to grasp the mathematical concepts that make it tick. This book will give you a working knowledge of topics in probability, statistics, linear algebra, and differential calculus - the essential math needed to make deep learning comprehensible, which is key to practicing it successfully.
Each of the four subfields are contextualized with Python code and hands-on, real-world examples that bridge the gap between pure mathematics and its applications in deep learning. Chapters build upon one another, with foundational topics such as Bayes' theorem followed by more advanced concepts, like training neural networks using vectors, matrices, and derivatives of functions. You'll ultimately put all this math to use as you explore and implement deep learning algorithms, including backp ...
Practical SQL, 2nd EditionPractical SQL is an approachable and fast-paced guide to SQL (Structured Query Language), the standard programming language for defining, organizing, and exploring data in relational databases. Anthony DeBarros, a journalist and data analyst, focuses on using SQL to find the story within your data. The examples and code use the open-source database PostgreSQL and its companion pgAdmin interface, and the concepts you learn will apply to most database management systems, including MySQL, Oracle, SQLite, and others.
You'll first cover the fundamentals of databases and the SQL language, then build skills by analyzing data from real-world datasets such as US Census demographics, New York City taxi rides, and earthquakes from US Geological Survey. Each chapter includes exercises and examples that teach even those who have never programmed before all the tools necessary to build powerful databases and access information quickly and efficiently.
You'll learn how to: Create databases and ...
Practical Linux ForensicsPractical Linux Forensics dives into the technical details of analyzing postmortem forensic images of Linux systems that have been misused, abused, or the target of malicious attacks. This essential practitioner's guide will show you how to locate and interpret digital evidence found on Linux desktops, servers, and IoT devices, draw logical conclusions, and reconstruct timelines of past activity after a crime or security incident. It's a book written for investigators with varying levels of Linux experience, and the techniques shown are independent of the forensic analysis platform and tools used.
Early chapters provide an overview of digital forensics as well as an introduction to the Linux operating system and popular distributions. From there, the book describes the analysis of storage, filesystems, files and directories, installed software packages, and logs. Special focus is given to examining human user activity such as logins, desktop environments and artifacts, home director ...
Introducing .NET 6Welcome to .NET 6, Microsoft's unified framework that converges the best of the modern and traditional .NET Framework. This book will introduce you to the new aspects of Microsoft's fully supported .NET 6 Framework and will teach you how to get the most out of it. You will learn about the progress to one unified .NET, including MAUI and the revival of desktop development. You will dive into Roslyn, Blazor, CLI, Containers, Cloud, and much more, using a "framework first" learning approach. You will begin by learning what each tool is, its practical uses, and how to apply it and then you will try it out on your own for learning reinforcement. And, of course, there will be plenty of code samples using C# 10.
Introducing .NET 6 is aimed at .NET developers, both junior developers and those coming from the .NET framework, who want to understand everything the modern framework has to offer, besides the obvious programming languages. While you will still see a lot of fabulous C# 10 througho ...
Robot Operating System (ROS) for Absolute Beginners, 2nd EditionStart programming your own robots using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this guide lets you build your own robotics projects.
You'll learn the basic foundation of Ubuntu Linux. Begin with the fundamentals. Installation and useful commands will give you the basic tools you need while programming a robot. Then add useful software applications that can be used while making robots. Programming robots can be done using any of the programming languages. Most popular programming languages are Python and C++. You will incorporate the fundamentals of C++ by learning object oriented programing concepts from example and building C++ projects.
Finally, tackle an ROS hands-on project to apply all the concepts of ROS you've learned. The aim of the project is to perform a dead-reckoning using a cheap mobile robot. You can command your robot's position on Rviz and your robot will move to that position! Not only will you learn to program, ...
Building Offline Applications with AngularGet a complete overview of offline installable applications. Businesses need reliable applications that enable users to access data and their applications in spite of a bad network connection.
Traditional websites work only when connected to the network. With a large number of users depending on mobile phones and tablets for work, social interactions, and media consumption, it's important that the web applications can work on a weak network connection and even offline.
This step-by-step guide shows you how to build an Angular application that considers offline access and uses its ready-made features and configurations. Build Offline Applications with Angular helps bridge the gap between native apps and web applications. ...
Natural Language Processing ProjectsLeverage machine learning and deep learning techniques to build fully-fledged natural language processing (NLP) projects. Projects throughout this book grow in complexity and showcase methodologies, optimizing tips, and tricks to solve various business problems. You will use modern Python libraries and algorithms to build end-to-end NLP projects.
The book starts with an overview of natural language processing (NLP) and artificial intelligence to provide a quick refresher on algorithms. Next, it covers end-to-end NLP projects beginning with traditional algorithms and projects such as customer review sentiment and emotion detection, topic modeling, and document clustering. From there, it delves into e-commerce related projects such as product categorization using the description of the product, a search engine to retrieve the relevant content, and a content-based recommendation system to enhance user experience. Moving forward, it explains how to build systems to find similar sentenc ...
Beginning 3D Game Assets Development PipelineThis project-based tutorial covers the creation of 3D assets in a game engine, from concept to implementation. You will learn the 3D pipeline using Maya and Substance Painter, which are industry-standard programs used for content creation in game development. You also will know how to add them and work with them in Unity.
The book begins with an overall look at the production of game development and the different roles in creating assets. Then, starting with Maya, you learn how to start with a concept and take it through the entire production pipeline: base mesh, UV mapping, high poly, texturing, rigging, and animation. You will be working on one asset project throughout the entire book to understand how one phase leads to the next one. Lastly, you will cover asset placement and integration into Unity. ...
Rhetorical Code StudiesSoftware developers work rhetorically to make meaning through the code they write. In some ways, writing code is like any other form of communication; in others, it proves to be new, exciting, and unique. In Rhetorical Code Studies, Kevin Brock explores how software code serves as meaningful communication through which software developers construct arguments that are made up of logical procedures and express both implicit and explicit claims as to how a given program operates.
?Building on current scholarly work in digital rhetoric, software studies, and technical communication, Brock connects and continues ongoing conversations among rhetoricians, technical communicators, software studies scholars, and programming practitioners to demonstrate how software code and its surrounding discourse are highly rhetorical forms of communication. He considers examples ranging from large, well-known projects like Mozilla Firefox to small-scale programs like the "FizzBuzz" test common in many pr ...