Applied Computational Thinking with Python: Algorithm design for complex real-world problems, 2nd Edition
معرفی کتاب «Applied Computational Thinking with Python: Algorithm design for complex real-world problems, 2nd Edition» نوشتهٔ Sofía De Jesús, Dayrene Martinez، منتشرشده توسط نشر Packt Publishing در سال 2023. این کتاب در 5 صفحه، فرمت epub، زبان انگلیسی ارائه شده است. «Applied Computational Thinking with Python: Algorithm design for complex real-world problems, 2nd Edition» در دستهٔ بدون دستهبندی قرار دارد.
Use the computational thinking philosophy to solve complex problems by designing appropriate algorithms to produce optimal results across various domains Key Features Develop logical reasoning and problem-solving skills that will help you tackle complex problems Explore core computer science concepts and important computational thinking elements using practical examples Find out how to identify the best-suited algorithmic solution for your problem Book Description Computational thinking helps you to develop logical processing and algorithmic thinking while solving real-world problems across a wide range of domains. It's an essential skill that you should possess to keep ahead of the curve in this modern era of information technology. Developers can apply their knowledge of computational thinking to solve problems in multiple areas, including economics, mathematics, and artificial intelligence. This book begins by helping you get to grips with decomposition, pattern recognition, pattern generalization and abstraction, and algorithm design, along with teaching you how to apply these elements practically while designing solutions for challenging problems. You'll then learn about various techniques involved in problem analysis, logical reasoning, algorithm design, clusters and classification, data analysis, and modeling, and understand how computational thinking elements can be used together with these aspects to design solutions. Toward the end, you will discover how to identify pitfalls in the solution design process and how to choose the right functionalities to create the best possible algorithmic solutions. By the end of this algorithm book, you will have gained the confidence to successfully apply computational thinking techniques to software development. What you will learn Find out how to use decomposition to solve problems through visual representation Employ pattern generalization and abstraction to design solutions Build analytical skills to assess algorithmic solutions Use computational thinking with Python for statistical analysis Understand the input and output needs for designing algorithmic solutions Use computational thinking to solve data processing problems Identify errors in logical processing to refine your solution design Apply computational thinking in domains, such as cryptography, and machine learning Who this book is for This book is for students, developers, and professionals looking to develop problem-solving skills and tactics involved in writing or debugging software programs and applications. Familiarity with Python programming is required. Applied Computational Thinking with Python Contributors About the authors About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Download a free PDF copy of this book Part 1: An Introduction to Computational Thinking 1 Fundamentals of Computer Science Technical requirements Introduction to computer science Learning about computers and the binary system Understanding theoretical computer science Algorithms Coding theory Computational biology Data structures Information theory Automata theory Formal language theory Symbolic computation Computational geometry Computational number theory Learning about a system’s software Operating systems Application software Understanding computing Architecture Programming languages Learning about data types and structures Data types Data structures Summary 2 Elements of Computational Thinking Technical requirements Understanding computational thinking Problem 1 – conditions Decomposing problems Recognizing patterns Problem 2 – mathematical algorithms and generalization Generalizing patterns Designing algorithms Additional problems Problem 3 – children’s soccer party Problem 4 – savings and interest Summary 3 Understanding Algorithms and Algorithmic Thinking Technical requirements Defining algorithms in depth Algorithms should be clear and unambiguous Algorithms should have inputs and outputs that are well defined Algorithms should have finiteness Algorithms should be feasible Algorithms should be language independent Designing algorithms Problem 1 – an office lunch Problem 2 – a catering company Analyzing algorithms Algorithm analysis 1 – states and capitals Algorithm analysis 2 – terminating or not terminating? Summary 4 Understanding Logical Reasoning Technical requirements Understanding the importance of logical reasoning Applying inductive reasoning Applying deductive reasoning Using Boolean logic and operators The and operator The or operator The not operator Summary 5 Errors Technical requirements Understanding errors Syntax errors Learning to identify logical errors Errors and debugging Summary 6 Exploring Problem Analysis Technical requirements Understanding the problem definitions Problem 6A – building an online store Learning how to decompose problems Converting the flowchart into an algorithm Analyzing problems Problem 6B – analyzing a simple game problem Summary 7 Designing Solutions and Solution Processes Designing solutions Technical requirements Problem 1 – a marketing survey Diagramming solutions Creating solutions Problem 2 – pizza order Problem 3 – delays and Python Summary 8 Identifying Challenges within Solutions Technical requirements Identifying errors in algorithm design Syntax errors Errors in logic Debugging algorithms Comparing solutions Problem 1 – printing even numbers Refining and redefining solutions Summary Part 2: Applying Python and Computational Thinking 9 Introduction to Python Technical requirements Introducing Python Mathematical built-in functions Working with dictionaries and lists Defining and using dictionaries Defining and using lists Using variables and functions Variables in Python Working with functions Learning about files, data, and iteration Handling files in Python Data in Python Using iteration in algorithms Using OOP Problem 1 – creating a book library Problem 2 – organizing information Problem 3 – loops and math Using inheritance Summary 10 Understanding Input and Output to Design a Solution Algorithm Technical requirements Defining input and output Understanding input and output in computational thinking Problem 1 – building a Caesar cipher Problem 2 – finding maximums Problem 3 – building a guessing game Summary 11 Control Flow Technical requirements Defining control flow and its tools Using if, for, and range() and other control flow statements Using nested if statements Using for loops and range() Using other loops and conditionals Revisiting functions Summary 12 Using Computational Thinking and Python in Simple Challenges Technical requirements Problem definition and Python Decomposing the problem and using Python functionalities Generalizing the problem and planning Python algorithms Designing and testing the algorithm Summary 13 Debugging Technical requirements Error messages and identifying bugs Errors in punctuation Errors with indentation Bugs that don’t generate error messages Global variables Local variables Errors when using global and local variables Summary Part 3: Data Processing, Analysis, and Applications Using Computational Thinking and Python 14 Using Python in Experimental and Data Analysis Problems Technical requirements Defining experimental data Using data libraries in Python Installing libraries Using NumPy and pandas Using Matplotlib Understanding data analysis with Python Using additional libraries for plotting and analysis Using the Seaborn library Using the SciPy library Using the Scikit-Learn library Summary 15 Introduction to Machine Learning Technical requirements Defining ML Navigating the ML life cycle – a practical approach Phase 1 – preparation and problem definition Phase 2 – data preprocessing and model development Phase 3 – optimization and deployment Chocolate cake analogy to ML life cycle Types of ML algorithms Introduction to DL Classifying data Using the scikit-learn library Defining optimization models Implementing data clustering Using the BIRCH algorithm Using the K-means clustering algorithm Summary 16 Using Computational Thinking and Python in Statistical Analysis Technical requirements Defining the problem and Python data selection Defining pandas Determining when to use pandas Preprocessing data Data cleaning Transforming data Reducing data Processing, analyzing, and summarizing data using visualizations Summary 17 Applied Computational Thinking Problems Technical requirements Problem 1 – using Python to analyze historical speeches Problem 2 – using Python to write stories Defining, decomposing, and planning a story Problem 3 – using Python to calculate text readability Problem 4 – using Python to find the most efficient route Defining the problem (TSP) Recognizing the pattern (TSP) Generalizing (TSP) Designing the algorithm (TSP) Problem 5 – using Python for cryptography Defining the problem (cryptography) Recognizing the pattern (cryptography) Generalizing (cryptography) Designing the algorithm (cryptography) Problem 6 – using Python in cybersecurity Problem 7 – using Python to create a chatbot Problem 8 – web scraping in Python Step 1 – import the required libraries Step 2 – define the URL to scrape Step 3 – make an HTTP request Step 4 – parse the HTML content Step 5 – locate the quote containers Step 6 – loop through containers and extract data Problem 9 – using Python to create a QR code Summary 18 Advanced Applied Computational Thinking Problems Technical requirements Problem 1 – using Python to create tessellations Problem 2 – using Python in biological data analysis Problem 3 – using Python to analyze data for specific populations Defining the specific problem to analyze and identify the population Problem 4 – using Python to create models of housing data Defining the problem Algorithm and visual representations of data Problem 5 – using Python for language detection The fundamentals of the Multinomial Event Model Problem 6 – using Python to analyze genetic data Problem 7 – using Python to analyze stocks Problem 8 – using Python to create a CNN Summary 19 Integrating Python with Amazon Web Services (AWS) Technical requirements AWS and Python in cloud computing – a brief overview Setting up for AWS Creating a new AWS account Understanding IAM in AWS Understanding AWS pricing and the Free Tier AWS computer services overview Boto3 in Python and AWS Setting up Boto3 Basic Python examples using Boto3 Summary Further reading Index Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts Download a free PDF copy of this book
دانلود کتاب Applied Computational Thinking with Python: Algorithm design for complex real-world problems, 2nd Edition