What is Abstraction?
A way of separating the logical and physical aspects of a problem such as removing less relevant parts of a problem
What are the advantages of specifying preconditions? (3)
What are some typical standards for Reusable Modules? (6)
Why do Reusable Modules need to conform to certain programming standards?
To make them easy to use for other programmers
What is Caching?
Caching is the temporary storage of data and instructions. The last few instructions of a program or frequently used data could be stored
What are the advantages of Caching? (3)
What is a disadvantage of Caching?
Slower performance if the resource isn’t found in the cache
What is Procedural Decomposition?
Procedural decomposition means breaking a problem into a number of sub-problems, so that each sub-problem accomplishes an identifiable task
What is Modularization for?
Program structure and organization, i.e. breaking the problem down into subroutines
What are the advantages of Modularization? (5)
What are features of good programming practice? (5)
What are features of a good algorithm? (5)
What is hand-tracing useful for? (2)
What happens in Concurrent Processing?
Multiple processors execute instructions simultaneously
Tasks are broken down into sub-tasks that can be assigned to separate processors to perform simultaneously
What is Simulation?
The process of designing a model of a real system in order to understand the behaviour of the system, and to evaluate various strategies for its operation