Applied Computational Thinking with Python

Applied Computational Thinking with Python

Author: Sofía De Jesús

Publisher: Packt Publishing Ltd

Published: 2020-11-27

Total Pages: 420

ISBN-13: 183921676X

DOWNLOAD EBOOK

Use the computational thinking philosophy to solve complex problems by designing appropriate algorithms to produce optimal results across various domains Key FeaturesDevelop logical reasoning and problem-solving skills that will help you tackle complex problemsExplore core computer science concepts and important computational thinking elements using practical examplesFind out how to identify the best-suited algorithmic solution for your problemBook 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 learnFind out how to use decomposition to solve problems through visual representationEmploy pattern generalization and abstraction to design solutionsBuild analytical skills required to assess algorithmic solutionsUse computational thinking with Python for statistical analysisUnderstand the input and output needs for designing algorithmic solutionsUse computational thinking to solve data processing problemsIdentify errors in logical processing to refine your solution designApply computational thinking in various domains, such as cryptography, economics, and machine learningWho 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

Applied Computational Thinking with Python

Author: Sofía De Jesús

Publisher: Packt Publishing Ltd

Published: 2023-12-29

Total Pages: 438

ISBN-13: 1837631085

DOWNLOAD EBOOK

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 DescriptionComputational 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.


Algorithmic Thinking

Algorithmic Thinking

Author: Daniel Zingaro

Publisher: No Starch Press

Published: 2020-12-15

Total Pages: 409

ISBN-13: 1718500807

DOWNLOAD EBOOK

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?


The Practice of Computing Using Python

The Practice of Computing Using Python

Author: William F. Punch

Publisher:

Published: 2017

Total Pages: 0

ISBN-13: 9780134379760

DOWNLOAD EBOOK

For courses in Python Programming Introduces Python programming with an emphasis on problem-solving Now in its Third Edition, Practice of Computing Using Python continues to effectively introduce readers to computational thinking using Python, with a strong emphasis on problem solving through computer science. The authors have chosen Python for its simplicity, powerful built-in data structures, advanced control constructs, and practicality. The text is built from the ground up for Python programming, rather than having been translated from Java or C++. Focusing on data manipulation and analysis as a theme, the text allows readers to work on real problems using Internet-sourced or self-generated data sets that represent their own work and interests. The authors also emphasize program development and provide readers of all backgrounds with a practical foundation in programming that suit their needs. Among other changes, the Third Edition incorporates a switch to the Anaconda distribution, the SPYDER IDE, and a focus on debugging and GUIs. Also available with MyProgrammingLab(TM) MyProgrammingLab is an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to specific Pearson CS1/Intro to Programming textbooks. Through practice exercises and immediate, personalized feedback, MyProgrammingLab improves the programming competence of beginning students who often struggle with the basic concepts of programming languages. Note: You are purchasing a standalone product; MyLab(TM) & Mastering(TM) does not come packaged with this content. Students, if interested in purchasing this title with MyLab & Mastering, ask your instructor for the correct package ISBN and Course ID. Instructors, contact your Pearson representative for more information. If you would like to purchase boththe physical text and MyLab & Mastering, search for: 0134520513 / 9780134520513 The Practice of Computing Using Python plus MyProgrammingLab with Pearson eText -- Access Card Package, 3/e Package consists of: 0134381327 / 9780134381329 MyProgrammingLab with Pearson eText -- Access Card Package 0134379764 / 9780134379760 The Practice of Computing Using Python, 3/e


Introduction to Computation and Programming Using Python, second edition

Introduction to Computation and Programming Using Python, second edition

Author: John V. Guttag

Publisher: MIT Press

Published: 2016-08-12

Total Pages: 466

ISBN-13: 0262529629

DOWNLOAD EBOOK

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.


Think Complexity

Think Complexity

Author: Allen B. Downey

Publisher: "O'Reilly Media, Inc."

Published: 2012-02-23

Total Pages: 159

ISBN-13: 1449331696

DOWNLOAD EBOOK

Expand your Python skills by working with data structures and algorithms in a refreshing context—through an eye-opening exploration of complexity science. Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of exercises, case studies, and easy-to-understand explanations. You’ll work with graphs, algorithm analysis, scale-free networks, and cellular automata, using advanced features that make Python such a powerful language. Ideal as a text for courses on Python programming and algorithms, Think Complexity will also help self-learners gain valuable experience with topics and ideas they might not encounter otherwise. Work with NumPy arrays and SciPy methods, basic signal processing and Fast Fourier Transform, and hash tables Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines Get starter code and solutions to help you re-implement and extend original experiments in complexity Explore the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, and other topics Examine case studies of complex systems submitted by students and readers


HT THINK LIKE A COMPUTER SCIEN

HT THINK LIKE A COMPUTER SCIEN

Author: Jeffrey Elkner

Publisher: Samurai Media Limited

Published: 2016-10-04

Total Pages: 306

ISBN-13: 9789888406784

DOWNLOAD EBOOK

The goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions. The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That's why this chapter is called, The way of the program. On one level, you will be learning to program, a useful skill by itself. On another level, you will use programming as a means to an end. As we go along, that end will become clearer.


Think Python

Think Python

Author: Allen B. Downey

Publisher: "O'Reilly Media, Inc."

Published: 2015-12-02

Total Pages: 309

ISBN-13: 1491939419

DOWNLOAD EBOOK

If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for Python 3. Through exercises in each chapter, youâ??ll try out programming concepts as you learn them. Think Python is ideal for students at the high school or college level, as well as self-learners, home-schooled students, and professionals who need to learn programming basics. Beginners just getting their feet wet will learn how to start with Python in a browser. Start with the basics, including language syntax and semantics Get a clear definition of each programming concept Learn about values, variables, statements, functions, and data structures in a logical progression Discover how to work with files and databases Understand objects, methods, and object-oriented programming Use debugging techniques to fix syntax, runtime, and semantic errors Explore interface design, data structures, and GUI-based programs through case studies


Hands-On Blockchain for Python Developers

Hands-On Blockchain for Python Developers

Author: Arjuna Sky Kok

Publisher: Packt Publishing Ltd

Published: 2024-06-28

Total Pages: 436

ISBN-13: 1805121685

DOWNLOAD EBOOK

Write popular DeFi and NFT smart contracts with Vyper, a Pythonic programming language, and integrate blockchain with real-world applications using Python Key Features Use the world's easiest programming language to build web3 applications Write common smart contracts like decentralized exchanges, NFT marketplaces, and lending applications Unlock deeper levels of insights with technologies relating to blockchain, such as IPFS and Layer 2 Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionWe are living in the age of decentralized fi nance and NFTs. People swap tokens on Uniswap, borrow assets from Aave, send payments with stablecoins, trade art NFTs on OpenSea, and more. To build applications of this kind, you need to know how to write smart contracts. This comprehensive guide will help you explore all the features of Vyper, a programming language designed to write smart contracts. You’ll also explore the web3.py library. As you progress, you’ll learn how to connect to smart contracts, read values, and create transactions. To make sure your foundational knowledge is strong enough, the book guides you through Ape Framework, which can help you create decentralized exchanges, NFT marketplaces, voting applications, and more. Each project provides invaluable insights and hands-on experience, equipping you with the skills you need to build real-world blockchain solutions. By the end of this book, you’ll be well versed with writing common Web3 applications such as a decentralized exchange, an NFT marketplace, a voting application, and more.What you will learn Understand blockchain and smart contracts Learn how to write smart contracts with Vyper Explore how to use the web3.py library and Ape Framework Discover related technologies such as Layer 2 and IPFS Gain a step-by-step guide to writing an automated market maker (AMM) decentralized exchange (DEX) smart contract Build innovative, interactive, and token-gated Web3 NFT applications Who this book is for This blockchain book is for developers interested in understanding blockchain and smart contracts. It is suitable for both technology enthusiasts looking to explore blockchain technology and programmers who aspire to become smart contract engineers. Basic knowledge of GNU/Linux and Python programming is mandatory to get started with this book.


Computational Thinking

Computational Thinking

Author: Paolo Ferragina

Publisher: Springer

Published: 2018-08-21

Total Pages: 176

ISBN-13: 331997940X

DOWNLOAD EBOOK

This book offers a gentle motivation and introduction to computational thinking, in particular to algorithms and how they can be coded to solve significant, topical problems from domains such as finance, cryptography, Web search, and data compression. The book is suitable for undergraduate students in computer science, engineering, and applied mathematics, university students in other fields, high-school students with an interest in STEM subjects, and professionals who want an insight into algorithmic solutions and the related mindset. While the authors assume only basic mathematical knowledge, they uphold the scientific rigor that is indispensable for transforming general ideas into executable algorithms. A supporting website contains examples and Python code for implementing the algorithms in the book.