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...
Otros Autores: | , |
---|---|
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