Abstraction
ignoring any unnecessary inormation and only focusing on important facts
used because it simplifies a problem to make it less complex
its more straighforward to understand the problem and creae a solution
decomposition
breaking down a problem into smaller parts so that it’s easier to solve
each individidual problem can be separately tested and solved
decomposition enables different people to work on the different parts of a larger problem that can later be recombined to produce a full solution
algorithmic thinking
the final stage as logical steps are followed to solve the problem
the problem is broken down using decomposition into smaller problems
the required data and relvant data structures are considered during abstraction
what is an algorithm?
a set of instructions in a logical sequence for solving a problem or completing a task
programmers create algorithm designs as a method of planning a program