The process of filtering out the characteristics of problems that are not needed in order to concentrate on those that are needed.
Abstraction allows us to create a general idea of what the problem is and how to solve it.
Decomposition
Breaking down a complex problem or system into smaller parts that are more manageable and easier to understand.
If a problem is not decomposed, it is much harder to solve. Smaller problems are easier to understand and can be examined in more detail.
Algorithmic thinking
A way of getting to a solution by identifying the individual steps that are needed, creating a set of rules called an algorithm that, if followed precisely, leads to an answer.
Process
Represented by..
Decision
Represented by..
Subprogram
Represented by..
Input / output
Represented by..
Terminal
Represented by..
A syntax error occurs when code written does not follow the rules of the programming language.
A logic error is an error in the way a program works. The program simply does not do what it is expected to do.
Advantages of pseudocode
quickly and easily converted into an actual programming language
it is fairly easy to understand
it does not matter if there are errors in the syntax - it is usually still obvious what is intended
Disadvantages of pseudocode
It can be hard to see how a program flows
It can be time consuming to produce
Trace tables help a programmer to determine the point in a program where a logic error has occurred.
A binary search is a much more efficient algorithm than a linear search.
A binary search can only work if a list is ordered.
A linear search, although simple, can be quite inefficient.
Linear searches have the advantage that they will work on any data set, whether it is ordered or unordered.
Although more efficient than a bubble sort, insertion sorts work best when used with smaller data sets. Large data sets are more efficiently handled by merge sorts.