The History of Computer Science Part I Hardware CS-3111 Computer Ethics History of Computer Science
Part I Hardware What is a computer? Early computers?
Blaise Pascal (approx. 1650) French Mathematician, theologian and scientist Blaise Pascal (1642) Built a machine with 8 gears called the Pascaline to assist French government in compiling tax reports Pascal Programming Language Named after Pascal by its author Niklaus Wirth THE programming language of the 1970’s Used to write the Macintosh OS
Pascal and religion During the night of 23 November 1654, Pascal had a dreamlike religious experience He wrote a summary of the experience in a brief document entitled the Memorial, which he sewed into his coat and carried with him until his death eight years later. The intensity of this experience resulted in a definitive change in Pascal's lifestyle, in his intellectual interests, and in his personal ambitions. After 1654, he terminated the mathematical discussions about which he had corresponded with Fermat, and he cancelled plans to publish a booklet on the vacuum that was ready to go into print.
Why is Pascal important One of the first genius mechanical minds to also tackle philosophical questions The pragmatic questions: what can I do to improve computation? The philosophical questions: Why am I here? What does this life mean? Pascal on Ethics Pascal classifies many human actions as obviously immoral, and as widely recognized as such. He characterizes these immoral actions variously as contrary to the ‘natural light’, to ‘common sense’ or the ‘natural law.’ Pascal argues that human understanding of the natural laws is imperfect because our reason is corrupted. Therefore – we have to realize our limitations on understanding Pascal on Ethical Hypothesis Testing Pascal believed there are three types of hypothesis. • The negation of some hypotheses implies an absurd consequence, and they must therefore be true. • The affirmation of others implies an absurdity, and these must be false. • In a third category, if no absurd conclusion results from either the affirmation or negation of an hypothesis, one cannot draw any valid conclusion about its truth. Common Sense Examples Hypothesis: People love to receive spam Negation: People do not love to receive spam The negation is true therefore the hypothesis is false
Hypothesis: Software should be tested before release Negation: Software should not be tested before release The negation is false therefore the hypothesis is true, Not so clear example Hypothesis: Data privacy is a basic human right Negation: Data privacy is not a basic human right Hmmm?
Programmable Machines Programmable machines Hugo J.M. Jacquard (early 1800’s) Developed loom that used punched cards (the equivalent of stored programs)
Punched cards Information coded on cards (forerunner of modern storage devices) Cards could be linked in a series (forerunner of programs) Such programs can automate human tasks
Charles Babbage British scientist and inventor, 1840’s known as ‘the Father of the Computer’ Babbage’s Concern with Ethics Reflections on the Decline of Science in England (1830) Coined the term: “cooking the data” • Making the data fit your hypotheses • Biased data selection Underscores the role of replication in true science How better to make data processing less subjective than to take it out of human hands and give it to an impartial and infallible machine Babbage’s computer Difference Engine
could compute and print tables, but never got out of the 'working prototype' stage because of technological limits Babbage’s dream machine The Analytical Engine steam powered calculating machine using programs on punched cards. The analytical engine was never completed in his lifetime. Analytical Engine plans Analytical Engine, con’t Contained all the elements of modern computers including 'mill' (for calculating) 'store' (for holding instructions) 'operator' (for carrying out instructions) reading and writing device
Countess Ada Augusta Lovelace Lord Byron’s daughter Mathematician Devised way to use punched cards to give instructions to Babbage’s machines The ‘first computer programmer’ Ada Programming Language DOD initiative started in 1970’s Mandated into the 1990’s Safety-critical operations Herman Hollerith (1890 census) Invented a tabulating machine using punched cards (same size as ours today).
Founded forerunner of IBM Hollerith’s machine Hollerith’s punched cards Hollerith Codes A code for relating alphanumeric characters to holes in a punched card. It was devised by Herman Hollerith in 1888 and enabled the letters of the alphabet and the digits 0–9 to be encoded by a combination of punchings in 12 rows of a card. Forerunner of ASCII codes In FORTRAN the format code for text is H, which stands for Hollerith.
Thomas Watson, Sr. (head of IBM in 1924) Made his fortune in punched card tabulating equipment and office equipment Never convinced that computing machines were worth the risk. Turned over the company to his son in mid 1950’s IBM Corporate Ethics Thomas Watson 1914 Inaugural Speech “I firmly believe that any organization, in order to survive and achieve success, must have a sound set of beliefs on which it premises all its policies and actions. Next, I believe that the most important single factor in corporate success is faithful adherence to those beliefs. And finally, I believe that if an organization is to meet the challenges of a changing world, it must be prepared to change everything about itself except those beliefs as it moves through corporate life.” 2003 IBM Policy Statement: Core Values • Dedication to every client’s success • Innovation that matters—for our company and for the world • Trust and responsibility in all relationships
On the other hand…