As a leading security engineer, Michal Zalewski has spent his career methodically anticipating and planning for cyberattacks. In Practical Doomsday, Zalewski applies the same thoughtful, rational approach to preparing for disasters of all kinds. By sharing his research, advice, and a healthy dose of common sense, he’ll help you rest easy knowing you have a plan for the worst—even if the worst never comes.
The book outlines a level-headed model for evaluating risks, one that weighs the probability of scenarios against the cost of preparing for them. You’ll learn to apply that model to the whole spectrum of potential crises, from personal hardships like job loss or a kitchen fire, to large-scale natural disasters and industrial accidents, to recurring pop-culture fears like all-out nuclear war. You’ll then explore how basic lifestyle adjustments, such as maintaining a robust rainy-day fund, protecting yourself online, and fostering good relationships with your neighbors, can boost your readiness for a wide range of situations. You’ll also take a no-nonsense look at the supplies and equipment essential to surviving sudden catastrophes, like prolonged power outages or devastating storms, and examine the merits and legal implications of different self-defense strategies.
You’ll learn:
• How to identify and meaningfully assess risks in your life, then develop strategies for managing them
• Ways to build up and diversify a robust financial safety net—a key component of nearly all effective preparedness strategies
• How to adapt your prep plans to a variety of situations, from shelter-in-place scenarios to evacuations by car or on foot
• Sensible approaches to stockpiling food, water, and other essentials, along with recommendations on what supplies are actually worth having
Disasters happen, but they don’t have to dominate your life. Practical Doomsday will help you plan ahead, so you can stop worrying about what tomorrow may bring and start enjoying your life today.
Disasters happen. Be prepared. Here’s how.
As a leading security engineer, Michal Zalewski has spent his career methodically anticipating and planning for cyberattacks. In…
Kill It with Fire chronicles the challenges of dealing with aging computer systems, along with sound modernization strategies.
How to survive a legacy apocalypse
“Kill it with fire,” the typical first reaction to a legacy system falling into obsolescence, is a knee-jerk approach that often burns through tons of money and time only to result in a less efficient solution. This book offers a far more forgiving modernization framework, laying out smart value-add strategies and proven techniques that work equally well for ancient systems and brand-new ones.
Renowned for restoring some of the world’s oldest, messiest computer networks to operational excellence, software engineering expert Marianne Bellotti distills key lessons and insights from her experience into practical, research-backed guidance to help you determine when and how to modernize. With witty, engaging prose, Bellotti explains why new doesn’t always mean better, weaving in illuminating case studies and anecdotes from her work in the field.
You’ll learn:
Where to focus your maintenance efforts for maximum impact and value
How to pick the right modernization solutions for your specific needs and keep your plans on track
How to assess whether your migrations will add value before you invest in them
What to consider before moving data to the cloud
How to determine when a project is finished
Packed with resources, exercises, and flexible frameworks for organizations of all ages and sizes, Kill It with Fire will give you a vested interest in your technology’s future.
Kill It with Fire chronicles the challenges of dealing with aging computer systems, along with sound modernization strategies.
How Cybersecurity Really Works is an engaging introduction to the field of cybersecurity. You'll learn how attackers operate, as well as how to defend yourself and organizations against online attacks.
How Cybersecurity Really Works is the perfect introduction to cybersecurity. Whether you’re a computer science student or a business professional, it will teach you the basics without all the jargon.
This beginners guide covers different types of attacks, common tactics used by online adversaries, and defensive strategies you can use to protect yourself. You’ll learn what security professionals do, what an attack looks like from a cybercriminal’s viewpoint, and how to implement sophisticated cybersecurity measures on your own devices.
In addition, you’ll find explanations of topics like malware, phishing, and social engineering attacks, coupled with real-world examples and hands-on exercises to help you apply what you’ve learned. You’ll explore ways to bypass access controls, prevent infections from worms and viruses, and protect your cloud accounts from attackers.
You’ll also learn how to:
• Analyze emails to detect phishing attempts
• Use SQL injection to attack a website
• Examine malware from the safety of a sandbox environment
• Use the command line to evaluate and improve your computer and network security
• Deploy encryption and hashing to protect your files
• Create a comprehensive risk management plan
You can’t afford to ignore cybersecurity anymore, but attackers won’t wait while you read a long technical manual. That’s why How Cybersecurity Really Works teaches you just the essentials you need to think beyond antivirus and make the right decisions to keep the online monsters at bay.
How Cybersecurity Really Works is an engaging introduction to the field of cybersecurity. You'll learn how attackers operate, as well as how to defend yourself and organizations…
Written by all-star security experts, Practical IoT Hacking is a quick-start conceptual guide to testing and exploiting IoT systems and devices.
Drawing from the real-life exploits of five highly regarded IoT security researchers, Practical IoT Hacking teaches you how to test IoT systems, devices, and protocols to mitigate risk.
The book begins by walking you through common threats and a threat modeling framework. You’ll develop a security testing methodology, discover the art of passive reconnaissance, and assess security on all layers of an IoT system. Next, you’ll perform VLAN hopping, crack MQTT authentication, abuse UPnP, develop an mDNS poisoner, and craft WS-Discovery attacks.
You’ll tackle both hardware hacking and radio hacking, with in-depth coverage of attacks against embedded IoT devices and RFID systems.
You’ll also learn how to:
• Write a DICOM service scanner as an NSE module
• Hack a microcontroller through the UART and SWD interfaces
• Reverse engineer firmware and analyze mobile companion apps
• Develop an NFC fuzzer using Proxmark3
• Hack a smart home by jamming wireless alarms, playing back IP camera feeds, and controlling a smart treadmill
The tools and devices you’ll use are affordable and readily available, so you can easily practice what you learn. Whether you’re a security researcher, IT team member, or hacking hobbyist, you’ll find Practical IoT Hacking indispensable in your efforts to hack all the things
REQUIREMENTS: Basic knowledge of Linux command line, TCP/IP, and programming
Written by all-star security experts, Practical IoT Hacking is a quick-start conceptual guide to testing and exploiting IoT systems and devices.
How Cybersecurity Really Works is an engaging introduction to the field of cybersecurity. You'll learn how attackers operate, as well as how to defend yourself and organizations against online attacks.
How Cybersecurity Really Works is the perfect introduction to cybersecurity. Whether you’re a computer science student or a business professional, it will teach you the basics without all the jargon.
This beginners guide covers different types of attacks, common tactics used by online adversaries, and defensive strategies you can use to protect yourself. You’ll learn what security professionals do, what an attack looks like from a cybercriminal’s viewpoint, and how to implement sophisticated cybersecurity measures on your own devices.
In addition, you’ll find explanations of topics like malware, phishing, and social engineering attacks, coupled with real-world examples and hands-on exercises to help you apply what you’ve learned. You’ll explore ways to bypass access controls, prevent infections from worms and viruses, and protect your cloud accounts from attackers.
You’ll also learn how to:
• Analyze emails to detect phishing attempts
• Use SQL injection to attack a website
• Examine malware from the safety of a sandbox environment
• Use the command line to evaluate and improve your computer and network security
• Deploy encryption and hashing to protect your files
• Create a comprehensive risk management plan
You can’t afford to ignore cybersecurity anymore, but attackers won’t wait while you read a long technical manual. That’s why How Cybersecurity Really Works teaches you just the essentials you need to think beyond antivirus and make the right decisions to keep the online monsters at bay.
How Cybersecurity Really Works is an engaging introduction to the field of cybersecurity. You'll learn how attackers operate, as well as how to defend yourself and organizations…
For developers who’ve mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects.
Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You’ll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more.
You'll Learn:
• How to design reliable, idiomatic, and ergonomic Rust programs based on best principles
• Effective use of declarative and procedural macros, and the difference between them
• How asynchrony works in Rust – all the way from the Pin and Waker types used in manual implementations of Futures, to how async/await saves you from thinking about most of those words
• What it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traits
• How to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystem
• How to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments
Brimming with practical, pragmatic insights that you can immediately apply, Rust for Rustaceans helps you do more with Rust, while also teaching you its underlying mechanisms
For developers who’ve mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain…
Website security made easy. This book covers the most common ways websites get hacked and how web developers can defend themselves.
The world has changed. Today, every time you make a site live, you're opening it up to attack.
A first-time developer can easily be discouraged by the difficulties involved with properly securing a website. But have hope: an army of security researchers is out there discovering, documenting, and fixing security flaws. Thankfully, the tools you'll need to secure your site are freely available and generally easy to use.
Web Security for Developers will teach you how your websites are vulnerable to attack and how to protect them. Each chapter breaks down a major security vulnerability and explores a real-world attack, coupled with plenty of code to show you both the vulnerability and the fix.
You'll learn how to:
Protect against SQL injection attacks, malicious JavaScript, and cross-site request forgery
Add authentication and shape access control to protect accounts
Lock down user accounts to prevent attacks that rely on guessing passwords, stealing sessions,
or escalating privileges
Implement encryption
Manage vulnerabilities in legacy code
Prevent information leaks that disclose vulnerabilities
Mitigate advanced attacks like malvertising and denial-of-service
As you get stronger at identifying and fixing vulnerabilities, you'll learn to deploWebsite security made easy. This book covers the most common ways websites get hacked and how web developers can defend themselves.
The world has changed. Today, every time you make a site live, you're opening it up to attack.
A first-time developer can easily be discouraged by the difficulties involved with properly securing a website. But have hope: an army of security researchers is out there discovering, documenting, and fixing security flaws. Thankfully, the tools you'll need to secure your site are freely available and generally easy to use.
Web Security for Developers will teach you how your websites are vulnerable to attack and how to protect them. Each chapter breaks down a major security vulnerability and explores a real-world attack, coupled with plenty of code to show you both the vulnerability and the fix.
You'll learn how to:
Protect against SQL injection attacks, malicious JavaScript, and cross-site request forgery
Add authentication and shape access control to protect accounts
Lock down user accounts to prevent attacks that rely on guessing passwords, stealing sessions,
or escalating privileges
Implement encryption
Manage vulnerabilities in legacy code
Prevent information leaks that disclose vulnerabilities
Mitigate advanced attacks like malvertising and denial-of-service
As you get stronger at identifying and fixing vulnerabilities, you'll learn to deploy disciplined, secure code and become a better programmer along the way.
y disciplined, secure code and become a better programmer along the way.
Website security made easy. This book covers the most common ways websites get hacked and how web developers can defend themselves.
A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer.
Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You'll learn how to classify problems, choose data structures, and identify appropriate algorithms. You'll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems.
Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like:
The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book
Dijkstra's algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations
The union-find data structure to answer questions about connections in a social network or determine who are friends or enemies
The heap data structure to determine the amount of money given away in a promotion
The hash-table data structure to determine whether snowflakes are unique or identify compound words in a dictionary
NOTE: Each problem in this book is available on a programming-judge website. You'll find the site's URL and problem ID in the description. What's better than a free correctness check?
A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer.
A guide to using the Ghidra software reverse engineering tool suite.
The result of more than a decade of research and development within the NSA, the Ghidra platform was developed to address some of the agency's most challenging reverse-engineering problems. With the open-source release of this formerly restricted tool suite, one of the world's most capable disassemblers and intuitive decompilers is now in the hands of cybersecurity defenders everywhere -- and The Ghidra Book is the one and only guide you need to master it.
In addition to discussing RE techniques useful in analyzing software and malware of all kinds, the book thoroughly introduces Ghidra's components, features, and unique capacity for group collaboration. You'll learn how to:
• Navigate a disassembly
• Use Ghidra's built-in decompiler to expedite analysis
• Analyze obfuscated binaries
• Extend Ghidra to recognize new data types
• Build new Ghidra analyzers and loaders
• Add support for new processors and instruction sets
• Script Ghidra tasks to automate workflows
• Set up and use a collaborative reverse engineering environment
Designed for beginner and advanced users alike, The Ghidra Book will effectively prepare you to meet the needs and challenges of RE, so you can analyze files like a pro.
A guide to using the Ghidra software reverse engineering tool suite.
The result of more than a decade of research and development within the NSA, the Ghidra platform was…
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.
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…
Rootkits and Bootkits will teach you how to understand and counter sophisticated, advanced threats buried deep in a machine’s boot process or UEFI firmware.
With the aid of numerous case studies and professional research from three of the world’s leading security experts, you’ll trace malware development over time from rootkits like TDL3 to present-day UEFI implants and examine how they infect a system, persist through reboot, and evade security software. As you inspect and dissect real malware, you’ll learn:
• How Windows boots—including 32-bit, 64-bit, and UEFI mode—and where to find vulnerabilities
• The details of boot process security mechanisms like Secure Boot, including an overview of Virtual Secure Mode (VSM) and Device Guard
• Reverse engineering and forensic techniques for analyzing real malware, including bootkits like Rovnix/Carberp, Gapz, TDL4, and the infamous rootkits TDL3 and Festi
• How to perform static and dynamic analysis using emulation and tools like Bochs and IDA Pro
• How to better understand the delivery stage of threats against BIOS and UEFI firmware in order to create detection capabilities
• How to use virtualization tools like VMware Workstation to reverse engineer bootkits and the Intel Chipsec tool to dig into forensic analysis
Cybercrime syndicates and malicious actors will continue to write ever more persistent and covert attacks, but the game is not lost. Explore the cutting edge of malware analysis with Rootkits and Bootkits.
Covers boot processes for Windows 32-bit and 64-bit operating systems.
Rootkits and Bootkits will teach you how to understand and counter sophisticated, advanced threats buried deep in a machine’s boot process or UEFI firmware.
The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.
The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages.
The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as:
• Ownership and borrowing, lifetimes, and traits
• Using Rust's memory safety guarantees to build fast, safe programs
• Testing, error handling, and effective refactoring
• Generics, smart pointers, multithreading, trait objects, and advanced pattern matching
• Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies
• How best to use Rust's advanced compiler with compiler-led programming techniques
You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server.
New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.
The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.
Comics! Games! Programming! Now updated to cover Scratch 3.
Scratch is the wildly popular educational programming language used by millions of first-time learners in classrooms and homes worldwide. By dragging together colorful blocks of code, kids can learn computer programming concepts and make cool games and animations. The latest version, Scratch 3, features an updated interface, new sprites and programming blocks, and extensions that let you program things like the micro:bit.
In Super Scratch Programming Adventure!, kids learn programming fundamentals as they make their very own playable video games. They'll create projects inspired by classic arcade games that can be programmed (and played!) in an afternoon. Patient, step-by-step explanations of the code and fun programming challenges will have kids creating their own games in no time.
This full-color comic book makes programming concepts like variables, flow control, and subroutines effortless to absorb. Packed with ideas for games that kids will be proud to show off, Super Scratch Programming Adventure! is the perfect first step for the budding programmer.
Comics! Games! Programming! Now updated to cover Scratch 3.
Scratch is the wildly popular educational programming language used by millions of first-time learners in classrooms…
Learn to build mobile apps for Android devices with MIT App Inventor, a visual drag-and-drop programming language like Scratch.
You've swiped and tapped your way through countless apps, but have you ever created one? Now you can, thanks to Learn to Program with App Inventor. In less than an hour, you'll be able to build and run your first app!
App Inventor is a free software for making Android apps. All you need is a PC with an Internet connection to build your app, and a mobile phone for testing. You'll use a simple drag-and-drop interface, which minimizes errors and avoids too much typing.
A certified App Inventor Master Trainer, Logan breaks down each project into logical steps, lists the components you'll need, and then shows you how to create screen designs, control program flow with conditionals and loops, and store data in variables and lists. Once you've tested the app on your phone, you can test what you learned with challenges at the end of each chapter.
You'll build cool apps like:
* Hi, World!: Use your voice to send a text message
* Practice Makes Perfect: Rehearse a speech or dance routine with this video recording app
* Fruit Loot: Catch randomly failing fruit in this exciting game
* Beat the Bus: Track a friend's journey using location services and maps
* Virtual Shades: Take a selfie, then try on some virtual sunglasses
Join the 6 million people who have tried App Inventor, and make the journey from app user to app inventor.
Learn to build mobile apps for Android devices with MIT App Inventor, a visual drag-and-drop programming language like Scratch.
Learn how to make fun games with Scratch--a free, beginner-friendly programming language from the MIT Media Lab. Create mazes, road-crossing games, and two-player games that keep score. Colorful pictures and easy-to-follow instructions show you how to add cool animations and sound effects to your games. You'll have hours of fun catching snowflakes, gobbling up tacos, and dodging donuts in space--while learning how to code along the way!
Build your own computer games with Scratch 3!
Learn how to make fun games with Scratch--a free, beginner-friendly programming language from the MIT Media Lab. Create mazes,…
A Beginner's Guide to Circuits is the perfect first step for anyone ready to jump into the world of electronics and circuit design. After finishing the book's nine graded projects, readers will understand core electronics concepts which they can use to make their own electrifying creations!First, you'll learn to read circuit diagrams and use a breadboard, which allows you to connect electrical components without using a hot soldering iron! Next, you'll build nine simple projects using just a handful of readily available components, like resistors, transistors, capacitors, and other parts. As you build, you'll learn what each component does, how it works, and how to combine components to achieve new and interesting effects.By the end of the book, you'll be able to build your own electronic creations. With easy-to-follow directions, anyone can become an inventor with the help of A Beginner's Guide to Circuits!Build These 9 Simple Circuits! • Steady-Hand Game: Test your nerves using a wire and a buzzer to create an Operation-style game! • Touch-Enabled Light: Turn on a light with your finger! • Cookie Jar Alarm: Catch cookie thieves red-handed with this contraption. • Night-Light: Automatically turn on a light when it gets dark. • Blinking LED: This classic circuit blinks an LED. • Railroad Crossing Light: Danger! Don't cross the tracks if this circuit's pair of lights is flashing. • Party Lights: Throw a party with these charming string lights. • Digital Piano: Play a tune with this simple synthesizer and learn how speakers work. • LED Marquee: Put on a light show and impress your friends with this flashy finale.
A Beginner's Guide to Circuits is the perfect first step for anyone ready to jump into the world of electronics and circuit design. After finishing the book's nine graded…
“This title will be a much used handbook by student makers, hobbyists, and enthusiasts.”
—School Library Connection
Click here to download all the code and resources for the book
Download Project 13: Burglar Detector with Photo Capture
20 Easy Raspberry Pi Projects is a beginner-friendly collection of electronics projects, perfectly suited for kids, parents, educators, and hobbyists looking to level up their hardware skills.
After a crash course to get you set up with your Raspberry Pi, you’ll learn how to build interactive projects like a digital drum set; a WiFi controlled robot; a Pong game; an intruder alarm that sends email notifications; a gas leak detector; a weather forecaster; and IoT gadgets that control electronics around the house. Along the way, you’ll work with core components like LCD screens, cameras, sensors, and even learn how to set up your own server.
Each project provides step-by-step instructions, full-color photos and circuit diagrams, and the complete code to bring your build to life. If you’re ready to hit the ground running and make something interesting, let 20 Easy Raspberry Pi Projects be your guide.
“This title will be a much used handbook by student makers, hobbyists, and enthusiasts.”
—School Library Connection
Click here to download all the code and resources for the…
Learn to use C#'s powerful set of core libraries to automate tedious yet important tasks like performing vulnerability scans, malware analysis, and incident response. With some help from Mono, you can write your own practical security tools that will run on Windows, Mac, Linux, and even mobile devices.
Following a crash course in C# and some of its advanced features, you'll learn how to:
Write fuzzers that use the HTTP and XML libraries to scan for SQL and XSS injection
Generate shellcode in Metasploit to create cross-platform and cross-architecture payloads
Automate Nessus, OpenVAS, and sqlmap to scan for vulnerabilities and exploit SQL injections
Write a .NET decompiler for Mac and Linux
Parse and read offline registry hives to dump system information
Automate the security tools Arachni and Metasploit using their MSGPACK RPCs
Streamline and simplify your work day with Gray Hat C# and C#'s extensive repertoire of powerful tools and libraries.
Learn to use C#'s powerful set of core libraries to automate tedious yet important tasks like performing vulnerability scans, malware analysis, and incident response. With some…
In The LEGO Neighborhood Book, you'll create buildings with real-world details like cornices and facades, and try your hand at interior design by filling your buildings with furniture and light fixtures. Then add the finishing touches to your models with plants, traffic lights, scaffolding, and park benches. Snap together a few houses, shops, and apartment buildings to create your own neighborhood! Inside you'll find:
-Complete, step-by-step instructions for four multistory buildings
-Dozens of inspiring ideas to use in your own models
-Mini builds for a recliner, old-time lamp post, traffic light, and more
-A gallery of the authors' designs For ages 10+
In The LEGO Neighborhood Book, you'll create buildings with real-world details like cornices and facades, and try your hand at interior design by filling your buildings with…
Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and making things that work in no time.
In the first half of the book, you'll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.
As you work through Python Crash Course, you'll learn how to:
Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal
Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses
Work with data to generate interactive visualizations
Create and customize simple web apps and deploy them safely online
Deal with mistakes and errors so you can solve your own programming problems
If you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!
Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and making things that work in no…