
Presentation to The Philosophy Forum, Sunday August 2nd, 2015
1.0 Definition and Types of Computation
1.1 Computation is defined here as any type of calculation and is the foundation of the discipline of computer science. Computer science includes the theory of computation, data structures, programming languages, computer architecture, networks, databases etc. The application of computer science technologies has utterly changed our social life and access to knowledge in an extraordinary manner leading to a global computerised society and with hypothetical explorations on the computation aspects of mind, the possibility of transformation of the human species, and even speculations that the universe itself is computational model.
1.2 Pure computation also has approaches which can be distinguished as (a) digital versus analogue, (b) sequential versus parallel (versus concurrent (c) batch versus interactive (providing feedback as the program completes instances of computation), which can be combined in practise (e.g., analogue parallel interative computation, such as The MONIAC (Monetary National Income Analogue Computer) created in 1949).
1.3 A function is a set of input-output pairs that performs a specific task; it can be embodied as a named section of a program as a procedure or routine. They encapsulate a task with input and output parameters. A function can be described as a formula, and can be considered computable is there is an algorithm (from Al-Khuwarizmi, an Arab mathematician, ca. 780-850 CE) that computes the function. Programmers often use "procedural forgetfulness" when writing functions once written.
1.4 Bill Rapaport, who holds a rare position of a "philosopher of computing" noted four Great Insights of Computer Science (2013)