ct3620 vetenskapsmetodik fÖr teknikomrÅdet history of ideas in computing gordana dodig-crnkovic
DESCRIPTION
CT3620 VETENSKAPSMETODIK FÖR TEKNIKOMRÅDET HISTORY OF IDEAS IN COMPUTING Gordana Dodig-Crnkovic Department of Computer Science and Engineering Mälardalen University 2004. Pieter BRUEGEL, the Elder The Tower of Babel, 1563. COMPUTING CURRICULA. - PowerPoint PPT PresentationTRANSCRIPT
1
CT3620VETENSKAPSMETODIK FÖR TEKNIKOMRÅDET
HISTORY OF IDEAS IN COMPUTING
Gordana Dodig-CrnkovicDepartment of Computer Science and Engineering
Mälardalen University2004
2
Pieter BRUEGEL, the Elder The Tower of Babel, 1563
3
COMPUTING CURRICULA
4
Technological Advancement within Computing over the Past Decade
– The World Wide Web and its applications – Networking technologies, particularly those based on TCP/IP – Graphics and multimedia – Embedded systems – Relational databases – Interoperability – Object-oriented programming – The use of sophisticated application programmer interfaces (APIs) – Human-computer interaction – Software safety – Security and cryptography – …
5
Hackers & Painters
"Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into one. So has your camera. Soon your TV will. Your car has more processing power in it than a room-sized mainframe had in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet. So if you want to understand where we are, and where we're going, it will help if you understand what's going on inside the heads of hackers.“Paul Graham "Hackers & Painters"
6
Hackers & Painters
Hacking and painting have a lot in common. In fact, of all the different types of people I’ve known, hackers and painters are among the most alike.
Paul Graham "Hackers & Painters"
7
Yet there is a whole universe of people contributing to the development of the field of computing rather different from hackers and painters...
8
Computer Science
In practice, computer science includes a variety of topics relating to computers, which range from the abstract analysis of algorithms, formal grammars, etc. to more concrete subjects like programming languages, software, and computer hardware.
As a scientific discipline, it differs significantly from and is often confused with mathematics, programming, software engineering, and computer engineering, although there is some degree of overlap with these and other fields.
http://en.wikipedia.org/wiki/Computer_science
9
Church-Turing Thesis
The Church-Turing thesis states that all known kinds of reasonable paradigms of computation are essentially equivalent in what they can do, although they vary in time and space efficiency. The thesis is not a mathematical theorem that can be proven, but an empirical observation that all known computational schemes have the same computational power.
Now the problem is what is the ”reasonable paradigm of computation” – we will have reason to come back to this point later on in this lecture.
10
Computer
Most research in computer science has been related to von Neumann computers or Turing machines (computers that do one small, deterministic task at a time). These models resemble most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel machines) and some theoretical (like probabilistic, oracle, and quantum machines).
11
Computer Science
Computer scientists study what programs can and cannot do (computability), how programs should efficiently perform specific tasks (algorithms), how programs should store and retrieve specific kinds of information (data structures and data bases), how programs might behave intelligently (artificial intelligence), and how programs and people should communicate with each other (human-computer interaction and user interfaces).
12
CS Body of Knowledge
– Discrete Structures – Programming Fundamentals– Algorithms and Complexity– Programming Languages– Architecture and Organization– Operating Systems– Net-Centric Computing– Human-Computer Interaction– Graphics and Visual Computing– Intelligent Systems– Information Management– Software Engineering– Social and Professional Issues– Computational Science and Numerical Methods– ...
13
Related Fields
Computer science is closely related to a number of fields. These fields overlap considerably, though important differences exist
• Information science is the study of data and information, including how to interpret, analyze, store, and retrieve it. Information science started as the foundation of scientific analysis of communication and databases.
• Computer programming or software development is the act of writing program code.
14
Related Fields
• Software engineering emphasizes analysis, design, construction, and testing of useful software. Software engineering includes development methodologies (such as the waterfall model and extreme programming) and project management.
• Information systems (IS) is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data.
• Computer engineering is the analysis, design, and construction of computer hardware
15
Related Fields
• Mathematics shares many techniques and topics with computer science, but is more general. In some sense, CS is the mathematics of computing.
• Logic is a formal system of reasoning, and studies principles that lay at the very basis of computing/reasoning machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels. The subfield of logic called computability logic provides a systematic answer to the fundamental questions about what can be computed and how. .
16
Related Fields
• Lexicography and specialized lexicography focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries.
• Linguistics is the study of languages, converging with computer science in such areas as programming language design and natural language processing.
17
Debate over Name
There is some debate over whether the name of the field should be computer science or computation science or computing. The first name is the original, traditional name; however it implies that CS studies computers. The second name is more recent, and it implies that CS studies what we do with computers. The third is the most general term including not only what we can do with present-day computers but any computing process that any physical system can perform.
18
Major Fields of Importance for CS • Mathematical foundations• Theoretical Computer Science• Hardware• Software• Data and Information Systems• Computing Methodologies• Computer Systems Organization• Computer applications• Computing Milieux• ....
19
Mathematical Foundations
• Discrete mathematics (Boolean algebra, Graph theory, Domain theory ..)
• Mathematical logic • Probability and Statistics • Information theory • ...
20
Theoretical Computer Science
• Algorithmic information theory • Computability theory • Cryptography • Formal semantics • Theory of computation (or theoretical computer science)
– analysis of algorithms and problem complexity – logics and meanings of programs – Mathematical logic and Formal languages
• Type theory • ...
21
Hardware
• Control structures and Microprogramming • Arithmetic and Logic structures • Memory structures • Input/output and Data communications • Logic Design • Integrated circuits
– VLSI design • Performance and reliability • ...
22
Software
• Computer programming (Programming techniques, Program specification, Program verification)
• Software engineering – Optimization – Software metrics – Software Configuration Management (SCM) – Structured programming – Object orientation – Design patterns – Documentation
• Programming languages • Operating Systems • Compilers• ...
23
Computer Systems Organization
• Computer architecture • Computer networks • Distributed computing • Performance of systems • Computer system implementation • ...
24
Data and Information Systems
• Data structures • Data storage representations • Data encryption • Data compression • Data recovery • Coding and Information theory • Files
– File formats • Information systems
– Databases – Information Storage and retrieval – Information Interfaces and Presentation
• Data recovery• .....
25
Computing Methodologies
• Symbolic and Algebraic manipulation • Artificial intelligence • Computer graphics • Image processing and computer vision • Pattern recognition• Simulation and Modeling • Document and text processing • Digital signal processing • ...
26
Computer Applications
• Administrative data processing • Mathematical software (Numerical analysis, Automated theorem
proving, Computer algebra systems)• Physical sciences and Engineering (Computational chemistry,
Computational physics)• Life and medical sciences (Bioinformatics, Computational Biology,
Medical informatics)• Social and behavioral sciences • Arts and Humanities • Computer-aided engineering • Human-computer interaction (Speech synthesis, Usability engineering) • Robotics • ....
27
Computing Aspects (Milieus)
• Computer industry • Computers and education • Computers and society • Legal aspects of computing • Management of computing and Information systems • Personal computing • Computer and information security
28
Computing
• CS != Programming
• CS >> Programming
• Computing != CS
• Computing >> CS
29
Prof. Gerry Sussman [MIT] said we could write down all the ideas in computer science on 4 pages!
CS has added valuable knowledge to our understanding of the world.
CS discipline offers some important concepts which it is useful for everyone to understand. Just as there is a utility for everyone to understand a certain amount of math and science, there is a good reason for people to understand a certain amount of computer science.
http://www.cs.caltech.edu/~andre/general/computer_science.html
Big ideas in Computer Science and Engineering
30
Hilbert’s program: Mechanical procedures exist for finding the solutions to problems. That is, for many questions/problems, we can write down a series of steps and simple predicates which define precisely how to find the correct solution. This process is completely mechanical, not requiring any "human" judgment to complete.
We can build physical machines which implement these procedures and perform the calculations.
There are simple, universal models of computing which capture the basic capabilities of these machines (e.g. automata, pushdown automata, Turing Machines).
Big ideas in Computer Science and Engineering
31
The Turing Machine model is "robust" in the sense that "reasonable" additions to it, or alternative formulations of computing models have the same asymptotic power of computability (Church's thesis).
“Reasonable" meaning they, for the most part, correspond to things we imagine a real machine could support. In particular, there are stronger models when the machine is allowed to do "unreasonable" things like consult an oracle.
Deterministic/guaranteed procedures do not exist for all problems (Halting Problem, uncomputability). An important component of CS theory is to classify problems as computable or uncomputable.
Big ideas in Computer Science and Engineering
32
Big ideas in Computer Science and Engineering
Of the problems which are computable, tasks have different computational difficulty (complexity). An important component of CS theory allows us to analyze algorithms and assess their complexity. (complexity classes [P,NP,PSPACE, IP, ...], order analysis [O(), Omega(), Theta()])
Common idioms/solution techniques, e.g. – divide-and-conquer– linear programming– dynamic programming– graph algorithms
33
There are alternatives to directly solving hard problems optimally. CS theory also tells us what we can give up in the guarantee of solution quality to reduce computational complexity. – approximation algorithms – online algorithms– polynomial heuristic solutions – randomized algorithms
Big ideas in Computer Science and Engineering
34
The desired computation can be captured precisely and unambiguously. Computer science deals with how we construct languages to describe computations, and how we make them convenient for human use.
• languages • syntax (grammars) • semantics (denotational, operational)
Big ideas in Computer Science and Engineering
35
We do not have to emulate the user's description of a computation to implement it correctly. We simply need to implement a computation which gives the same visible result (has the same meaning) as the user's computation (compilation, CAD) which means semantic transformations.
Big ideas in Computer Science and Engineering
36
The representation used for data in a computation can have a big effect on efficiency of operation and ease of human comprehension
• effects on computational and storage efficiency (e.g. arrays and fixed structures vs. tagged lists, red-black trees; sparse vs. dense representations of data)
• easing human comprehension (e.g. rich data structures)
Big ideas in Computer Science and Engineering
37
Our physical world allows us to build very large computer systems. The practical limit to the useful size of a computer system (or at least, the size of the function efficiently supported by a computer system) is almost always human comprehension, not the physical capacity required. Consequently, a major concern of computer science is techniques to manage and reduce complexity (abstractions/information hiding, modularity, problem decomposition, hierarchy, component isolation, invariants, common idioms/paradigms for organization (e.g. procedures, frames, streams, objects, APIs, servers)
Big ideas in Computer Science and Engineering
38
• A computing machine can be implemented out of X. • X=mechanical interactions, relays, tubes, transistors,
DNA, molecules... • common/useful abstractions (e.g. digital abstraction, flops,
memory, communication channels) • disciplines achieving correctness in the face of
noise/uncertainty (e.g. voltage levels, timing models and disciplines)
Big ideas in Computer Science and Engineering
39
We can extend our notion of abstraction/information hiding to machine design. In particular, the machine code and operating environment for a machine represents the abstract interface it provides to the outside world. Any implementation which provides the same semantics to the machine code is viable.
Consequently, we have the notion of ISAs or architecture families which all run the same machine code but which admit to a variety of implementations (e.g. IBM 360, VAX, MIPS, SPARC, x86).
Big ideas in Computer Science and Engineering
40
Machine code is just another language specifying precisely the computation to be performed. – a computational engine need only provide the intended
semantics, leaving it plenty of freedom as to how it implements the semantics.
– like any other language, it can be translated from the input format to another native format (perhaps another machine's native machine format) as long as it provides the original semantics (e.g. softPC, binary translation)
Big ideas in Computer Science and Engineering
41
The engineering side of computer science is about: How do we minimize the resources we use in order to perform a computation (set of computations). Physical machines have finite/limited real resources so time, energy, area (hardware: memory, wires)… must be minimized.
Big ideas in Computer Science and Engineering
42
We can provide the abstraction of more physical resources by virtualizing the physical resources. That is, sharing the physical resource among multiple uses over time. To accomplish this, we store the state of a particular usage of the physical resources in cheaper storage, e.g. virtual memory, virtual channels, multitasking, time-sharing
Big ideas in Computer Science and Engineering
43
Computations occur at different time scales (rates). To minimize work, when possible, hoist a computation out of a high rate region into a slower region. A trivial example: loop invariants/hoisting.
Big ideas in Computer Science and Engineering
44
Feedback is the key to diagnosing discrepancies between one's model of the world and reality. This is really just the heart of the scientific method. It should be used by developers to improve programs (debug functional problems, identify and improve performance problems). Moreover, it can be embedded in programs so that they adapt to their data and environment.
Big ideas in Computer Science and Engineering
45
A data structure or computation can either be dynamic or static.
• Static structures and computations can be very efficient when the size and shape of the computation is constant or has little variance.
• Dynamic structures/computations are necessary when the size or scope of the problem is unbounded. They cost more per element or item, but they only have to be as large (as complex) as a particular problem instance.
Big ideas in Computer Science and Engineering
46
Big Ideas of Engineering
There are many big ideas in engineering, e.g.• iterative design • real-world constraints • tradeoffs• feedback • complexity management techniquesthat are important for understanding not only classical
engineered systems but also for understanding social systems and the natural world.
47
History of Ideas of Computer Science
• LEIBNIZ: LOGICAL CALCULUS• BOOLE: LOGIC AS ALGEBRA • FREGE: MATEMATICS AS LOGIC • CANTOR: INFINITY• HILBERT: PROGRAM FOR MATHEMATICS • GÖDEL: END OF HILBERTS PROGRAM • TURING: UNIVERSAL AUTOMATON • VON NEUMAN: COMPUTER
http://web.clas.ufl.edu/users/rhatch/pages/10-HisSci/links/ H I S T O R Y O F S C I E N C E L I N K S
4821
Natural Sciences(Physics,
Chemistry,Biology, …)
2
Social Sciences(Economics, Sociology, Anthropology, …)
3
The Humanities(Philosophy, History, Linguistics …)
4
Logic &
Mathematics1
Culture(Religion, Art, …)
5
The whole is more than the sum of its parts. Aristotle, Metaphysica
CS
49
Leibniz: Logical Calculus
Gottfried Wilhelm von Leibniz
Born: 1 July 1646 in Leipzig, Saxony (now Germany)Died: 14 Nov 1716 in Hannover, Hanover (now Germany)
50
Leibniz´s Calculating Machine
“For it is unworthy of excellent men to lose hours like slaves in the labor of calculation which could safely be relegated to
anyone else if the machine were used.”
51
Leibniz´s Logical Calculus
DEFINITION 3. A is in L, or L contains A, is the same as to say that L can be made to coincide with a plurality of terms taken together of which A is one.B N = L signifies that B is in L and that B and N together compose or constitute L. The same thing holds for larger number of terms.
AXIOM 1. B N = N B.POSTULATE. Any plurality of terms, as A and B, can be added to
compose A B.AXIOM 2. A A = A.PROPOSITION 5. If A is in B and A = C, then C is in B.PROPOSITION 6. If C is in B and A = B, then C is in A.PROPOSITION 7. A is in A.(For A is in A A (by Definition 3). Therefore (by Proposition 6) A is in A.)….PROPOSITION 20. If A is in M and B is in N, then A B is in M N.
52
Boole: Logic as Algebra
George Boole
Born: 2 Nov 1815 in Lincoln, Lincolnshire, EnglandDied: 8 Dec 1864 in Ballintemple, County Cork, Ireland
53
George Boole is famous because he showed that rules used in the algebra of numbers could also be applied to logic.
• This logic algebra, called Boolean algebra, has many properties which are similar to "regular" algebra.
• These rules can help us to reduce an expression to an equivalent expression that has fewer operators.
54
Properties of Boolean Operations
A AND B A B
A OR B A + B
55
Frege: Matematics as Logic
Friedrich Ludwig Gottlob Frege
Born: 8 Nov 1848 in Wismar, Mecklenburg-Schwerin (now Germany)Died: 26 July 1925 in Bad Kleinen, Germany
56
The Predicate Calculus (1)
• In an attempt to realize Leibniz’s ideas for a language of thought and a rational calculus, Frege developed a formal notation (Begriffsschrift).
• He has developed the first predicate calculus: a formal system with two components: a formal language and a logic.
57
The Predicate Calculus (2)
The formal language Frege designed was capable of expressing:
– predicational statements of the form ‘x falls under the concept F’ and ‘x bears relation R to y’, etc.,
– complex statements such as
‘it is not the case that ...’ and ‘if ... then ...’, and
– ‘quantified’ statements of the form ‘Some x is such that ...x...’ and ‘Every x is such that ...x...’.
58
The Analysis of Atomic Sentences and Quantifier Phrases
Fred loves Annie. Therefore, some x is such that x loves Annie.
Fred loves Annie. Therefore, some x is such that Fred loves x.
Both inferences are instances of a single valid inference rule.
59
Proof
As part of his predicate calculus, Frege developed a strict definition of a ‘proof’.
In essence, he defined a proof to be any finite sequence of well-formed statements such that each statement in the sequence either is an axiom or follows from previous members by a valid rule of inference.
60
Cantor: Infinity
Georg Ferdinand Ludwig Philipp Cantor
Born: 3 March 1845 in St Petersburg, RussiaDied: 6 Jan 1918 in Halle, Germany
61
Infinities
Set of integers has an equal number of members as the set of even numbers, squares, cubes, and roots to equations!
The number of points in a line segment is equal to the number of points in an infinite line, a plane and all mathematical space!
The number of transcendental numbers, values such as and e that can never be the solution to any algebraic equation, were much larger than the number of integers.
62
Hilbert described Cantor's work as:- ´...the finest product of mathematical genius and one of the supreme achievements of purely intellectual human activity.´
63
Hilbert: Program for Mathematics
David Hilbert
Born: 23 Jan 1862 in Königsberg, Prussia (now Kaliningrad, Russia)Died: 14 Feb 1943 in Göttingen, Germany
64
Hilbert's program
Provide a single formal system of computation capable of generating all of the true assertions of mathematics from “first principles” (first order logic and elementary set theory).
Prove mathematically that this system is consistent, that is, that it contains no contradiction. This is essentially a proof of correctness.
If successful, all mathematical questions could be established by mechanical computation!
65
Gödel: End of Hilberts Program
Kurt Gödel
Born: 28 April 1906 in Brünn, Austria-Hungary (now Brno, Czech Republic)Died: 14 Jan 1978 in Princeton, New Jersey, USA
66
Incompleteness Theorems
1931 Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme.
In any axiomatic mathematical system there are propositions that cannot be proved or disproved within the axioms of the system.
In particular the consistency of the axioms cannot be proved.
67
Turing: Universal Automaton
Alan Mathison Turing
Born: 23 June 1912 in London, EnglandDied: 7 June 1954 in Wilmslow, Cheshire, England
68
When war was declared in 1939 Turing moved to work full-time at the Government Code and Cypher School at Bletchley Park.
Together with another mathematician W G Welchman, Turing developed the Bombe, a machine based on earlier work by Polish mathematicians, which from late 1940 was decoding all messages sent by the Enigma machines of the Luftwaffe.
69
At the end of the war Turing was invited by the National Physical Laboratory in London to design a computer.
His report proposing the Automatic Computing Engine (ACE) was submitted in March 1946.
Turing returned to Cambridge for the academic year 1947-48 where his interests ranged over topics far removed from computers or mathematics, in particular he studied neurology and physiology.
70
1948 Newman (professor of mathematics at the University of Manchester) offered Turing a readership there.
Work was beginning on the construction of a computing machine by F C Williams and T Kilburn. The expectation was that Turing would lead the mathematical side of the work, and for a few years he continued to work, first on the design of the subroutines out of which the larger programs for such a machine are built, and then, as this kind of work became standardized, on more general problems of numerical analysis.
71
1950 Turing published Computing machinery and intelligence in Mind
1951 elected a Fellow of the Royal Society of London mainly for his work on Turing machines
by 1951 working on the application of mathematical theory to biological forms.
1952 he published the first part of his theoretical study of morphogenesis, the development of pattern and form in living organisms.
72
Von Neuman: Computer
John von Neumann
Born: 28 Dec 1903 in Budapest, HungaryDied: 8 Feb 1957 in Washington D.C., USA
73
In the middle 30's, Neumann was fascinated by the problem of hydrodynamical turbulence.The phenomena described by non-linear differential equations are baffling analytically and defy even qualitative insight by present methods. Numerical work seemed to him the most promising way to obtain a feeling for the behaviour of such systems. This impelled him to study new possibilities of computation on electronic machines ...
74
Von Neumann was one of the pioneers of computer science making significant contributions to the development of logical design. Working in automata theory was a synthesis of his early interest in logic and proof theory and his later work, during World War II and after, on large scale electronic computers.
Involving a mixture of pure and applied mathematics as well as other sciences, automata theory was an ideal field for von Neumann's wide-ranging intellect. He brought to it many new insights and opened up at least two new directions of research.
75
He advanced the theory of cellular automata, advocated the adoption of the bit as a measurement of computer memory, and solved problems in obtaining reliable answers from unreliable computer components.
76
Computer Science Hall of Fame
Charles Babbage Ada Countess of Lovelace Axel Thue Stephen Kleene
Julia Robinson Noam Chomsky Juris Hartmanis John Brzozowski
77
Computer Science Hall of Fame
Richard Karp Donald Knuth Manuel Blum
Stephen Cook Sheila Greibach Leonid Levin
78
Women in Computer History
• Ada Byron King, Countess of Lovelace (1815-1852) • Edith Clarke (1883-1959) • Rósa Péter (1905-1977) • Grace Murray Hopper (1906-1992) • Alexandra Illmer Forsythe (1918-1980) • Evelyn Boyd Granville • Margaret R. Fox • Erna Schneider Hoover • Kay McNulty Mauchly Antonelli • Alice Burks • Adele Goldstine • Joan Margaret Winters
79
Ada Byron King, Countess of Lovelace
(1815-1852)
Ada heard in November, 1834, Babbage's ideas for a new calculating engine, the Analytical Engine. Ada was touched by the "universality of Babbages ideas". Hardly anyone else was.
In her article, published in 1843, Lady Lovelace's far-sighted comments included her predictions that such a machine might be used to compose complex music, to produce graphics, and would be used for both practical and scientific use.
Ada suggested to Babbage writing a plan for how the engine might calculate Bernoulli numbers. This plan, is now regarded as the first "computer program." A software language was named "Ada" in her honor in 1979.
80
Edith Clarke is well-known in the field of Power Engineering. Her main contribution to the field was the development of tables that speeded up calculations for engineers. This was especially important because she created them during World War I, when engineers desperately needed to work faster.
Edith Clarke (1883-1959)
81
Her first research topic was number theory, but she became discouraged on finding that her results had already been proved by Dickson.
For a while Rósa wrote poetry, but around 1930 she was encouraged to return to mathematics by Kalmár. He suggested Rósa examine Gödel's work, and in a series of papers she became a founder of recursive function theory.
Rósa wrote Recursive Functions in 1951, which was the first book on the topic and became a standard reference.
In 1952 Kleene described Rósa Péter in a paper in Bull. Amer. Math. Soc. as ``the leading contributor to the special theory of recursive functions."
From the mid 1950's she applied recursive function theory to computers. In 1976 her last book was on this topic: Recursive Functions in Computer Theory.
Rósa Péter (1905-1977)
82
ENIAC Ladies
83
Erna Schneider Hoover
Invention: Computerized Telephone Switching System
Erna Schneider earned a B.A. with honors in medieval history from Wellesley College, and later a Ph.D. in the philosophy and foundations of mathematics from Yale University.
In 1954, after teaching for a number of years at Swarthmore College, she began a research career at Bell Laboratories.
While there, she invented a computerized switching system for telephone traffic, to replace existing hard-wired, mechanical switching equipment. For this ground-breaking achievement -- the principles of which are still used today -- she was awarded one of the first software patents ever issued (Patent #3,623,007, Nov. 23, 1971) . At Bell Labs, she became the first female supervisor of a technical department.
84
Grace Murray Hopper (1906-1992)
Grace Murray Hopper: Inventor of the Computer Compiler
She participated in the development of the Common Business-Oriented Language (COBOL; 1959-61) for the UNIVAC
The very first computer bug: Grace Murray Hopper originated this term when she found a real bug in a computer
85
Ida Rhodes (1900 -1986)
She designed the C-10 language in the early 1950 for the UNIVAC.
She also designed the original computer used for the Social Security Administration.
In 1949, the department of Commerce awarded her an exceptional Service Gold Medal for significant pioneering leadership and outstanding contributions to the scientific progress of the nation.
86
Evelyn Boyd GranvilleEvelyn Boyd Granville - was one of the first
African American women to earn a Ph.D. in Mathematics.
She became a specialist in rocket and missile fuses, orbit computations and trajectory calculations for national defense and the space program providing technical support for the Vanguard, Mercury and Apollo projects. In addition, she served as an educational consultant to the State of California, helping to improve the teaching of math in elementary and secondary schools.
87
Jean E. Sammet
She initiated the concept and directed the development of the first FORMAC (FORmula MAnipulation Compiler). FORMAC was the first widely used general language. It was also the first system for manipulating nonnumeric algebraic expressions.
In 1965, she became programming language technology manager in the IBM Systems Development Division. Afterward, she wrote a book on programming languages.
Her book, Programming Languages: History and Fundamentals, was published by Prentice-Hall in 1969.
88
Now retired from University of California, Los Angeles, where she was a computer science professor, Estrin was a pioneer in the field of biomedical engineering who realized that some of the most important ideas in science did not fit neatly into separate fields. Her work would combine concepts from anatomy, physiology, and neuroscience with electronic technology and electrical engineering. She was one of the first to use computer technology to solve problems in health care and in medical research.
Estrin designed and then implemented the first system for analog-digital conversion of electrical activity from the nervous system," a precursor to the use of computers in medicine. She published papers on how to map the brain with the help of computers, and long before the Internet became popular and easy to use, she designed a computer network between UCLA and UC Davis in 1975.
Dr. Thelma EstrinProfessor Emerita
89
Dana Angluin
B.A., Ph.D. University of California at Berkeley, 1969, 1976, Joined Yale Faculty 1979
Algorithmic models of learningProfessor Angluin’s thesis was among the first work to
apply complexity theory to the field of inductive inference.
Her work on learning from positive data reversed a previous dismissal of that topic, and established a flourishing line of research. Her work on learning with queries established the models and the foundational results for learning with membership queries. Recently, her work has focused on the areas of coping with errors in the answers to queries, map-learning by mobile robots, and fundamental questions in modeling the interaction of a teacher and a learner.
90
Nancy A. Lynch
Professor of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. Nancy Lynch heads the Theory of Distributed Systems Group (TDS) research group in MIT's Laboratory for Computer Science. This group is part of the Theory of Computation (TOC) group and also of the Principles of Computer Systems (POCS) group.
Teaching - Spring 2001: 6.897 Modeling and Analyzing Really Complicated Systems, Using State Machines Fall 2001 6.852 Distributed Algorithms
Research interests:distributed computing, real-time computing, algorithms, lower bounds, formal modelling and verification.
91
Adele E. Goldberg
Adele Goldberg received her Ph.D. from the University of California at Berkeley in 1992. She is an associate professor in the UIUC Department of Linguistics and a part-time Beckman Institute faculty member in the Cognitive Science Group. Her fields of professional interest are syntax/semantics, constructional approaches to grammar, lexical semantics, language acquisition, language processing, and categorization.
92
Sandra L. Kurtzig
In today's male-dominated software industry, women founders and CEOs (chief executive officers) are practically nonexistent. But while software titans like Bill Gates and Oracle's Larry Ellison have become the poster boys for Silicon Valley success, the first multimillion-dollar software entrepreneur was a woman.
Starting with just $2,000, Sandra Kurtzig built a software empire that, at its peak, boasted around $450 million in annual sales. And it all started as a part-time job.
93
International Difference in Percentage of Female Students within Informatics 2001
Olga Goldmann, Seminar: Geschichte der Informatik http://www.millo.de/virtosphere/schillo/teaching/WS2001/Vortraege/Frauen.ppt
Country %Women
England 35
Italy, France, Spain, Portugal 40 50
Former Sowjetunion 50
Bulgaria 60-70
Grece 59
India, Malaysia, Singapure 50
Germany 8
94
Fleming's original thermionic valve, 1889.
Science Museum London
Philosophical Problems of Computing
95
Babbage's Difference Engine No 1, 1832. Front detail.
Science Museum London
96
The 'Bombe' code-breaking machine, 1943 at Bletchley Park in Bedfordshire, the British forces' intelligence centre during WWII.
The cryptographers at Bletchley Park deciphered top- secret military communiques between Hitler and his armed forces.
These communiques were encrypted in the 'Enigma' code which the Germans considered unbreakable.
However, the codebreakers at Bletchley cracked the code with the help of the Bombe machine.
97
Code-breaking personnel at Bletchley Park, 1943.
This shows one of the Hut 3 priority teams at Bletchley Park, in which civilian and service personnel worked together at code- breaking.
98
Wrens* operating the 'Colossus' computer, 1943.
Colossus was the world's first electronic programmable computer, at Bletchley Park in Bedfordshire.
* Women's Royal Naval Service
99
The computer presents itself as a culturally defining technology and has become a symbol of the new millennium, playing a cultural role far more influential than the mills in the Middle Ages, mechanical clocks in the seventeenth century, or the steam engine in the age of the industrial revolution.
(Bolter 1984)
100
“The important difference is that the computer (the physical object that is directly related to the theory) is not a focus of investigation (not even it he sense of being the cause of certain algorithm proceeding in certain way) but it is rather theory materialized, a tool always capable of changing in order to accommodate even more powerful theoretical concepts. ”
Scientific Methods in Computer Science, GDC
101
Philosophy of Computing or
Philosophy of Information?
DICHOTOMY
INFORMATION – COMPUTATIONSUBSTANTIVE - VERB
DATA STRUCTURE – FUNCTION/ALGORITHMPARTICLE – FORCE (FIELD)
Instructive analogy from physics: ATOMISMPARTICLES are considered as the primary principle.
FIELDS/INTERACTIONS are defined in terms of particles, particle exchange.
102
There is no consensus yet on the definition of semantic information.
The Standard Definition of declarative, objective and semantic Information (SDI):
information = meaningful data
Floridis main thesis is that meaningful and well-formed data constitute information only if they also qualify as contingently truthful.
Now the problem is to interpret what contingently truthful means in this context.
"The contingent, roughly speaking, is what has the ground of its being not in itself but in somewhat else. Such is the aspect under which actuality first comes before consciousness . . . But the contingent is only one side of the actual . . . . It is the actual, in the signification of something merely possible. Accordingly we consider the contingent to be what may or may not be, what may be in one way or another, whose being or not-being, and whose being on this wise or otherwise, depends not upon itself but on something else. To overcome this contingency is . . .the problem of science . . . ." Logic, § 145 Note. www.class.uidaho.edu/mickelsen/texts/Hegel%20Glossary.htm
What Is Information?Luciano Floridi
103
The Philosophy of Information (PI)
A new philosophical discipline, concerned with a) the critical investigation of the conceptual nature and basic
principles of information, including its dynamics (especially computation and flow), utilisation and sciences; and
b) the elaboration and application of information-theoretic and computational methodologies to philosophical problems. L. Floridi
"What is the Philosophy of Information?", Metaphilosophy, 2002 http://www.wolfson.ox.ac.uk/~floridi/papers.htm
104
What is Computation?Brian Cantwell Smith
105
The Age of SignificanceVolume I • Introduction
Brian Cantwell Smith
106
Construals of Computation
1. Formal symbol manipulation (FSM): the idea, derivative from a century’s work in formal logic and metamathematics, of a machine manipulating (at least potentially) symbolic or meaningful expressions without regard to their interpretation´or semantic content;
2. Calculation of a function (FUN): behavior that, when given as input an argument to a (typically mathematical) function, produces as output the value of that function on that argument.
3. Effective computability (EC): what can be done—and how hard it is to do it—mechanically, as it were, by, an abstract analogue of a “mere machine”;
107
4. Rule-following or algorithm execution (RF): what is involved, and what behaviour is thereby produced, in following a set of rules or instructions, such as when cooking dessert;
5. Digital state machines (DSM): the idea of an automaton with a finite, disjoint set of internally homogeneous states—as parodied in the “clunk, clunk, clunk” gait of a 1950’s cartoon robot;
6. Information processing (IP): what is involved in storing, manipulating, displaying, and otherwise trafficking in “information,” whatever information might be; and
7. Physical symbol systems (PSS): the idea, made famous by Newell and Simon, that, somehow or other, computers interact with and perhaps are also made of symbols in a way that depends on their mutual physical embodiment.
108
Church-Turing Thesis*
*Source: Stanford Encyclopaedia of Philosophy (B. Jack Copeland)
109
A Turing machine is an abstract representation of a computing device.
It is more like a computer program (software) than a computer (hardware).
110
LCMs [logical computing machines: Turing’s expression for Turing machines] were first proposed by Alan Turing, in an attempt to give a mathematically precise definition of "algorithm" or "mechanical procedure".
111
The Church-Turing thesis concerns an effective or mechanical method in logic and mathematics.
Effective Computability
112
A method M is called ‘effective’ or ‘mechanical’ iff:
1. M is set out in terms of a finite number of exact instructions (each instruction being expressed by means of a finite number of symbols);
2. M will, if carried out without error, always produce the desired result in a finite number of steps;
3. M can (in principle) be carried out by a human being unaided by any machinery save paper and pencil;
4. M demands no insight or ingenuity on the part of the human being carrying it out.
113
Misunderstandings of the Turing Thesis
Turing did not show that his machines can solve any problem that can be solved "by instructions, explicitly stated rules, or procedures" and nor did he prove that a universal Turing machine "can compute any function that any computer, with any architecture, can compute".
114
Turing proved that his universal machine can compute any function that any Turing machine can compute; and he put forward, and advanced philosophical arguments in support of, the thesis here called Turing’s thesis.
115
Turing introduces his machines as an idealised description of a certain human activity, the tedious one of numerical computation, which until the advent of automatic computing machines was the occupation of many thousands of people in commerce, government, and research establishments.
116
Turing’s "Machines". These machines are humans who calculate. (Wittgenstein)
A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)
117
A thesis concerning the extent of effective methods - procedures that a human being unaided by machinery is capable of carrying out - has no implication concerning the extent of the procedures that machines are capable of carrying out, even machines acting in accordance with ‘explicitly stated rules’.
118
Among a machine’s repertoire of atomic operations there may be those that no human being unaided by machinery can perform.
119
Two Most Fundamental Functions
SEARCH (identify objects = divide universe in parts)
SORT (organize: what is the same, what is different)
120
Repetition, Similarity
As repetition is based upon similarity, it must be relative. Two things that are similar are always similar in certain respects.
121
Repetition, Similarity
Searching for similarity and differences leads to classifications i.e. the division of objects or events in different groups/classes.
The simplest tool by for classification is the binary opposition or dichotomy (dualism). When we use dichotomy, we only decide if an object is of kind A or of kind A. Examples of frequent dichotomies are yes/no, true/false, before/after, more/less, above/below, etc.
122
Identity
The basic feature of experimental method is its reproducibility: It must be possible to establish essentially the same experimental situation in order to obtain the same results. This means that the experimental arrangement can be made with essentially equivalent parts.
What we call “essentially equivalent” (or we can call it “essentially the same”) depends on situation. Even here the principle of information hiding helps us to get a practical “level of resolution” which means information hiding for all objects below that level.
123
IdentityDeclaring two systems/particles/states as identical is entirely
the matter of focus.
For example if we focus on question of how many people in this country are vegetarians, we just treat all people as equal units.
If on the other hand we want to know how many women in this country are vegetarian, we discriminate between men and women in our analysis of people, so they are no longer identical.
124
Identity
Declaring two systems/particles/states as identical is entirely the matter of focus.
125
Identity
We can e.g. assume that bacteria of particular sort are interchangeable (indistinguishable) in certain context.
That enables us to make repeated experiments with different agents and to treat all bacteria of the same type as equal.
It does not mean that they are identical in the absolute sense. It only means that for our purpose the existing difference does not have any significance.
126
Identity
Example of ancient atomic theory. The problem of showing that one single physical body- say piece of iron is composed of atoms is at least as difficult as of showing that all swans are white. Our assertions go in both cases beyond all observational experience.
The difficulty with these structural theories is not only to establish the universality of the law from repeated instances as to establish that the law holds even for one single instance.
127
Identity
A singular statement like “This swan here is white” may be said to be based on observation. Yet it goes beyond experience- not only because of the word “white”, but because of the word “swan”.
For by calling something a “swan”, we attribute to it properties which go far beyond mere observation. So even the most ordinary singular statements are always the interpretations of the facts in the light of theories!
128
Classification (1)
– A relation is an equivalence relation if it is reflexive, symmetric and transitive.
– An example of such is equality on a set.
129
Classification (2)
CLASSES SHOULD BE DISJUNCT ...
class1class2
class3
class 1: positive effect
class 2: negative effect
class 3: no effect
Universe here is a group of patients who test a new medicine.
... AND CHOSEN ACCORDING TO SAME CRITERIA ...
130
Classification (3)Jorge Luis Borges,
"The Analytical Language of John Wilkins“ (Incongruity)
(a) those that belong to the Emperor, (b) embalmed ones, (c) those that are trained, (d) suckling pigs, (e) mermaids, (f) fabulous ones, (g) stray dogs,
(h) those that tremble as if they were mad,
(i) those that resemble flies from a distance
(j) those drawn with a very fine camel's hair brush,
(k) innumerable ones,(l) others, (m) those that have just broken a flower
vase
Borges's fictive encyclopedia divides animals into:
131
Konrad von Megenberg. Buch der Natur (Augsburg, 1481).
A medieval Latin compendium of science translated into German in the fourteenth century and was first printed in Augsburg in 1475.
(Lessing J. Rosenwald Collection), Lobrary of Congress
Relations to Natural Philosophers Paradigm
132
Universe As An Assemblage Of Natural Objects
Rudolf II, patron of Kepler and briefly Brahe was fascinated by alchemy, astrology, and other ways in which human art interfered in or perfected nature.
Here one of his court painters has, through art, depicted Rudolf as an assemblage of natural objects: fruits, vegetables, grains, and flowers.
Galileo referred contemptuously to such portraits in his Dialogue on Two Chief World Systems.
133
Two genetically engineered mice, 1988.
These male mice are direct descendants of the first transgenic mammals to be granted a US patent. This strain was patented by Harvard University. Science Museum London
What properties must a system have to be living?
Can we make a clear distinction between living and nonliving systems?
What is connection between self-organization and life?
Universe As An Assemblage Of Natural Objects
134
Philosophy Of Science – A New Paradigm
It is time again to direct gaze upward and see Nature as a whole. What have we learned last couple of centuries of scientific specialisation and division to ever smaller fields?
Field of computing seems to be the best candidate to replace physics as paradigmatic mirror of Philosophy of Science used to reflect the Universe that matters.
This time Universe has to include human, and not only as a machine!
Unifying concept of information has even the potential to bring together Sciences and Humanities. New Natural Philosophy?
135
136
A New Kind of ScienceStephen Wolfram
137
Santiago Theory - Autopoiesis
”Living systems are cognitive systems, and living as a
process is a process of cognition. This statement is valid
for all organisms, with and without a nervous system.”
Maturana Humberto, Biology of Cognition, 1970
138
INFORMATION
COGNITIONCOMPUTATION
139
Evolutionary Biological Paradigm
The most developed forms of computational systems: Evolutive self-organizing self-sustaining complex systems built of metabolic/computational units
140
Pieter BRUEGEL, the Elder The Tower of Babel, 1563