Computational-Thinking Reviewer
Computational-Thinking Reviewer
Example:
Numerical Computation
- linear equations using numerical methods like Gaussian elimination or iterative methods like Jacobi
or Gauss-Seidel.
Examples include:
Examples include:
• Polynomial factorization algorithms like the quadratic formula or the method of completing
the square.
• Symbolic differentiation and integration algorithms, such as the power rule or integration by
parts.
• Algebraic manipulation algorithms for simplifying expressions, such as collecting like terms
or expanding expressions.
• Symbolic solving techniques like substitution or elimination methods for solving systems of
equations symbolically.
Data Collection, Representation, and Analysis -crucial steps in extracting meaningful insights
from data.
• Data Collection: This involves gathering information from various sources, which could
be through surveys, experiments, sensors, or existing databases.
• Data Representation: Once the data is collected, it needs to be structured and organized
for analysis. This step involves representing the data in a format that is suitable for
processing and interpretation.
• Data Analysis: This is the process of inspecting, cleaning, transforming, and modeling
data to uncover patterns, trends, and relationships. Data analysis techniques can range
from simple statistical measures to advanced machine learning algorithms, depending
on the complexity of the data and the objectives of the analysis.
Problem Decomposition - the process of breaking down a complex problem into smaller, more
manageable parts or sub-problems. This approach allows for a more systematic and organized
problem-solving process.
Example
• Problem-Solving Skills
• Transferability
• Automation and Efficiency
• Data Literacy
• Critical Thinking and Creativity
• Preparation for the Future
• Collaboration and Communication
Types of Abstraction
Benefits of Abstraction
• Simplicity
• Modularity
• Reusability
• Scalability
Practical Example:
Numerical Example: Abstraction in numerical libraries like NumPy allows users to perform complex
mathematical operations using simple, high-level functions.
Symbolic Example: Symbolic computation libraries like SymPy abstract mathematical expressions,
enabling symbolic manipulation of equations, differentiation, integration, etc.
• Performance
• Trade-offs
• Complexity Management
Automation refers to the use of technology to perform tasks with minimal human intervention.
• Numerical libraries like SciPy in Python automate numerical tasks such as root finding,
optimization, and integration, saving time and effort.
• tools like SymPy in Python automate tasks like simplification, expansion, differentiation, and
integration of symbolic expressions.
Benefits of Automation
• Efficiency
• Scalability
• Accuracy
• Productivity
Automation Techniques
• Algorithm Selection
• Error Handling
• Maintenance
Practical Applications
• Numerical Automation Example: Automated finite element analysis software like ANSYS
automates complex simulations in engineering, allowing for the analysis of structural
integrity, fluid dynamics, and heat transfer.
• Symbolic Automation Example: Symbolic math software like Maple automates symbolic
computations in mathematics, physics, and engineering, aiding in theorem proving, equation
solving, and symbolic manipulation.
predict the behavior of physical systems, analyze data, and test hypotheses.
Numerical Simulation – widely used in physics, engineering, and finance for modeling dynamic
systems, predicting outcomes, and optimizing designs.
Symbolic Simulation - enables the manipulation and analysis of complex systems symbolically,
facilitating tasks such as system identification, stability analysis, and control design
• Example : simulating the behavior of an electrical circuit using symbolic equations derived
from Kirchhoff's laws.
Benefits of Simulation
• Prediction
• Understanding
• Risk Mitigation
• Cost Savings
Simulation Techniques:
• Monte Carlo Simulation: Monte Carlo methods involve random sampling to obtain numerical
results. They are used for modeling uncertainty and variability in systems, such as in financial
modeling or risk analysis.
• Finite Element Analysis (FEA): FEA is a numerical technique for solving partial differential
equations to simulate physical phenomena like stress, heat transfer, and fluid flow in
engineering and structural analysis.
• Model Accuracy
• Computational Resources
• Complexity Management
Practical Applications
• Numerical Simulation Example: Computational fluid dynamics (CFD) simulations are used in
aerospace engineering to model airflow around aircraft, optimizing aerodynamic
performance and fuel efficiency.
• Symbolic Simulation Example: Symbolic simulation tools like MATLAB Simulink are used in
control systems engineering to simulate the behavior of dynamic systems, design
controllers, and perform system analysis and optimization.
, parallelization aims to exploit the computational resources efficiently to reduce execution time
and handle larger problem sizes.
Benefits of Parallelization
• Speed-up
• Scalability
• Efficiency
Parallelization Techniques
• Task Parallelism: Task parallelism involves dividing a computation into smaller tasks that can
be executed independently. For example, parallelizing the evaluation of different branches
in a symbolic computation tree.
• Load Balancing
• Communication Overhead
• Synchronization
Practical Applications
Computational error refers to the discrepancy between the computed value and the true value of a
quantity.
› Round-off Error: Arises from representing real numbers with finite precision.
› Truncation Error: Occurs when approximating infinite processes with finite steps.
› Round-off Error:
› Truncation Error:
› Employ adaptive algorithms that adjust step sizes based on error estimates.
› Symbolic errors arise from the inherent limitations of algorithms used to perform symbolic
computations.
Case Study
› Theriac 25
• Bisection
• Secant Method
• Newton's Method (aka Newton-Raphson)