Save
ocr alevel comp sci
comp 2
2.1 elements of computational thinking
Save
Share
Learn
Content
Leaderboard
Learn
Created by
worms r us
Visit profile
Cards (47)
What is the initial stage of problem-solving in programming?
Understanding
of
the
problem
Why is creativity important in problem-solving?
It helps in
conceptualizing
robust
solutions
What are the key approaches to problem-solving?
Problem decomposition
Abstraction
Pattern recognition
Generalisation
What does problem decomposition involve?
Breaking a
complex
problem into smaller parts
What is abstraction in problem-solving?
Eliminating unnecessary detail to simplify
complexity
What is pattern recognition in problem-solving?
Identifying
commonalities
within a problem
How can generalisation be applied in problem-solving?
By applying a solution to
similar
problems
What are the key aspects of algorithm design?
Crafting a sequence of instructions
Understanding
algorithm efficiency
What is algorithm efficiency concerned with?
Optimising code for
speed
and
resource
use
What are programming constructs?
Sequence
Iteration
Selection
Recursion
What are programming paradigms?
Different styles of programming like
procedural
What is the purpose of validation and verification in programming?
To ensure the program works as
intended
What is the role of testing and debugging?
To spot and fix
errors
in code
What are the key aspects of evaluation and reflection in programming?
Evaluating solutions for
effectiveness
Reflecting on the development process
Adapting solutions based on feedback
What factors might be considered in evaluating a program's effectiveness?
Speed
,
accuracy
, and
maintainability
Why is it important to reflect on the development process?
To learn from
successes
and problems encountered
How can solutions be adapted in programming?
By making changes based on
assessment
and feedback
What is important to remember about the stages of problem-solving?
They are not
discrete stages
Often
iterative and interactive
Revisit and revise
as needed
What is the main goal of problem solving in programming?
To develop a solution for an
issue
What is decomposition in problem solving?
Breaking
a
problem
into
smaller
tasks
What are algorithms used for in programming?
Step-by-step
instructions for solving problems
What are the three main components of an algorithm?
Input
, process, and
output
What types of algorithms are commonly used in programming?
Iterative
and
recursive
algorithms
How do iterative algorithms function?
They use
loops
to perform actions repeatedly
What is recursion in programming?
A
function
calling itself within its own code
Why is it important to test algorithms?
To ensure
efficiency
and
accuracy
What is abstraction in problem solving?
Removing
unnecessary
details to simplify problems
What does a 'top down' approach in problem solving involve?
Breaking down a large problem into
smaller
ones
What is a 'bottom up' approach in problem solving?
Solving the
smallest
problems first
What tools are often used to visually represent solutions in programming?
Pseudocode
and
flowcharts
What is prototyping in software development?
Creating a simplified version of software
What is debugging in programming?
Identifying and fixing
errors
in
code
What is the dry run technique used for?
Verifying the
correctness
of
algorithms
What are the key concepts in problem solving in programming?
Problem
identification
Decomposition
Algorithms
(iterative and recursive)
Abstraction
Testing for
efficiency
and
accuracy
Debugging
Prototyping
Visual representation
(pseudocode and flowcharts)
What does concurrent thinking facilitate?
Multiple
tasks
occurring side by side
How does concurrent thinking improve system efficiency?
By enabling tasks to operate
simultaneously
What is the difference between parallelism and concurrency?
Parallelism executes
computations
simultaneously; concurrency composes
independent
processes
What does synchronous processing refer to?
Tasks
dependent
on each other in execution order
What are threads in concurrent thinking?
Smaller units of a process that run
concurrently
What are deadlocks and live locks?
Situations where process executions are halted due to
circular dependencies
See all 47 cards