Applied computational thinking with Python algorithm design for complex real-world problems

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

Descripción completa

Detalles Bibliográficos
Otros Autores: Jesús, Sofía de, author (author), Martinez, Dayrene, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing Ltd 2023.
Edición:Second edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009810938706719
Tabla de Contenidos:
  • Cover
  • Copyright
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: An Introduction to Computational Thinking
  • Chapter 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
  • Chapter 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
  • Chapter 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
  • Chapter 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
  • Chapter 5: Errors
  • Technical requirements
  • Understanding errors
  • Syntax errors
  • Learning to identify logical errors
  • Errors and debugging
  • Summary
  • Chapter 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
  • Chapter 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
  • Chapter 8: Identifying Challenges within Solutions
  • Technical requirements
  • Identifying errors in algorithm design
  • Syntax errors