Computational Thinking (Practical) #1 Flashcards

(19 cards)

1
Q

§ OL — Computational Thinking Basics

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is computational thinking?

A

The process of analysing a problem and formulating a solution that can be implemented by a computer. It involves breaking problems down into steps that a computer can follow.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an algorithm?

A

A precise, step-by-step, unambiguous set of instructions for solving a problem. A good algorithm must be correct, finite (terminates), and clear.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is abstraction in computational thinking?

A

Identifying and keeping only the ESSENTIAL details needed to solve a problem, while ignoring irrelevant details. The goal is a simplified model that still works for the purpose.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Give a real-world example of abstraction.

A

A map. A road map keeps roads, towns, and distances but removes irrelevant details like individual buildings or tree positions. A tube/underground map keeps stations and lines but removes accurate geography — because passengers only need to know how to get from one station to another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is decomposition?

A

Breaking down a large, complex problem into smaller, more manageable sub-problems. Each sub-problem is simpler to understand and solve. This process continues until each part is straightforward enough to implement directly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Why is decomposition useful in programming?

A
  1. Makes complex problems manageable.
  2. Each sub-problem maps to a module/subroutine.
  3. Modules can be written, tested, and debugged independently.
  4. Modules can be reused across different programs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is pattern recognition?

A

Identifying similarities or recurring patterns within or between problems. When two sub-problems follow the same logic, one solution (a subroutine) can handle both — reducing code duplication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How do abstraction, decomposition, and pattern recognition work together?

A
  1. Decomposition breaks the problem into parts.
  2. Pattern recognition identifies which parts are similar.
  3. Abstraction models each part by keeping only what matters.
    Together they allow complex problems to be solved systematically.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a flowchart and when is it used?

A

A visual diagram that shows the step-by-step logic of an algorithm using standard symbols:
- Oval: Start/End
- Rectangle: Process/action
- Diamond: Decision (yes/no)
- Parallelogram: Input/output
Used at the design stage to plan logic before coding.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is pseudocode?

A

A way of writing algorithm steps in plain English using a programming-like structure. It is language-independent — not tied to any specific programming language. Used to plan logic before writing actual code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

§ AS Only — Computational Thinking (Advanced)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the FOUR techniques of computational thinking?

A
  1. Abstraction — keeping only essential details.
  2. Decomposition — breaking problem into sub-problems.
  3. Pattern Recognition — identifying similar parts.
  4. Algorithm Design — creating precise step-by-step solutions.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe the THREE stages of applying abstraction to a model.

A
  1. Identify the purpose — what is the model for? (Real-life, imaginary, future event?)
  2. Gather information — from user observations, existing models, or stakeholders.
  3. Determine necessary vs. extraneous details — decide what to include, how to represent it, and what to exclude.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the THREE advantages of abstraction in software modelling?

A
  1. Time Reduction — faster development by ignoring irrelevant complexity.
  2. Memory Efficiency — smaller program size means less RAM usage and faster downloads.
  3. Customer Satisfaction — unnecessary features are omitted, giving a cleaner product.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

A road map and a rail map both show the same city. How do they demonstrate abstraction differently?

A

Road map: Includes roads, town names, route numbers. Abstracts away buildings and terrain. Designed for drivers planning journeys.
Rail map: Shows only rail lines and stations, often not geographically accurate. Abstracts away roads entirely. Designed for train passengers navigating between stations.

17
Q

How does decomposition lead to modular programming?

A

Each sub-problem from decomposition becomes a separate program module (function or procedure). Modules are:
- Written and tested independently.
- Reusable across different programs.
- Easier to maintain and debug than monolithic code.

18
Q

Explain how pattern recognition reduces code duplication.

A

When decomposition reveals that two or more sub-problems follow the same logic, one subroutine can be written to handle all of them. The subroutine is called multiple times with different arguments, avoiding repeated code.

19
Q

Why is algorithm design a core part of computational thinking?

A

An algorithm is the precise logical solution to a problem. Without a clear algorithm, coding is guesswork. Designing the algorithm first (in pseudocode or a flowchart) ensures the logic is correct before committing to a programming language.