Computer Science: A Very Short Introduction

Subrata Dasgupta, Oxford University Press 2016
  1. The 'stuff' of computing
  2. Computational artefacts
  3. Algorithmic thinking
  4. The art, science, and engineering of programming
  5. The discipline of computer architecture
  6. Heuristic computing
  7. Computational thinking
Notable people: mathematician Charles Babbage, logician Alan Turing, logician Alonzo Church, Alan Perlis, Allen Newell, Herbert Simon, Ada Augustus, Sir Maurice Wilkes, Claude Shannon, computing philosopher Luciano Floridi, computer scientist Donald Knuth, systems and management scientist Russell Ackoff, AI researchers Jeffrey Shrager and Pat Langley, computer scientist Paul Rosenbloom, polymath scientist Herbert Simon, Euclid, al-Khwarizmi, 

Automaton - artefact with its own source of power, doing a repeated pattern of movement or action, can be mechanical, cognitive, digital.
Information theory - quantification, storage, communication of information; measured in entropy.
Language - take an idea, put it in smaller chunks which are made of symbols.
Data - (Knuth) information obtained via observation or measurement. Info < data .
Data - (Ackoff) outcome of observation, representing objects and events. Data < info.
Data - (Floridi) Datum(singular) exists when x != y, and is info when is actionable . Data < info.
Data - (Shrager, Langley) data is observation, what you qualify to be important quantifiably.
Data - (programmers) data structures have computations perform on them,
Data type - have defined operations, values for meaning, and storability
Hierarchy - many systems are hierarchical in structure, natural are discovered, artificial are invented
Compositional hierarchy - components on two or more levels, concern is with the relationships within and across levels.
Computing tool - any application or software which provides some abstraction to do computation.
Virtual machine - emulates another computer system, often used for hardware.
Architecture - generic logical or functional structure of computational artefacts.
Compositional hierarchy - the breakdown of a complex system of a point to it decompositional primitives that interact with low level sub structures(computations artefacts).
Hierarchical organisation - manages the complexity of an entity(non trivial interacting components).
Abstraction/refinement - manages complexity of the use and understanding of computational artefacts.
Hierarchy by construction - each level of computational development/use a generic platform is built upon by the developers/user of the level. Each level must be aware of the users needs with it's domain and abstract away process, leading to a the refinement of a simple function that is needed.
Automata Theory - the structure, behaviour, power and limitations of the Turing machine in all manifestations.
Interactive computing - computing systems exchanging messages, commands, data with other systems
Decision procedure - using 'if then else goto' keywords to specify decision making to direct the flow of control, disregarding the why.
Algorithm fitness - the termination of an algorithm after a finite number of steps.
Algorithm definiteness - the precise and unambiguously specified steps of the algorithm.
Algorithm effectiveness - each operation must be primitive enough for a human to perform.
Algorithm input and output - one or more inputs and one or more outputs.
Iteration - a repetition to a previously checked condition.
Termination criterion - the condition/criterion in which the algorithm will stop operating.
Abstraction - the hiding of complexity on two or more levels.
Determinate - an algorithm will produce the same output on each execution for a given input, regardless of when it is called.

Information is the workable abstraction of computer science. Put in perspective, Europe calls this study information processing/information systems.
Information can be measured by its entropy(lack of order/disorder) with the unit of a bit, which has different densities.
While data transmission is one type of information, rendering being another, the semantic information is much more meaningful and important to humans. What abstraction do you want to work at.
Knowledge processing is what data mining is about, not information retrieval.
Information is like small isolated bricks, while knowledge relates information by way of relationship to make inferences.
Without knowledge, new information is just another fact, unable to be assimilated. It would be difficult to understand its significance or consequence.
Computing is symbol processing, data/info is essentially a symbol.
Computer science is the science of symbol processing, in which a computer is the automaton.
Artefacts entered the world to reflect human needs and goals.
Algorithms are abstract artefacts created in response of needs and goals; a tool to which understanding its theoretical underpinnings yields a more effective one.

Chapter 3 algorithmic thinking