define computational thinking
‘the ability to think logically about a problem and apply techniques for solving it’
define abstraction
separating the logical and physical aspects of a problem
what is computer science
using mathematical principles to solve problems, learning to think computationally and applying the principles of abstraction
define abstraction by generalisation
the grouping by common charcateristics to arrive at a hierarchical relationship
when is abstraction by generalisation usually used
OOP - classes and sub-classes
define data abstraction
involves creating a representation for data that separates the interface from the implementation so a programmer or user only has to understand the interface, the commands to use, and not how the internal structure of the data is represented and/or implemented
when is data abstraction commonly used
high-level languages
define problem abstraction
involves removing details until the problem reduces to one which has already been solved
when is problem abstraction used
you need to use problem abstraction to remove details until the problem can be represented in a way that is possible to solve because it reduces to one that has already been solved. e.g. using a database. timetabling and schedules are very common problems with well-defined solutions.
what is modelling and simulation and why is it used
define procedural decomposition
means breaking a problem into several sub-problems, so that each sub-problem accomplishes an identifiable task. the sub-problems may themselves be further subdivided
what is the simple diagram that represents a computational problem
define input
the information relevant to the problem, which could for example be passed as parameters to a subroutine
define output
the solution to the problem, which could be passed back from a subroutine
advantages of identifying inputs and outputs
there is no ambiguity in what must be supplied to the sub-routine
what are the two major challenges in producing a solution to a computational problem
define precondition
a condition that must be fulfilled before other things can happen or be done
advantages of specifying preconditions
structure for thinking ahead situations
Name:
Inputs:
Outputs:
Preconditions:
define caching
the temporary storage of data and instructions
examples of data that is cached
last few instructions of a program to be executed, the result of an earlier computation, or data used may be stored in memory so they can be quickly retrieved
define web caching
storing HTML pages and images recently looked at
advantages of web caching
disadvantages of caching