Lesson 1 Introduction To Computational Thinking - p1
Lesson 1 Introduction To Computational Thinking - p1
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:
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.
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.
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.
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.