Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Applied Computational Thinking with Python
Why subscribe?
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
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
Reviews
Section 1: Introduction to Computational Thinking
Chapter 1: Fundamentals of Computer Science
Technical requirements
Introduction to computer science
Learning about computers and the binary system
Converting from binary to base-10
Converting from base-10 to binary
Understanding theoretical computer science
Algorithms
Coding theory
Data compression
Error correction
Cryptography
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
Instruction Set Architecture (ISA)
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 2 - Children's soccer party
Problem 3 - 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 have to be feasible
Algorithms are language-independent
Designing algorithms
Problem 1 – An office lunch
Office lunch mathematical algorithm
Office lunch Python algorithm
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
Solving an inductive reasoning sample problem
Applying deductive reasoning
Learning about conditional statements
Understanding nested statements
Using Boolean logic and operators
The and operator
The or operator
The not operator
Identifying logic errors
Summary
Chapter 5: Exploring Problem Analysis
Technical requirements
Understanding the problem definitions
Problem 5A – Building an online store
Making assumptions
Things to consider
Building a dictionary
Learning to decompose problems
Converting the flowchart into an algorithm
Building a dictionary and giving inputs
Making changes to the cost
Adding personalization
Analyzing problems
Problem 5B – Analyzing a simple game problem
Summary
Chapter 6: Designing Solutions and Solution Processes
Technical requirements
Designing solutions
Problem 1 - A marketing survey
Diagramming solutions
Creating solutions
Problem 2 - Pizza order
Problem 3 - Delays and Python
Summary
Chapter 7: Identifying Challenges within Solutions
Technical requirements
Identifying errors in algorithm design
Syntax errors
Using colons
Using nested parentheses and brackets
Other syntax errors
Errors in logic
Debugging algorithms
Comparing solutions
Problem 1 - Printing even numbers
Algorithm solution 1 - Printing even numbers
Algorithm solution 2 - Printing even numbers
Refining and redefining solutions
Summary
Section 2:Applying Python and Computational Thinking
Chapter 8: 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
Combining variables
Working with functions
Learning about files, data, and iteration
Handling files in Python
Data in Python
Using iteration in algorithms
Using object-oriented programming
Problem 1 - Creating a book library
Problem 2 - Organizing information
Problem 3 - Loops and math
Using inheritance
Summary
Chapter 9: 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
Chapter 10: 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
Chapter 11: Using Computational Thinking and Python in Simple Challenges
Technical requirements
Defining the problem and Python
Decomposing the problem and using Python functionalities
Generalizing the problem and planning Python algorithms
Designing and testing the algorithm
Summary
Section 3:Data Processing, Analysis, and Applications Using Computational Thinking and Python
Chapter 12: 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
Chapter 13: Using Classification and Clusters
Technical requirements
Data training and testing
Classifying data example
Using the Scikit-Learn library
Defining optimization models
The binary cross-entropy model
The Adam optimization algorithm
The gradient descent model
The confusion matrix model
Implementing data clustering
Using the BIRCH algorithm
Using the K-means clustering algorithm
Summary
Chapter 14: Using Computational Thinking and Python in Statistical Analysis
Technical requirements
Defining the problem and Python data selection
Defining pandas
Determining when to use pandas
Working with pandas series
Working with pandas DataFrames
Preprocessing data
Data cleaning
Working with missing data
Working with noisy data
Transforming data
Reducing data
Processing, analyzing, and summarizing data using visualizations
Processing data
Analyzing and summarizing data
Using data visualization
Summary
Chapter 15: 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 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
Summary
Chapter 16: 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 to create electric field lines
Problem 6 – Using Python to analyze genetic data
Problem 7 – Using Python to analyze stocks
Problem 8 – Using Python to create a convolutional neural network (CNN)
Summary
Other Books You May Enjoy
← Prev
Back
Next →
← Prev
Back
Next →