Back to marketplace

2.1 Elements of computational thinking

No description yet. This curated deck is ready for daily study.

Total cards: 12•Content version: v4•Public deck•Updated: 8/1/2026

Card preview (12)

#1
Front (Question)

Define abstraction

Back (Answer)

Removing unnecessary detail to simplify a complex problem and focus only on the necessary parts.

#2
Front (Question)

What are the benefits of abstraction?

Back (Answer)

• Reduces programming time/cost, as factors that can detract from the program can be ignored • Reduces the complexity of programming code, therefore it can run on lower spec computers • Enables the program to require less memory • Simpler way to solve the problem • Allows programmers to focus on core aspects, meaning the program is more likely to solve the problem, as unnecessary aspects will not detract from the main purpose

#3
Front (Question)

How are abstractions different from reality and how do programmers use abstraction to represent reality?

Back (Answer)

An abstraction is a simplified representation of reality. Real-world entities may be represented using computational structures such as tables and databases. Real-world values are often stored as variables.

#4
Front (Question)

Describe caching and its purpose

Back (Answer)

Data that has been used is stored in the cache in case it is needed again. This enables faster access for future use.

#5
Front (Question)

What are the advantages of caching?

Back (Answer)

• Content can be loaded without delay • Images & text don’t have to be downloaded multiple times, freeing up bandwidth for other tasks on the network

#6
Front (Question)

What are the disadvantages of caching?

Back (Answer)

• The size of the cache limits how much data can be stored, and generally the cache is quite small

#7
Front (Question)

Why are reusable components used in programs?

Back (Answer)

• One piece of code can be used many times, making code more efficient • Saves time, as code does not need to be rewritten • Takes less time to plan the program • Easier error detection as if you fix an issue once it will be corrected in all uses of the component • Makes it easier to maintain the program

#8
Front (Question)

What are the disadvantages of reusable components/subroutines?

Back (Answer)

• It might not always be possible to integrate existing components developed by 3rd parties due to compatibility issues with the rest of the software. This may mean these components need to be modified to work with existing software, which can be more costly & time-consuming • If an error is made in the subroutine then this error will be present in all uses of the component

#9
Front (Question)

How is a structure chart/diagram formatted?

Back (Answer)

In a top-down format, in which the first box states what the program is before splitting into boxes that represent major aspects/sections of the program, each of these are then split into smaller tasks the user should be able to carry out in those sections, and so on

#10
Front (Question)

Describe concurrent processing

Back (Answer)

Processes happening at the same time, in which each process is given a slice of processor time. One process can start before another finishes. Different processes can be executed by different processors in parallel.

#11
Front (Question)

What are the advantages of concurrent processing?

Back (Answer)

• Less idle time for the processor • Longer running tasks don’t delay short running tasks • Tasks requiring preconditions can wait and then resume execution • User is able to interact with the computer while other tasks are running

#12
Front (Question)

What are the disadvantages of concurrent processing?

Back (Answer)

• Can take longer to complete when large numbers of users or tasks are involved as each process is accessed less often • The overhead in coordinating and switching between processes can reduce program throughput • In a database, it would require implementing record locking, which would make the program more complex, requiring more time, skill and potentially money