Problem Solving Flashcards
What is computational thinking?
A way of thinking to solve main problem by understanding what the problem is and what is it made up off (components) to develop a solution.
Computational thinking can be applied to various fields and is essential in computer science education
How can solutions to a problem be represented after applying computational thinking?
The solution can be shown in way either to a person or digital system can understand or both.
This representation is crucial for effective communication and implementation of solutions.
What does computational thinking help in developing?
A solutions to main problem.
These solutions can be theoretical or practical depending on the context.
Fill in the blank: Computational thinking involves understanding the problem and its _______.
components.
This understanding is key to formulating effective solutions.
What are the three main approaches to solving problems related to digital systems?
- top-down
- bottom-up
- modularisation
These approaches help in systematically addressing complex issues in digital systems.
“Define” the top-down approach in problem-solving.
A technique that breaks down a main problem into smaller manageable parts until you get to the point where you can easily solve the problem
This approach allows for systematic coding and organization of software.
What is the primary goal of the top-down approach?
To break down a main problem into smaller parts for effective coding.
Each smaller part or module can be addressed separately, leading to easier problem-solving.
How the tasks and instructions handle in the top down approach?
Always in the downward direction.
This reflects the hierarchical nature of breaking down problems.
What visual representation is commonly used for the top-down approach?
A tree structure.
This representation illustrates the hierarchical breakdown of problems.
Fill in the blank: The top-down approach uses a _______ process to break a main problem into smaller problems.
[step by step]
The stepwise process ensures systematic progression in problem-solving.
What happens to each module (sub problems of main problem) in the top-down approach?
Each module is decomposed (broken down) into smaller sub problem until it cannot decomposed anymore
This detailed breakdown allows for targeted solutions to specific issues.
“What” is the top-down approach ?
A way to break a main problem into detailed sub-problems.
How does the top-down approach start?
By abstracting problem.
What is the purpose of decomposition in the top-down approach?
To break down the sub problems so much that it can no longer be decomposed
Fill in the blank: The top-down approach involves breaking a problem into _______ sub-problems.
[detailed]
True or False: The top-down approach only focuses on the final solution without considering sub-problems.
False
Meaning of decomposition
Breaking down main problem into detailed sub goal
What is the meaning of abstraction
Process of removing characteristics that are not important so that important characteristics can be focused on
What is the bottom-up approach?
This is approaching which starts with the smallest parts or module of the problem
How does the bottom-up approach different from the top-down approach?
bottom-up approach is the opposite of the top-down approach
What is the process of combining modules small parts in the bottom-up approach called?
Integration
In the bottom-up approach, what happens after combining the smallest parts?
You move to an upper level compared to small module where you were before and you will continue to go up until you solved the main problem.
Fill in the blank: The combination of the modules in the bottom-up approach is called _______.
Integration
What is the difference between top down and bottom up approach in terms concept?
Top - down : splitting
Bottom - up: joining
What is the difference of top-down and bottom-up approach in terms of
Top-down: has redundant information
Bottom-up: has but can be limited
How are top- down and bottom-up approach different in terms of programming languages?
Top-down: structure / procedural-oriented programming (C)
Bottom-up: object-oriented programming (Python, Java)
What is the difference between top-down and bottom-up approach in terms of main use
Top-down: multiple use (code implementation and debugging, module documentation.
Bottom-up: testing
What is the modularisation approach
The approach aims to break a problem into components and modules
Fill the missing:
Most problems are not one big problem but are a collection of different _______ , _______, which are independent and can be ________.
Tasks, modules
Separated