1/35
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Computational Thinking
> Technique used to understand problems and develop possible solutions before using a computer.
> Helps break down complex problems, understand them, and present solutions in a way computers, humans, or both can understand.
Complex problem
A problem that is not easily solved at first glance.
The Four Cornerstones of Computational Thinking
decomposition, pattern recognition, abstraction, algorithms
Decomposition
breaking down a complex problem or system into smaller, more manageable parts
Pattern Recognition
looking for similarities among and within problems
Abstraction
focusing on the important information only, ignoring irrelevant detail
Algorithms
developing a step-by-step solution to the problem, or the rules to follow to solve the problem
Computational thinking enables you to work out exactly what to tell the computer to do.
true
Defining the problem in problem-solving involves turning an undesirable start point into a desirable goal.
True
Examining the start point helps clarify what the goal should be.
True
If a process is too slow, the goal may involve automating decisions.
False - the goal would involve improving the process speed.
Missing information about how something behaves suggests creating a model or simulation.
True
Work Backwards
A problem-solving strategy where you start at the goal state and work backwards, stage by stage, deducing what is required to reach each preceding stage.
Pattern Recognition
A key step in computational thinking that involves identifying repeated or regular ways something happens.
pattern
repeated or regular way in which something happens or is done.
Types of Pattern Recognition
Across problems & Within a problem
Across problems
Finding similarities among different problems that follow the same pattern.
Within a problem
Finding patterns inside a single problem to reduce repetition in code.
Work Generalisation and Subroutines
After solving a decomposed task, the solution can be generalized for use in other problems or projects.
Subroutines
A reusable, generalized solution that makes problem-solving more flexible.
Abstraction
way of expressing an idea in a specific context whilesuppressing irrelevant details.
Maps are physical abstractions of physical things
True
Information Abstraction
> the process of hiding unnecessary or complex details to focus on essential information
> Each Instance Corresponds toOne Real-World Entity.
> include:Properties: name, value.Types: integer, float, string,etc.
Layering Abstractions
A technique where a problem is represented at different levels of detail.
Key points:
Add a layer: Obscures or hides details.
Peel a layer: Reveals more detailed information.
Can add multiple layers to suppress unnecessary details.
Example: Layers of abstraction in email systems.
Leaking/Lacking Details
When an abstraction hides too many details, it can mislead or fail in practice.
Leaky abstractions must be updated to include important missing details.
True
Modeling
An important type of abstraction in computer science
model
> representation of real-world things that exclude certain details.
> shows the entities that make up your solution, and the relationships between them
Static Models
Show entities and relationships at a specific point in time.
Example: Underground map.
Dynamic Models
> Represent how a problem changes over time.
> Include states, transitions, events, and actions.
Example: State machine model of a turnstile.
Algorithms
> a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer
> A step-by-step set of instructions with input/output, clear start/end, correct, efficient, and properly ordered.
Instructions / actions / processes
The basic steps in an algorithmVaries in nature depending on the context and level of abstraction
Main Control Structures of Algorithms
Sequencing logic (order instructions), Selection logic (conditional flow), and Iteration logic (repeating instructions based on conditions).
Sequencing logic
executing instructions in order of appearance
Selection logic
The flow of the algorithm may change based on certain conditions (Boolean logic).
Iteration logic
algorithms can use repetitionlogic to execute certain instructions more than once, also based on certain conditions.