0% found this document useful (0 votes)
12 views

Lesson 1 Introduction To Computational Thinking - p1

The document discusses computational thinking and its application to problem solving. It covers key concepts like algorithms, data representation, problem decomposition, and the differences between numeric and symbolic computation. Examples are provided to illustrate various computational thinking techniques.

Uploaded by

lemoremembrere
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Lesson 1 Introduction To Computational Thinking - p1

The document discusses computational thinking and its application to problem solving. It covers key concepts like algorithms, data representation, problem decomposition, and the differences between numeric and symbolic computation. Examples are provided to illustrate various computational thinking techniques.

Uploaded by

lemoremembrere
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Introduction to

Computational Thinking
Algorithms, Data, and Problem Solving
What is computation thinking
Computational thinking is a problem-solving approach that involves
breaking down large, complex problems into smaller, more manageable
parts, and then solving them systematically using logical and
algorithmic thinking. This method is not limited to computer science
but is applicable across various disciplines and everyday scenarios.
Example
Example:
Imagine you're planning a trip to a new city. Computational thinking
would involve breaking down the problem into smaller steps:

1. Define the problem: Determine the purpose of the trip, such as


sightseeing or attending a conference.

2. Decompose: Break down the trip into smaller tasks, such as booking
flights, finding accommodation, planning transportation within the
city, and creating an itinerary of places to visit.
Example
3. Pattern Recognition: Identify patterns or similarities in tasks, such as
finding the best deals for flights and accommodations or grouping
attractions by location to optimize travel time.
4. Abstraction: Focus on essential details and ignore irrelevant information.
For instance, when booking accommodation, you might abstract details
like the hotel's amenities and focus solely on factors like price, location,
and reviews.
5. Algorithm Design: Create step-by-step instructions or algorithms for each
task. For example, researching flight options, comparing prices, selecting
the best option, and making a booking can be broken down into a series
of algorithmic steps.
Example
6. Evaluation: Assess the effectiveness of your plan by considering
factors like cost, convenience, and time efficiency. You might iterate
on your plan based on feedback or new information.

By applying computational thinking, you can approach the problem of


planning a trip systematically and efficiently, leading to a well-organized
and enjoyable travel experience.
Algorithms and Procedures
Algorithms and procedures are fundamental concepts in computational
thinking and problem-solving. An algorithm is a step-by-step set of
instructions, or a sequence of actions designed to solve a specific
problem or perform a particular task. Procedures refer to the
systematic way of executing these algorithms.
Example
Let's consider the task of finding the largest number in a list of numbers. We can
create an algorithm to accomplish this:

1. Start
2. Set the first number in the list as the largest number.
3. For each subsequent number in the list:
4. If the current number is greater than the largest number:
5. Update the largest number to be the current number.
6. Repeat step 3 until all numbers in the list have been compared.
7. The largest number found at the end of the process is the maximum number in
the list.
8. End
Example
Now, we can describe the procedure to execute this algorithm:
Procedure:
1. Obtain the list of numbers.
2. Set a variable to store the largest number and initialize it with the
first number in the list.
3. Iterate through the list:
a. Compare each number with the stored largest number.
b. If the current number is greater, update the stored largest
number.
Example
4. After iterating through the entire list, the stored largest number will
be the maximum number.
5. Output or use the maximum number as needed.

By following this procedure, we can efficiently find the largest number


in a list using the algorithmic approach described. This example
illustrates how algorithms and procedures work together to solve
problems in a structured and systematic manner.
Numeric and Symbolic Algorithm
Numerical and symbolic computations involve different approaches
and algorithms due to the nature of the data they operate on and the
types of operations they perform.
Numeric and Symbolic Algorithm
Numerical Computation:

Example: Solving a system of linear equations using numerical methods


like Gaussian elimination or iterative methods like Jacobi or Gauss-
Seidel.
Numeric and Symbolic Algorithm
Algorithms: Numerical algorithms focus on approximating solutions to
mathematical problems using numerical values. They often involve
operations with real or floating-point numbers. These algorithms emphasize
efficiency and numerical stability. Examples include:
• Newton-Raphson method for finding roots of equations.
• Numerical integration methods like Simpson's rule or the trapezoidal rule.
• Optimization algorithms such as gradient descent.
• Fast Fourier Transform (FFT) for efficient calculation of Fourier transforms.
Numeric and Symbolic Algorithm
Symbolic Computation:

Example: Simplifying algebraic expressions or solving equations


symbolically.
Algorithms: Symbolic computation involves manipulating mathematical
expressions symbolically, treating variables as symbols rather than
numerical values. These algorithms focus on exact representations of
mathematical objects and expressions. Examples include:
Numeric and Symbolic Algorithm
• 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.
Numeric and Symbolic Algorithm
While numerical computation emphasizes efficiency and
approximation, symbolic computation prioritizes exactness and
manipulation of symbols. Both types of computation have their
advantages and are suited to different types of problems and
applications.
Data Collection, Representation, and Analysis
Data Collection, Representation, and Analysis are crucial steps in
extracting meaningful insights from data.

1. Data Collection: This involves gathering information from various


sources, which could be through surveys, experiments, sensors, or
existing databases. It's essential to ensure the data collected is
relevant, accurate, and representative of the problem or
phenomenon under study.
Data Collection, Representation, and Analysis
2. 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. Common forms of data representation include
tables, charts, graphs, and databases. The choice of representation
depends on the nature of the data and the insights we want to
derive from it.
Data Collection, Representation, and Analysis
3. 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.
Example
Let's consider a scenario where a retail company wants to analyze sales data to identify
trends and make informed business decisions.

1. Data Collection: The company collects sales data from various sources, including point-
of-sale systems, online transactions, and customer feedback forms. This data includes
information such as sales volume, product categories, customer demographics, and
geographical locations.

2. Data Representation: The collected sales data is organized into a structured format,
such as a database or spreadsheet. For example, the data might be represented in a
tabular format with columns for date, product ID, quantity sold, price, customer
demographics, etc. Additionally, the data can be visualized using charts or graphs to
provide a more intuitive understanding of sales trends over time or across different
product categories.
Example
3. Data Analysis: Using statistical analysis and data mining techniques,
the company analyzes the sales data to identify patterns and
insights. This could involve calculating metrics such as total
revenue, average sales per customer, bestselling products, seasonal
trends, customer segmentation, and correlations between different
variables. For instance, the analysis might reveal that certain
products sell better during specific seasons or that customers from
certain demographics prefer particular product categories.
Example
By collecting, representing, and analyzing sales data, the retail
company can gain valuable insights into consumer behavior, optimize
inventory management, target marketing efforts more effectively, and
ultimately improve business performance.
Problem Decomposition
Problem decomposition is 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
Let's consider the task of designing and building a website for a small
business. Problem decomposition can help break down this complex
task into smaller, more manageable components.

1. Identify Main Objectives: The main objective of building the


website is to create an online presence for the business, attract
customers, and provide information about products or services.
Example
2. Decompose into Sub-Problems:

a. Design and Layout:


Decide on the overall layout and structure of the website.
Create wireframes and mockups for different pages (home, about,
products/services, contact, etc.).

b. Content Creation:
Write compelling and informative content for each page.
Gather images, videos, and other media to enhance the website's visual
appeal.
Example
c. Development and Coding:
Choose a web development framework or platform (e.g., WordPress,
Shopify, custom HTML/CSS).
Write HTML, CSS, and JavaScript code to implement the design and
functionality.

d. Integration of Features:
Incorporate features such as contact forms, e-commerce functionality,
social media integration, etc.
Ensure compatibility with different devices and browsers.
Example
e. Testing and Debugging:
Test the website's functionality and performance across different
scenarios.
Identify and fix any bugs or issues.

f. Deployment and Maintenance:


Choose a web hosting provider and deploy the website.
Set up analytics tools to track website traffic and performance.
Establish a plan for regular updates and maintenance.
Example
3. Assign Tasks and Prioritize: Once the problem is decomposed into
sub-problems, tasks can be assigned to different team members
based on their skills and expertise. It's essential to prioritize tasks
based on dependencies and critical path analysis to ensure the
project stays on track.

By decomposing the problem of building a website into smaller


components, the project becomes more manageable, and each sub-
problem can be tackled systematically. This approach also facilitates
collaboration among team members and helps ensure that all aspects
of the project are addressed effectively.
Importance of Computational Thinking
Computational thinking is of paramount importance in today's digital age for
several reasons:

1. Problem-Solving Skills: Computational thinking equips individuals with a


structured approach to problem-solving. It teaches them to break down
complex problems into smaller, more manageable parts, enabling them
to devise effective solutions.

2. Transferability: The principles of computational thinking are applicable


across various domains, not just computer science. Whether you're a
biologist analyzing genetic data, an economist studying market trends, or
an artist creating digital art, computational thinking can help you
approach problems systematically.
Importance of Computational Thinking
3. Automation and Efficiency: Computational thinking fosters an
understanding of algorithms, which are step-by-step procedures for
solving problems. By automating repetitive tasks and optimizing
processes, individuals can improve efficiency and productivity in
their work.

4. Data Literacy: In an era of big data, computational thinking is


essential for interpreting and making sense of vast amounts of
information. It enables individuals to collect, process, analyze, and
visualize data to extract valuable insights and inform decision-
making.
Importance of Computational Thinking
5. Critical Thinking and Creativity: Computational thinking encourages
critical thinking skills by emphasizing logic, reasoning, and analysis.
It also fosters creativity by encouraging individuals to explore
multiple solutions to a problem and think outside the box.

6. Preparation for the Future: With rapid advancements in technology


shaping the future of work, computational thinking is becoming
increasingly important. It equips individuals with the skills needed
to adapt to emerging technologies and thrive in a digitalized world.
Importance of Computational Thinking
7. Collaboration and Communication: Computational thinking
promotes collaboration and communication skills as individuals
work together to solve problems and share their findings with
others. It encourages teamwork and interdisciplinary collaboration,
leading to innovative solutions.
Applications of Computational Thinking
Computational thinking is used in various real-world applications, such
as:
• Developing software and applications
• Designing algorithms for data analysis
• Solving optimization problems
• Creating simulations and models

You might also like