0 index
1 Computer Science –
2 Algorithms – a brief history
3 Algorithm
4 What is an algorithm?
5 Why is this important?
6 What about computers?
7 Analytic Engine
8 Analytic Engine Concepts
9 Lady Ada Lovelace
10 Calculating Machines
11 World War II
12 Grace Hopper
13 Shift in Use
14 Communication

outline
created using slideshow.cgi by Andy Harris















CSCI N301 Fundamental CS Concepts: n301/cs01history
1. Computer Science –
  • Where do we begin?
    - Let’s begin with some background information
    - Computer Science is not the study of computers
    - Computer Science is the study of algorithms



































CSCI N301 Fundamental CS Concepts: n301/cs01history
2. Algorithms – a brief history
  • The word algorithm was not listed in Webster’s New World Dictionary until 1957
  • An older form "ALGORISM", which is the process of doing arithmetic using Arabic numerals



































CSCI N301 Fundamental CS Concepts: n301/cs01history
3. Algorithm
  • The word is derived from the last name of a famous Persian mathematician
    - Muhammad ibn-Musa Al-Khowarizimi
  • He was also an author in the 8th and 9th centuries and wrote a book about the base-10 positional numbering system



































CSCI N301 Fundamental CS Concepts: n301/cs01history
4. What is an algorithm?
  • It is a well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time.
    An Invitation to Computer Science Schneider, et al, 1999



































CSCI N301 Fundamental CS Concepts: n301/cs01history
5. Why is this important?
  • If we can specify an algorithm, we can automate the solution
    - a computing agent can carry it out
    - is able to understand and perform instructions
    - humans, robots, computers



































CSCI N301 Fundamental CS Concepts: n301/cs01history
6. What about computers?
  • The need for fast numeric calculation inspired Charles Babbage (1823) to start building his difference engine – a complex mechanical machine for calculating logarithms and trigonometric functions
  • Construction of tables for ballistics calculations



































CSCI N301 Fundamental CS Concepts: n301/cs01history
7. Analytic Engine
  • In the midst of constructing the difference engine, amongst financial and technical difficulties, Babbage started to design a much more flexible, general purpose machine – the Analytic Engine



































CSCI N301 Fundamental CS Concepts: n301/cs01history
8. Analytic Engine Concepts
  • Four main components of modern computers -
    input
    processing
    storage
    output



































CSCI N301 Fundamental CS Concepts: n301/cs01history
9. Lady Ada Lovelace
  • Worked closely with Babbage on his design and she used her mathematical and literary skills to promote the analytical engine
  • Often called the first programmer because she wrote a program to calculate Bernoulli numbers using the analytical engine



































CSCI N301 Fundamental CS Concepts: n301/cs01history
10. Calculating Machines
  • Babbage was unsuccessful in completing his vision
  • Complex calculating machines were constructed and in 1890, the first US census was counted with the help of a ‘tabulating machine’ developed by Herman Hollerith, whose company in 1924, became International Business Machines Corp (IBM)



































CSCI N301 Fundamental CS Concepts: n301/cs01history
11. World War II
  • Electronic Numerical Integrator and Computer (ENIAC) was developed as a general-purpose electronic digital computer
  • Used to calculate missile trajectories
  • Completed in 1946, used 18,000 vacuum tubes, 500 miles of wire and weighed more than 35 tons



































CSCI N301 Fundamental CS Concepts: n301/cs01history
12. Grace Hopper
  • A US Navy Commodore, also a mathematician who worked on early computers
  • Wrote the first paper on compilers (programs that translate instructions into the 1s and 0s the computer understands)
  • Created the first programming language, COBOL, that could be used on more than one machine



































CSCI N301 Fundamental CS Concepts: n301/cs01history
13. Shift in Use
  • Main use of computers has shifted from calculation to communication
  • Development of the microprocessor in the 1970s initiated the personal computer
  • Small enough and cheap enough to have on your desk or in your home
  • ‘paperless office’ had opposite effect – computers could not communicate between each other



































CSCI N301 Fundamental CS Concepts: n301/cs01history
14. Communication
  • LAN (Local Area Network) allowed computers within an organization to communicate with each other
  • Mid-1980s computers popular in the home market, could not speak directly with each other – many had different operating systems (Mac vs. PC)
  • No uniform way to describe and transform information across computing platforms



































outline

Computer Science –

Algorithms – a brief history

Algorithm

What is an algorithm?

Why is this important?

What about computers?

Analytic Engine

Analytic Engine Concepts

Lady Ada Lovelace

Calculating Machines

World War II

Grace Hopper

Shift in Use

Communication