CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The...

128
CHAPTER 1 CHAPTER 1 CS 10051 CS 10051
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    2

Transcript of CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The...

Page 1: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

CHAPTER 1CHAPTER 1

CS 10051CS 10051

Page 2: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

TEXT READING ASSIGNMENTTEXT READING ASSIGNMENTPrefaces andPrefaces and Chapters 1-2Chapters 1-2

OVERVIEW OF COURSE:

1. The algorithmic foundations of computer science.

2. The hardware world.

3. The virtual machine.

4. The software world.

5. Applications.

6. Social issues.

Note these correspond to the labels on the step pyramid on the backside of first interior page of your text.

Page 3: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

WHAT IS COMPUTER SCIENCE?WHAT IS COMPUTER SCIENCE?

MISCONCEPTION 1:

Computer science is the study of computers.

MISCONCEPTION 2:

Computer science is the study of how to write computer programs.

MISCONCEPTION 3:

Computer science is the study of the uses and applications of computers and software.

Page 4: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

SO, HOW DO WE DEFINE SO, HOW DO WE DEFINE COMPUTER SCIENCE?COMPUTER SCIENCE?

Computer science is the study of Computer science is the study of algorithmsalgorithms including including

1. Their formal and mathematical 1. Their formal and mathematical propertiesproperties

2. Their hardware realizations2. Their hardware realizations 3. Their linguistic realizations3. Their linguistic realizations 4. Their applications4. Their applications

Page 5: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

THAT LEADS TO THE OBVIOUS THAT LEADS TO THE OBVIOUS QUESTION:QUESTION:

An algorithm is a An algorithm is a well-ordered well-ordered collection of collection of unambiguousunambiguous and and effectively computableeffectively computable operations operations

that, when executed, that, when executed, produces a resultproduces a result and and halts in a finite amount of timehalts in a finite amount of time..

What is an algorithm?

Page 6: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

AN EXAMPLE OF A VERY SIMPLE AN EXAMPLE OF A VERY SIMPLE ALGORITHMALGORITHM

1. Wet your hair.1. Wet your hair. 2. Lather your 2. Lather your

hair.hair. 3. Rinse your 3. Rinse your

hair.hair. 4. Stop.4. Stop.

We assume that

The algorithm begins executing at the top of the list of operations.

The "Stop" can be omitted if we assume the last line is an implied "Stop" operation.

Observe:

Operations need not be executed by a computer only by an entity capable of carrying out the operations listed.

Page 7: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A A well-ordered well-ordered collection of collection of operationsoperations

The question that must be answered is:

At any point in the execution of the algorithm, do you know what operation is to be performed next?

Well-ordered operations:

1. Wet your hair.

2. Lather your hair.

3. Rinse your hair.

Not well-ordered operations:

1. Either wet your hair or lather your hair.

2. Rinse your hair.

Page 8: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Well-ordered operations:

1. If your hair is dirty, then

a. Wet your hair.

b. Lather your hair.

c. Rinse your hair.

2. Else

a. Go to bed.

Note: We will often omit the numbers and the letters and assume a "top-down" reading of the operations.

Don't assume that you can't make choices:

Well-ordered operations:

If your hair is dirty, then

Wet your hair.

Lather your hair.

Rinse your hair.

Else

Go to bed.

Page 9: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Unambiguous operations

The question that must be answered is:

Does the computing entity understand what the operation is to do?

This implies that the knowledge of the computing entity must be considered.

For example, is the following ambiguous?

Make the pie crusts.

Page 10: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

To an experienced cook,

Make the pie crusts.

is not ambiguous.

But, an less experienced cook may need:

Take 1 1/3 cups of flour.

Sift the flour.

Mix the sifted flour with 1/2 cup of butter and 1/4 cup of water to make dough.

Roll the dough into two 9-inch pie crusts.

or even more detail!

Page 11: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Definition: An operation that is Definition: An operation that is unambiguous is called a unambiguous is called a primitive primitive operationoperation (or just a (or just a primitiveprimitive))

One question we will be exploring in the course is what are the primitives of a computer.

Note that a given collection of operations may be an algorithm with respect to one computing agent, but not with respect to another computing agent!!

Page 12: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Effectively computableEffectively computable operationsoperationsThe question that must be answered is:

Is the computing entity capable of doing the operation?

This assumes that the operation must first be unambiguous- i.e. the computing agent understands what is to be done.

Not effectively computable operations:

Write all the fractions between 0 and 1.

Add 1 to the current value of x.

Page 13: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

that, when executed, that, when executed, produces a produces a resultresult

The result need not be a number or piece of text viewed as "an answer".

It could be an alarm, signaling something is wrong.

It could be an approximation to an answer.

It could be an error message.

The question that must be answered is:

Can the user of the algorithm observe a result produced by the algorithm?

Page 14: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

halts in a finite amount of halts in a finite amount of timetime

The question that must be answered is:

Will the computing entity complete the operations in a finite number of steps and stop?

Do not confuse "not finite" with "very, very large". A failure to halt usually implies there is an infinite loop in the collection of operations:

1. Write the number 1 on a piece of paper.

2. Add 1 to the number you just wrote and write it on a piece of paper.

3. Repeat 2.

4. Stop.

Page 15: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Definition of an algorithm:Definition of an algorithm:

An algorithm is a An algorithm is a well-ordered well-ordered collection of collection of unambiguousunambiguous and and effectively computable effectively computable operations that, operations that, when executed, when executed, produces a resultproduces a result and and halts in a finite amount of time.halts in a finite amount of time.

Note: Although I have tried to give clean cut examples toillustrate what these new words mean, in some cases, a collection of operations can fail for more than one reason.

Page 16: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

RETURNING TO OUR ORGINAL RETURNING TO OUR ORGINAL QUESTION:QUESTION:

HOW DO WE DEFINE COMPUTER HOW DO WE DEFINE COMPUTER SCIENCESCIENCE??

Computer science is the study of Computer science is the study of algorithmsalgorithms including including 1. Their formal and mathematical 1. Their formal and mathematical

propertiesproperties 2. Their hardware realizations2. Their hardware realizations 3. Their linguistic realizations3. Their linguistic realizations 4. Their applications4. Their applications

Page 17: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

1. Their formal and 1. Their formal and mathematical propertiesmathematical properties

It is not enough to develop any old It is not enough to develop any old algorithm to solve a problem.algorithm to solve a problem.

We must worry about some additional We must worry about some additional properties of an algorithm:properties of an algorithm: How efficient is it?How efficient is it? What kinds of resources must be used to What kinds of resources must be used to

execute it?execute it? How does it compare to other algorithms that How does it compare to other algorithms that

solve the same problem.solve the same problem.

Page 18: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

2. Their hardware realizations2. Their hardware realizations

Algorithms need not execute on machines. Algorithms need not execute on machines. All we really need are computing entities.All we really need are computing entities. Anything that can compute – e.g., a human.Anything that can compute – e.g., a human.

But, ultimately, most of our interest will lie But, ultimately, most of our interest will lie with algorithms that execute on computing with algorithms that execute on computing entities called "computers".entities called "computers".

How are these entities constructed?How are these entities constructed? The emphasis will be on the logical construction The emphasis will be on the logical construction

of a computer, not the physical construction.of a computer, not the physical construction.

Page 19: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

3. Their linguistic realizations3. Their linguistic realizations

How do we represent algorithms?How do we represent algorithms? We will start with one linguistic We will start with one linguistic

realization today, called realization today, called pseudocode pseudocode and later will look at many different and later will look at many different realizations in various programming realizations in various programming languages.languages.

We'll even consider some of the visual We'll even consider some of the visual representations using graphics.representations using graphics.

Page 20: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

And finally:And finally:

4. Their applications4. Their applications What are some of the many important and What are some of the many important and

popular applications of computers in current popular applications of computers in current use including:use including: modeling and simulationmodeling and simulation information retrievalinformation retrieval numerical problem solvingnumerical problem solving telecommunicationstelecommunications artificial intelligenceartificial intelligence networkingnetworking graphicsgraphics

Page 21: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

6

Abacus An early device to record numeric valuesWe normally do not call it a computer, but a computing device.It is still used in parts of the world today.

This distinction between a computer and a computing device will become clearer as we look at other aspects of the history of computing.

Early History of ComputingEarly History of Computing

source: http://www.ee.ryerson.ca:8080/~elf/abacus/intro.html

Page 22: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Napier’s Bones (or Rods)Napier’s Bones (or Rods) Rods were marked with multiplication table Rods were marked with multiplication table

results.results. These were used to provide fairly simple These were used to provide fairly simple

means of multiplying large numbers.means of multiplying large numbers. On the below web site, one of the labs goes On the below web site, one of the labs goes

into some details on Napier’s Bones:into some details on Napier’s Bones:http://http://csilluminated.jbpub.com/labs/Napier.cfmcsilluminated.jbpub.com/labs/Napier.cfm The honor for constructing the first calculating The honor for constructing the first calculating

machine belongs to a German called Wilhelm machine belongs to a German called Wilhelm Schickard . In 1623 he completed a Schickard . In 1623 he completed a mechanical calculating machine based on mechanical calculating machine based on Napier's work. Napier's work.

Page 23: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Using the bones to compute 46732 Using the bones to compute 46732 X 5X 5

Add:

10

150

3500

30000

200000

source: http://csilluminated.jbpub.com/labs/Napier.cfm

Page 24: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Slide RuleSlide Rule In 1614, John Napier discovered algorithms which made In 1614, John Napier discovered algorithms which made

it possible to perform multiplication and division using it possible to perform multiplication and division using addition and subtraction.addition and subtraction.

To avoid having to log tables, Edmund Gunter created a To avoid having to log tables, Edmund Gunter created a number line in which the position of numbers were number line in which the position of numbers were proportional to their logs. proportional to their logs.

William Oughtred soon simplified things further by William Oughtred soon simplified things further by creating a slide rule with two Gunter’s lines.creating a slide rule with two Gunter’s lines. One line could “slide” in order to increment (multiply) One line could “slide” in order to increment (multiply)

or decrement (divide) a value by a second value.or decrement (divide) a value by a second value. The slide rule was widely in use by the end of the 17 The slide rule was widely in use by the end of the 17

century and remained popular for the next 300 years. century and remained popular for the next 300 years. Improvements included ability to compute powers and Improvements included ability to compute powers and

roots of numbers but did not include ability to add or roots of numbers but did not include ability to add or subtract.subtract.

Page 25: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Blaise PascalBlaise Pascal In 1642 Blaise Pascal, a Frenchman invented a In 1642 Blaise Pascal, a Frenchman invented a

new kind of computing device. new kind of computing device. It used wheels instead of beads. Each wheel It used wheels instead of beads. Each wheel

had ten notches, numbered '0' to '9'. When a had ten notches, numbered '0' to '9'. When a wheel was turned seven notches, it added 7 to wheel was turned seven notches, it added 7 to the total on the machine. the total on the machine.

Pascal's machine, known as the Pascal's machine, known as the PascalinePascaline, , could add up to 999999.99. could add up to 999999.99.

It could also subtract. It could also subtract.

source: http://www.tased.edu.au/schools/rokebyh/curric/infotech/stage1/assign2/pre20th.htm#schickard

Page 26: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Gottfried Leibnitz Gottfried Leibnitz

Leibnitz improved on Pascal's adding Leibnitz improved on Pascal's adding machine so that it could also perform machine so that it could also perform multiplication, division and calculate multiplication, division and calculate square roots. square roots.

source: http://www.tased.edu.au/schools/rokebyh/curric/infotech/stage1/assign2/pre20th.htm#schickard

Page 27: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Grillet’s Pocket CalculatorGrillet’s Pocket Calculator One very early machine which incorporated Napier’s One very early machine which incorporated Napier’s

ideas was that built by a French clockmaker called Grillet ideas was that built by a French clockmaker called Grillet in 1678. in 1678.

Grillet included a set of Napier's Rods in an adaptation of Grillet included a set of Napier's Rods in an adaptation of the Pascaline. It could be considered the world's the Pascaline. It could be considered the world's first first pocket calculatorpocket calculator. .

The top section of the device consisted of 24 dials or sets The top section of the device consisted of 24 dials or sets of wheels. The lower section contained a set of inverted of wheels. The lower section contained a set of inverted Napier’s Rods engraved on cylinders. Napier’s Rods engraved on cylinders.

Although the device was limited, it did allow simple Although the device was limited, it did allow simple operations to be performed. operations to be performed.

It could carry out eight digit additions -- something that It could carry out eight digit additions -- something that would have been very useful at a time when very few would have been very useful at a time when very few people had skill with numbers. people had skill with numbers.

Page 28: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Grillet’s MachineGrillet’s Machine

http://www.tased.edu.au/schools/rokebyh/curric/infotech/stage1/assign2/pre20th.htm#schickard

Page 29: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Joseph Jacquard Joseph Jacquard In the late 1700s in France, Joseph Jacquard In the late 1700s in France, Joseph Jacquard

invented a way to control the pattern on a invented a way to control the pattern on a weaving loom used to make fabric. weaving loom used to make fabric.

Jacquard punched pattern holes into paper Jacquard punched pattern holes into paper cards. cards.

The cards told the loom what to do. The cards told the loom what to do. Instead of a person making every change in a Instead of a person making every change in a

pattern, the machine made the changes all by pattern, the machine made the changes all by itself. itself.

Jacquard's machine didn't count anything. So Jacquard's machine didn't count anything. So it wasn't a computer or even a computing it wasn't a computer or even a computing device. His ideas, however, led to many device. His ideas, however, led to many other computing inventions later. other computing inventions later.

Page 30: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Source: http://65.107.211.206/technology/jacquard.html

Intricate textile patterns were prized in France in early 1800s. Jacquard’s loom (1805-6) used punched cards to allow only some rods to bring the thread into the loom on each shuttle pass.

Jacquard Loom - A mechanical device that Jacquard Loom - A mechanical device that influenced early computer designinfluenced early computer design

Page 31: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Source: http://65.107.211.206/technology/jacquard.html

Sheets of punched cards set the Sheets of punched cards set the pattern of the weavepattern of the weave

Page 32: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Luddites Luddites

During the 1700's and early 1800's, part of the world saw the During the 1700's and early 1800's, part of the world saw the development of industrialization. development of industrialization.

Before the Industrial Revolution, manufacturing was done by Before the Industrial Revolution, manufacturing was done by hand or simple machines. hand or simple machines.

The Industrial Revolution caused many people to lose their The Industrial Revolution caused many people to lose their jobs.jobs.

Groups of people known as Luddites attacked factories and Groups of people known as Luddites attacked factories and wrecked machinery in Britain between 1811 and 1816. wrecked machinery in Britain between 1811 and 1816.

The Luddites received their name from their mythical leader The Luddites received their name from their mythical leader Ned Ludd. Ned Ludd.

They believed that the introduction of new textile machines in They believed that the introduction of new textile machines in the early 1800's had caused unemployment and lowered the the early 1800's had caused unemployment and lowered the textile workers' standard of living. textile workers' standard of living.

Note this is similar to the way some people see that Note this is similar to the way some people see that computers today are taking the jobs of workers. computers today are taking the jobs of workers.

Page 33: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Charles BabbageCharles Babbage Babbage is known as the Babbage is known as the

father of modern computingfather of modern computing because he was the first because he was the first person to design a general person to design a general purpose computing device. purpose computing device.

In 1822, Babbage began to In 1822, Babbage began to design and build a small design and build a small working model of an working model of an automatic mechanical automatic mechanical calculating machine, which he calculating machine, which he called a "difference engine". called a "difference engine".

Example: It could find the first Example: It could find the first 30 prime numbers in two and 30 prime numbers in two and a half minutes. a half minutes.

Source: http://www.sciencemuseum.org.uk/on-line/babbage/page3.asp

In the Science Museum, London

Page 34: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A closer look at difference engineA closer look at difference engine

source: http://www.computer.org/history/development/graphics/diff_eng.jpg

Page 35: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Babbage continued work to produce a full scale working Babbage continued work to produce a full scale working Difference Engine for 10 years, but in 1833 he lost interest Difference Engine for 10 years, but in 1833 he lost interest because he had a "better idea"--the construction of what because he had a "better idea"--the construction of what today would be described as a general-purpose, fully today would be described as a general-purpose, fully program-controlled, automatic program-controlled, automatic mechanical mechanical digital computer.digital computer.

Babbage called his machine an "analytical engine". Babbage called his machine an "analytical engine".

He designed, but was unable to build, this Analytical Engine He designed, but was unable to build, this Analytical Engine (1856) which had many of the characteristics of today’s (1856) which had many of the characteristics of today’s computers:computers:

an input devicean input device – punched card reader – punched card reader

an output devicean output device – a typewriter – a typewriter

memorymemory – rods which when rotated into position – rods which when rotated into position “stored” a number“stored” a number

control unitcontrol unit – punched cards with instructions encoded – punched cards with instructions encoded as with the Jacquard loomas with the Jacquard loom

Page 36: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

source: http://www.sciencemuseum.org.uk/on-line/babbage/page5.asp

The machine was to operate automatically, by steam power, and would require only one attendant.

Page 37: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Some call Babbage’s analytic engine the first Some call Babbage’s analytic engine the first computer, but, as it was not built by him, most computer, but, as it was not built by him, most

people place that honor elsewhere.people place that honor elsewhere.

Babbage's analytical engine contained all the Babbage's analytical engine contained all the basic elements of an automatic computer--basic elements of an automatic computer--storagestorage, , working memoryworking memory, , a system for moving a system for moving between the twobetween the two, , an input devicean input device and and an output an output devicedevice. .

But Babbage lacked funding to build the But Babbage lacked funding to build the machine so Babbage's computer was never machine so Babbage's computer was never completed. completed.

Page 38: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Babbage designed a printer, also, that has Babbage designed a printer, also, that has just been built at the Science Museum in just been built at the Science Museum in

London- 4,000 working parts!London- 4,000 working parts!

source: http://news.bbc.co.uk/1/hi/sci/tech/710950.stm

Page 39: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

7

Ada LovelaceAda Lovelace Ada Byron Lovelace was a close Ada Byron Lovelace was a close

friend of Babbage. friend of Babbage. Ada thought so much of Ada thought so much of

Babbage's analytical engine that Babbage's analytical engine that she translated a previous work she translated a previous work about the engine. about the engine.

Because of the detailed Because of the detailed explanations she added to the explanations she added to the work, she has been called the work, she has been called the inventor of computer inventor of computer programmingprogramming. .

source:http://www.pbs.org/teachersource/mathline/concepts/womeninmath/activity2.shtm

Today, on behalf of her work in computing, a programming language, Ada, is named after her.

Page 40: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Herman HollerithHerman Hollerith In 1886, Herman Hollerith invented a machine known as the In 1886, Herman Hollerith invented a machine known as the

Automatic Tabulating Machine, to count how many people Automatic Tabulating Machine, to count how many people lived in the United States. lived in the United States.

This machine was needed because the census was taking This machine was needed because the census was taking far too long. far too long.

His idea was based on Jacquard's loom. Hollerith used His idea was based on Jacquard's loom. Hollerith used holes punched in cards. The holes stood for facts about a holes punched in cards. The holes stood for facts about a person; such as age, address, or his type of work. The person; such as age, address, or his type of work. The cards could hold up to 240 pieces of information. cards could hold up to 240 pieces of information.

Hollerith also invented a machine, a Hollerith also invented a machine, a tabulatortabulator, to select , to select special cards from the millions. special cards from the millions.

To find out how many people lived in Pennsylvania, the To find out how many people lived in Pennsylvania, the machine would select only the cards punched with a machine would select only the cards punched with a Pennsylvania hole. Hollerith's punched cards made it Pennsylvania hole. Hollerith's punched cards made it possible to count and keep records on over 60 million possible to count and keep records on over 60 million people. people.

Page 41: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Hollerith TabulatorHollerith Tabulator

Hollerith founded the Tabulating Machine Company. In 1924, the name of the company was changed to International Business Machines Corporation (IBM).

This is the 1890 version used in tabulating the 1890 federal census.

Source: http://www.columbia.edu/acis/history/hollerith.html

Page 42: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Punched cardsPunched cardsThe punched card used by the Hollerith Tabulator for the 1890 US census.

The punched card was standardized in 1928:It was the primary input media of data processing and computing from 1928 until the mid-1970s and was still in use in voting machines in the 2000 USA presidential election.source:

http://www.columbia.edu/acis/history/hollerith.html

Page 43: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

History of HardwareHistory of Hardware

Page 44: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Harvard Mark I, ENIAC, UNIVAC I, Harvard Mark I, ENIAC, UNIVAC I, ABC and othersABC and others

These are the names of some of the early These are the names of some of the early computers that launched a new era in computers that launched a new era in mathematics, physics, engineering and mathematics, physics, engineering and economics initially and, subsequently, almost economics initially and, subsequently, almost every area has been impacted by computers.every area has been impacted by computers.

The early computers were huge physically and The early computers were huge physically and very limited by today’s standards.very limited by today’s standards.

Page 45: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

8

Vacuum TubesLarge, not very reliable, generated a lot of heat

Magnetic Drum StorageMemory device that rotated under a read/write head

Card Readers & Magnetic Tape DrivesDevelopment of these sequential auxiliary storage devices

First Generation Hardware First Generation Hardware (1951-1959) – Major (1951-1959) – Major

characteristicscharacteristics

Page 46: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

ABC ABC built by Professor John Atanasoff and a built by Professor John Atanasoff and a graduate student, Clifford Berry, at Iowa State graduate student, Clifford Berry, at Iowa State

University between 1939 and 1942. University between 1939 and 1942. Special purpose Special purpose

computer and was computer and was not truly not truly programmable. programmable.

The instructions to The instructions to the machine were the machine were entered by buttons. entered by buttons.

Input: Punched paper Input: Punched paper tapetape

Output: Punched Output: Punched cardscards

Source: www.cs.iastate.edu/jva/images/abc-1942.gif

Page 47: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Mark I designed by Howard Aiken and Grace Mark I designed by Howard Aiken and Grace Hopper at Harvard University in 1939-1944.Hopper at Harvard University in 1939-1944.

Contains more than 750,000 components, is 50 feet long, 8 feet tall, and weighs approximately 5 tons

Instructions were pre-punched on paper tape

Input was by punched cards Output was displayed on an electric typewriter. Could carry out addition, subtraction, multiplication,

division and reference to previous results. Still exists in the Computer Science Building at Harvard University and can be turned on and run!

Source: http://www.digidome.nl/howard_h__aiken.htm

Page 48: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Zuse’s Machines, Zuse’s Machines, Z1-Z4Z1-Z4 built by Konrad Zuse in built by Konrad Zuse in Berlin, Germany, 1938 – 1944 (all destroyed Berlin, Germany, 1938 – 1944 (all destroyed

supposedly in the Berlin bombings)supposedly in the Berlin bombings)

If these machines did exist as described by Zuse after the war, they were the first computers.

Page 49: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Rebuilt model of Z3 housed in Deutsches Technik Rebuilt model of Z3 housed in Deutsches Technik

Museum, BerlinMuseum, Berlin

Input: from a numeric, decimal, 20 digit keyboardOutput: Numbers displayed with lamps, 4 decimal digits with decimal pointProgrammed via a punch tape and punch tape reader

Multiplication 3 seconds,

division 3 seconds, addition 0.7 seconds.

Used a 600 relay numeric unit,

1600 relay storage unit

Page 50: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Computer vs computing deviceComputer vs computing device

Most, but not all, people claim a computer Most, but not all, people claim a computer must bemust be DigitalDigital ProgrammableProgrammable ElectronicElectronic General purposeGeneral purpose

If any characteristic is missing, at best, If any characteristic is missing, at best, you have a computing device.you have a computing device.

Page 51: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Mauchly and Eckert or Zuse – built Mauchly and Eckert or Zuse – built the first computerthe first computer

Many claim the ENIAC was the first computer as Many claim the ENIAC was the first computer as there was proof that it did exist.there was proof that it did exist.

John MauchlyJohn Mauchly envisioned the ENIAC. He was a envisioned the ENIAC. He was a professor of Physics at Ursinus College. In 1943 he professor of Physics at Ursinus College. In 1943 he attended a workshop at Penn were, he saw a attended a workshop at Penn were, he saw a machine calculating firing tables. Mauchly realized machine calculating firing tables. Mauchly realized that he could build an electronic machine that could that he could build an electronic machine that could be much faster. be much faster.

J. Presper EckertJ. Presper Eckert solved the engineering challenges. solved the engineering challenges. The chief challenge was tube reliability. Eckert was The chief challenge was tube reliability. Eckert was able to get good reliability by running the tubes at 1/4 able to get good reliability by running the tubes at 1/4 power. power.

Page 52: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

ENIAC – ENIAC – ( (EElectrical lectrical NNumerical umerical IIntegrator ntegrator AAnd nd CCalculator), built by Presper Eckert and John alculator), built by Presper Eckert and John

Mauchly at Moore School of Engineering, Mauchly at Moore School of Engineering, University of Pennsylvania, 1941-46University of Pennsylvania, 1941-46

Often called the first computer (that was electronic, programmable, general purpose and digital).

Page 53: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

ENIACENIAC 18,000 vacuum tubes and weighed 30 18,000 vacuum tubes and weighed 30 tonstons Duration of an average run without some failure Duration of an average run without some failure

was only a few hours, although it was predicted was only a few hours, although it was predicted to not run at all! to not run at all!

When it ran, the lights in Philadelphia dimmed!When it ran, the lights in Philadelphia dimmed! ENIAC Stored a maximum of twenty 10-digit ENIAC Stored a maximum of twenty 10-digit

decimal numbers. decimal numbers. Input: IBM card readerInput: IBM card reader Output: Punched cards, lightsOutput: Punched cards, lights

Page 54: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Eniac’s Vacuum TubesEniac’s Vacuum Tubes

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley.

Page 55: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Source: http://www.cs.virginia.edu/brochure/images/mus_024.jpg

A vacuum tube similar to those used in the earliest computers.

Page 56: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

ENIACENIAC

Programming required rewiring of the machine,Source: http://ftp.arl.army.mil/ftp/historic-computers/

Page 57: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

UNIVAC – first commercial UNIVAC – first commercial computercomputer

On March 31, 1951, the Census Bureau On March 31, 1951, the Census Bureau accepted delivery of the first UNIVAC accepted delivery of the first UNIVAC computer.computer.

The final cost was close to one million dollars. The final cost was close to one million dollars. Forty-six UNIVAC computers were built for both Forty-six UNIVAC computers were built for both

government and business uses. government and business uses. Remington Rand became the first American Remington Rand became the first American

manufacturer of a commercial computer manufacturer of a commercial computer system. system.

Their first non-government contract was for Their first non-government contract was for General Electric in Louisville, Kentucky, who General Electric in Louisville, Kentucky, who used the UNIVAC computer for a payroll used the UNIVAC computer for a payroll application. application.

source: http://inventors.about.com/library/weekly/aa062398.htm

Page 58: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

UNIVAC’s prediction ignoredUNIVAC’s prediction ignored

A 1952 A 1952 UNIVACUNIVAC made history by predicting the made history by predicting the election of Dwight D. Eisenhower as US election of Dwight D. Eisenhower as US president before the polls closed. president before the polls closed.

The results were not immediately reported by The results were not immediately reported by Walter Cronkite because they were not Walter Cronkite because they were not believed to be accurate. believed to be accurate.

Democratic presidential candidate Adlai Democratic presidential candidate Adlai Stevenson was the front-runner in all the Stevenson was the front-runner in all the advance opinion polls, but by 8:30 p.m. on the advance opinion polls, but by 8:30 p.m. on the East Coast, well before polls were closed in the East Coast, well before polls were closed in the Western states, UNIVAC projected 100-to-1 Western states, UNIVAC projected 100-to-1 odds that Dwight D. Eisenhower would win by odds that Dwight D. Eisenhower would win by a landslide, which is in fact what happened. a landslide, which is in fact what happened.

Page 59: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

1952 election night1952 election night

source: http://www.cedmagic.com/history/univac-cronkite.html

Page 60: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Whirlwind at MIT - 1952Whirlwind at MIT - 1952 The first digital computer capable of The first digital computer capable of

displaying real time text and graphics on displaying real time text and graphics on a large oscilloscope screen. a large oscilloscope screen.

Bouncing ball displayed on screen

Source: http://www.accad.ohio-state.edu/~waynec/history/lesson2.html

Page 61: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

9

TransistorReplaced vacuum tube, fast, small, durable, cheap

Magnetic CoresReplaced magnetic drums, information available instantly

Magnetic DisksReplaced magnetic tape, data can be accessed directly

Second Generation Hardware Second Generation Hardware (1959-1965) - Characteristics(1959-1965) - Characteristics

Page 62: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A Typical Computing Environment in 1960 – A Typical Computing Environment in 1960 – UNIVAC 1107 at Case Institute of UNIVAC 1107 at Case Institute of

TechnologyTechnology

source: http://www.fourmilab.ch/documents/univac/case1107.html

Page 63: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

1961-1961- The true purpose of computers is finally The true purpose of computers is finally

realized in 1961, when a MIT student, Steve realized in 1961, when a MIT student, Steve Russell, created the first computer game – Russell, created the first computer game – Spacewar on a DEC PDP-1- a minicomputerSpacewar on a DEC PDP-1- a minicomputer

Sources: http://inventors.about.com/library/weekly/aa090198.htmhttp://www.nersc.gov/~deboni/Computer.history/GAM.PDP-1/

200 hours to program!

Page 64: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Father of Graphics- Ivan SutherlandFather of Graphics- Ivan Sutherland

Ph.D. Thesis, 1963, MIT : Ph.D. Thesis, 1963, MIT : Sketchpad: The First Interactive Computer Sketchpad: The First Interactive Computer Graphics Graphics

Package on TX-2 (forerunner of DEC machines).Package on TX-2 (forerunner of DEC machines).Source: http://www.sun.com/960710/feature3/sketchpad.html#sketch

Page 65: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

TX-2 was a giant machine for the day:TX-2 was a giant machine for the day:

320 kilobytes of memory, about twice the 320 kilobytes of memory, about twice the capacity of the biggest commercial machinescapacity of the biggest commercial machines

magnetic tape storage, magnetic tape storage, an on-line typewriter, an on-line typewriter, the first Xerox printer, the first Xerox printer, paper tape for program input, paper tape for program input, a light pen for drawing,a light pen for drawing, a nine inch CRT (i.e. display screen) !a nine inch CRT (i.e. display screen) !

Page 66: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Light Pen InputLight Pen Input

““Sketchpad: A Man-machine Graphical Communications Sketchpad: A Man-machine Graphical Communications System," used the light pen to create engineering drawings System," used the light pen to create engineering drawings directly on the CRT.directly on the CRT.

Source: http://www.accad.ohiostate.edu/~waynec/history/lesson2.html

Page 67: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

1964 CDC1964 CDC

Control Data Control Data CorporationCorporation

CDC 6600 at U CDC 6600 at U of Texas, 1964-of Texas, 1964-6868

Cost: Cost: $2,000,000+$2,000,000+

Kept in dustfree Kept in dustfree room behind room behind locked doorslocked doorssource: http://www.computerhistory.org/timeline/timeline.php?

timeline_category=cmptr

Page 68: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

CDC 6600 – University of Texas - 1964CDC 6600 – University of Texas - 1964

Source: http://ed-thelen.org/comp-hist/vs-cdc-6600.jpg

Workstations were available to only a few.

Most had to use punched cards handed in through a window

Page 69: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A sampling of 1960-1965 circuit boards:

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 70: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

10

Integrated CircuitsReplaced circuit boards, smaller, cheaper, faster, more reliable.

TransistorsNow used for memory construction

Terminal An input/output device with a keyboard and screen

Third Generation Hardware (1965-Third Generation Hardware (1965-1971)1971)

By 1968 you could buy a 1.3 MHz CPU with half a megabyte of RAM and 100 megabyte hard drive for a mere US$1.6 million.

Page 71: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

PDP I – first of the minicomputers to be PDP I – first of the minicomputers to be used by many universities.used by many universities.

Page 72: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

The PDP-40, a popular 3The PDP-40, a popular 3rdrd generation generation minicomputer in the early 1970’sminicomputer in the early 1970’s

Page 73: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

The DEC-10 was popular at a lot of large universities.

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 74: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Dumb terminals or workstations were used to tie into the mainframes:

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 75: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

11

Large-scale IntegrationGreat advances in chip technology

PCs, the Commercial Market, WorkstationsPersonal Computers were developed as new companies like Apple and Atari came into being. Workstations emerged.

Fourth Generation Hardware Fourth Generation Hardware (1971-?)(1971-?)

Page 76: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Personal Computers were Personal Computers were Introduced around 1977Introduced around 1977

Page 77: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Photo of early PCs taken at Computer Science History Museum In San Jose, CA, by Dr. Robert Walker on Trip to Silicon Valley

Page 78: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Typical prices on early PCsTypical prices on early PCs

Contrary to Contrary to popular popular belief today, belief today, these were these were not cheap – not cheap – the IBM the IBM 5100 in mid 5100 in mid 1970s.1970s.

MemoryMemory BASICBASIC APLAPL BothBoth

16K16K $8,975$8,975 $9,975$9,975 $10,975$10,975

32K32K $11,975$11,975 $12,975$12,975 $13,975$13,975

48K48K $14,975$14,975 $15,975$15,975 $16,975$16,975

64K64K $17,975$17,975 $18,975$18,975 $19,975$19,975

Note that $1 in 1975 would be equal to $3.76 today somultiply these by ~3.8! For this price comparison see http://www.westegg.com/inflation/

Page 79: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

VAX 780 – Early Departmental VAX 780 – Early Departmental Computer, obtained around 1982.Computer, obtained around 1982.

Page 80: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 81: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Dumb terminals were used for some input with these machines and line printers were used for output:

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 82: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

12

Parallel ComputingComputers rely on interconnected central processing units that increase processing speed.

NetworkingWith the Ethernet small computers could be connected and share resources. File servers connected PCs in the late 1980s.

ARPANET and LANs Internet

Parallel Computing and Parallel Computing and NetworkingNetworking

Page 83: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

There are many different kinds of parallel There are many different kinds of parallel machines – this is one typemachines – this is one type

A parallel computer must be capable of working A parallel computer must be capable of working on one task even though many individual on one task even though many individual computers are tied together.computers are tied together.

Lucidor Lucidor is a distributed memory computer (a is a distributed memory computer (a cluster) from HP. It consists of 74 HP servers cluster) from HP. It consists of 74 HP servers and 16 HP workstations. Peak: 7.2 and 16 HP workstations. Peak: 7.2 GFLOPsGFLOPs

source:http://www.pdc.kth.se/compresc/machines/lucidor.html

GFLOP = one billion decimal number operations/second

Page 84: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Cray Machines Are Another Type Cray Machines Are Another Type of Parallel Machine –Cray 1of Parallel Machine –Cray 1

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 85: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Cray 2Cray 2

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 86: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Another Earlier Parallel Computer at the Another Earlier Parallel Computer at the University of Illinois was the Illiac IVUniversity of Illinois was the Illiac IV

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 87: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Another View of the Illiac IVAnother View of the Illiac IV

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 88: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

CM-2 Connection MachineCM-2 Connection Machine

Interesting fact: The lights are there only for show!

Page 89: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

IBM 360 (late ’60s) Console IBM 360 (late ’60s) Console created “blinking lights” expectationcreated “blinking lights” expectation

Photo taken at Computer Science History Museum, San Jose, CA, by Dr. Robert Walker on VLSI Trip to Silicon Valley

Page 90: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A History of the Web - Let’s Be Precise A History of the Web - Let’s Be Precise

Late 1960s – the Late 1960s – the ARPANETARPANET was conceived as a was conceived as a network of computers in which packets of information network of computers in which packets of information (i.e. data) could be transmitted between various (i.e. data) could be transmitted between various computers via telephone lines or higher speed computers via telephone lines or higher speed dedicated data lines.dedicated data lines.

ARPA was the Advanced Research Projects Agency.ARPA was the Advanced Research Projects Agency.

This allowed remote logins to computers (using This allowed remote logins to computers (using telnettelnet), the ability to transfer files between computers ), the ability to transfer files between computers (using (using ftpftp = = file transfer protocolfile transfer protocol), and ), and e-maile-mail..

Page 91: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Many people now say it was designed for the Many people now say it was designed for the military, but that was newspaper hype.military, but that was newspaper hype.

The purpose of the ARPANET was to allow the The purpose of the ARPANET was to allow the sharing of National Science Foundation (NSF) sharing of National Science Foundation (NSF) research project information between research project information between researchers.researchers.

In 1972, there were 29 nodes (i.e. computer In 1972, there were 29 nodes (i.e. computer sites that were interconnected).sites that were interconnected).

Page 92: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

The ARPANET Introduced the The ARPANET Introduced the Internet ProtocolInternet Protocol

To move data from computer A to computer B:To move data from computer A to computer B: Break the data up into packets of information.Break the data up into packets of information. Each packet carries the Each packet carries the IPIP ((Internet ProtocolInternet Protocol) address of ) address of

computer B which consists of 4 numbers.computer B which consists of 4 numbers. At each computer, the address is read and then the At each computer, the address is read and then the

envelope is shipped along to another computer using a envelope is shipped along to another computer using a recipe called a recipe called a routing algorithmrouting algorithm..

At no time are A and B necessarily physically connected At no time are A and B necessarily physically connected (unless they are adjacent nodes on the network).(unless they are adjacent nodes on the network).

The different packets will not necessarily follow the same The different packets will not necessarily follow the same route.route.

At computer B, the packets are reassembled into the At computer B, the packets are reassembled into the document.document.

A packet is typically in the 40 – 1500 byte rangeA packet is typically in the 40 – 1500 byte range (1 byte = 1 character) (1 byte = 1 character)

Page 93: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

DocumentX at A

Document

Packet X-1for B

Packet X-2 for B

Packet X-3for B

Computer C

Computer D

Computer E

Computer F

Computer G

Computer BDocument

X at B

Packet-based transmission of a document from Computer A to Computer BNote: If one computer fails, the document still may be transmitted.

Page 94: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Tracing the Route Your Packets TakeTracing the Route Your Packets Take

TracerouteTraceroute is a tool that traces the route your is a tool that traces the route your packets take.packets take.

PingPing is a tool that tells you whether or not a web is a tool that tells you whether or not a web site is up.site is up.

Ping PlotterPing Plotter (http://www.pingplotter.com/) is a (http://www.pingplotter.com/) is a tool that graphically shows you the route your tool that graphically shows you the route your packets take.packets take. It was free, but can be used for 30 days It was free, but can be used for 30 days

without a subscription of $0.99 a month today.without a subscription of $0.99 a month today. Interesting to see how your packets travel!Interesting to see how your packets travel!

Page 95: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

One Ping Plotter Trace to www.weather.comOne Ping Plotter Trace to www.weather.com

Page 96: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

A Trace to KSUA Trace to KSUIf you watch these interactively you’ll see the route changes.

Page 97: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Internet to World Wide WebInternet to World Wide Web The InternetThe Internet is a collection of computers using the is a collection of computers using the

internet protocol to transmit informationinternet protocol to transmit information The World Wide WebThe World Wide Web is a multimedia environment is a multimedia environment

invented by Tim Berners-Lee, in 1990. invented by Tim Berners-Lee, in 1990. Was a physicist at CERN (the European Was a physicist at CERN (the European

Organization for Nuclear Research). Organization for Nuclear Research). Wrote the first web Wrote the first web browser browser ((WorldWideWebWorldWideWeb) and ) and

the software for the first web server. the software for the first web server. Invented both the Invented both the HTML markup languageHTML markup language in which in which

many web pages are written and the HTTP protocol many web pages are written and the HTTP protocol used to request and transmit web pages between used to request and transmit web pages between web servers and web browsersweb servers and web browsers

Page 98: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Growth in WWWGrowth in WWW

Number of Unique Web Sites Number of Unique Web Sites The number of Web sites, adjusted to account for sites The number of Web sites, adjusted to account for sites duplicated at multiple IP addresses. duplicated at multiple IP addresses.

1998:1998: 2,636,000 2,636,0001999:1999: 4,662,000 4,662,0002000:2000: 7,128,000 7,128,0002001:2001: 8,443,000 8,443,0002002:2002: 8,712,000 8,712,000

A Web site is defined as a distinct location on the Internet, A Web site is defined as a distinct location on the Internet, identified by an IP address, that returns a response code of 200 identified by an IP address, that returns a response code of 200 and a Web page in response to an HTTP request for the root and a Web page in response to an HTTP request for the root page. The Web site consists of all interlinked Web pages page. The Web site consists of all interlinked Web pages residing at the IP address. residing at the IP address.

Statistics provided by OCLC Online Computer Library Center, Statistics provided by OCLC Online Computer Library Center, Inc., Office of Research Inc., Office of Research

Page 99: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Active Internet Users by Major Active Internet Users by Major CountryCountry

Page 100: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Average Web Usage in U.S.Average Web Usage in U.S.

Page 101: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

More Than Half of People in U.S. and More Than Half of People in U.S. and Canada Regularly Use InternetCanada Regularly Use Internet

Page 102: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Global Usage – Includes All Countries Monitored : Global Usage – Includes All Countries Monitored : ~20 countries accounting an estimated 90% of all ~20 countries accounting an estimated 90% of all

Internet usersInternet users

For a more complete list see: http://www.clickz.com/stats/big_picture/geographics/article.php/ 5911_151151

Page 103: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

From the “From the “Computer Industry Almanac”Computer Industry Almanac”

Worldwide Internet Population 2004: Worldwide Internet Population 2004: 934 million934 million

Projection for 2005: Projection for 2005: 1.07 billion1.07 billion

Projection for 2006: Projection for 2006: 1.21 billion1.21 billion

Projection for 2007: Projection for 2007: 1.35 billion1.35 billion

For more details for individual countries see:http://www.clickz.com/stats/sectors/geographics/article.php/%205911_151151

Page 104: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Negative Properties of WWNegative Properties of WW Uneven capabilities of user’s browsers and other Uneven capabilities of user’s browsers and other

softwaresoftware i.e. i.e. plug-insplug-ins differ widely and can interact with differ widely and can interact with

each other in strange ways.each other in strange ways. No central control – therefore, unregulated and No central control – therefore, unregulated and

somewhat uncensored.somewhat uncensored. Anonymity of site owners.Anonymity of site owners. Contrary to popular belief, it is not free.Contrary to popular belief, it is not free. Device independent – but not all hardware acts Device independent – but not all hardware acts

the same.the same. Copyright issues are more pronounced.Copyright issues are more pronounced. Uneven Uneven bandwidthbandwidth – number of bits that can be – number of bits that can be

transmitted per second.transmitted per second.

Page 105: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Be Cautious and CriticalBe Cautious and Critical There is a famous New Yorker cartoon:There is a famous New Yorker cartoon:

Cartoon by Peter Steiner reproduced from page 61 of July 5, 1993 issue of The New Yorker, (Vol.69 (LXIX) no. 20).

Page 106: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Brief Mention of History of Brief Mention of History of TheoryTheory

We’ll study this more later We’ll study this more later

Page 107: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Alan TuringAlan TuringTuring Machine, Artificial Intelligence Turing Machine, Artificial Intelligence

TestingTesting Much of the early work on computers was theoretical Much of the early work on computers was theoretical

and done by mathematicians.and done by mathematicians. Alan Turing, and others, studied the questions “What Alan Turing, and others, studied the questions “What

tasks can be computed?” and “What is a computer?” His tasks can be computed?” and “What is a computer?” His abstract model, called the Turing Machine, is of great abstract model, called the Turing Machine, is of great interest in studying these questions.interest in studying these questions.

Another big questions was, and still is, “Are machines Another big questions was, and still is, “Are machines intelligent?”intelligent?”

Alan Turing devised a test, now known as The Turing Alan Turing devised a test, now known as The Turing Test (1950), to answer this question.Test (1950), to answer this question.

We’ll delve into these issues a little later in the course.We’ll delve into these issues a little later in the course.

Page 108: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

History of SoftwareHistory of Software

Again, we will go deeper into Again, we will go deeper into these topics laterthese topics later

Page 109: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

13

Machine Language Computer programs were written in binary (1s and 0s)

Assembly Languages and translators Programs were written in languages that mimicked machine language and were then translated into machine language

Programmers begin to specializeProgrammers divide into application programmers and systems programmers.

First Generation Software First Generation Software (1951-1959) (1951-1959) -we’ll see more on these -we’ll see more on these

topics latertopics later

Page 110: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Systems vs ApplicationsSystems vs Applications

Computer scientists that design programs and Computer scientists that design programs and systems for other computer scientists to use are systems for other computer scientists to use are called called systems computer scientistssystems computer scientists..

Computer scientists that design programs and Computer scientists that design programs and systems for non-computer scientists to use are systems for non-computer scientists to use are called called application computer scientistsapplication computer scientists..

Page 111: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

14

High Level LanguagesUse English-like statements and made programming easier: Fortran, COBOL, Lisp.

High-LevelLanguages

Assembly LanguageMachine

Language

Second Generation Software Second Generation Software (1959-1965)(1959-1965)

Page 112: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

15

Third Generation Software (1965-Third Generation Software (1965-1971)1971)

Systems Software DevelopedSystems Software Developed utility programs, utility programs, language translators, language translators, and the operating system, which decides which and the operating system, which decides which

programs to run and when.programs to run and when.

Separation between Users and HardwareSeparation between Users and Hardware Computer programmers now created Computer programmers now created

programs to be used by people who did not programs to be used by people who did not know how to programknow how to program

Page 113: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

16

Application Package

Systems Software

High-Level Languages

Assembly Language

Machine Language

Third Generation Software (1965-Third Generation Software (1965-1971)1971)

Page 114: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

17

Structured ProgrammingPascal, C

New Application Software for UsersSpreadsheets, word processors, database management systems

Fourth Generation Software (1971-Fourth Generation Software (1971-1989)1989)

Page 115: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

18

MicrosoftThe Windows operating system, and other Microsoft application programs dominate the market

Object-Oriented DesignBased on a hierarchy of data objects (i.e. Java, C++)

World Wide WebAllows easy global communication through the Internet

New UsersToday’s user can “get by” with little computer knowledge

Fifth Generation Software (1990- Fifth Generation Software (1990- present)present)

Page 116: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

20

Programmer / User

Applications Programmer(uses tools)

User with No Computer Background

Systems Programmer(builds tools)

Domain-Specific Programs

Computing as a ToolComputing as a Tool

Page 117: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

21

Computing as a DisciplineComputing as a Discipline

What can be (efficiently) Automated?What can be (efficiently) Automated?

Four Necessary SkillsFour Necessary Skills1.1. Algorithmic ThinkingAlgorithmic Thinking

2.2. RepresentationRepresentation

3.3. ProgrammingProgramming

4.4. DesignDesign

Page 118: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

23

Some Systems Areas of Some Systems Areas of Computer ScienceComputer Science

Study of Algorithms and Data StructuresStudy of Algorithms and Data Structures Programming LanguagesProgramming Languages ArchitectureArchitecture Operating SystemsOperating Systems Software Methodology and EngineeringSoftware Methodology and Engineering Human-Computer CommunicationHuman-Computer Communication Systems ProgrammingSystems Programming

Page 119: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

24

Some Application Areas of Some Application Areas of Computer ScienceComputer Science

Numerical and Symbolic ComputationNumerical and Symbolic Computation Databases and Information RetrievalDatabases and Information Retrieval Artificial Intelligence and RoboticsArtificial Intelligence and Robotics GraphicsGraphics Organizational InformaticsOrganizational Informatics BioinformaticsBioinformatics MultimediaMultimedia Game developmentGame development

Page 120: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Some other disciplines sharing some ground Some other disciplines sharing some ground with computer sciencewith computer science

Computer engineeringComputer engineering Electrical engineeringElectrical engineering Computational physicsComputational physics Computational chemistryComputational chemistry Computational biology (or bioinformatics)Computational biology (or bioinformatics)

Page 121: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

Hot off the presses:Hot off the presses:

What field has…What field has…

• …• …the best-rated job, and 5 of the top 10 the best-rated job, and 5 of the top 10 highest paid, highest growth jobs?highest paid, highest growth jobs?

• …• …shown strong job growth in the face of shown strong job growth in the face of outsourcing?outsourcing?

• …• …a looming severe shortage in college a looming severe shortage in college graduates?graduates?

Computer Science!Computer Science!This slide and the rest of the slides in this presentation were collated from SIGCSE announcements and displayed at the Gettysburg College Department of Computer Science website. Individual sources are given on the last slide.

Page 122: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

• • Software engineers top the list of Software engineers top the list of best jobs best jobs according to a Money according to a Money magazine and Salary.com survey based magazine and Salary.com survey based on “strong growth prospects, average on “strong growth prospects, average pay of $80,500 and potential for pay of $80,500 and potential for creativity”. [1]creativity”. [1]

Page 123: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

5 computing jobs are in the top 10 salary jobs 5 computing jobs are in the top 10 salary jobs from from the Bureau of Labor Statistics’ list of the 30 fastest the Bureau of Labor Statistics’ list of the 30 fastest growing jobs through 2014. [2]growing jobs through 2014. [2]

1. Computer systems software engineer: $81,1401. Computer systems software engineer: $81,1402. Computer applications software engineer: $76,3102. Computer applications software engineer: $76,3106. Computer systems analyst: $67,5206. Computer systems analyst: $67,5207. Database administrator: $61,9507. Database administrator: $61,9509. Network systems and data communication analyst: 9. Network systems and data communication analyst:

$61,250$61,250

Salaries are given as mean annual salaries over all Salaries are given as mean annual salaries over all regions.regions.

Page 124: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

• In April 2006, more Americans were employed in IT than at any time in the nation’s history. [3]

• In May 2004, “U.S. IT employment was 17% higher than in 1999 5% higher than in 2000 and showing an 8% growth in the [following] year

The compound annual growth rate of IT wages has been about 4% since 1999 while inflation has been just 2% per year

… Such growth rates swamp predictions of the outsourcing job loss in the U.S., which most studies estimate to be 2% to3% per year for the next decade.” [4]

Page 125: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

• “According to the National Science Foundation, the need for science and engineering graduates will grow 26%, or by 1.25 million, between now and 2012.

The number of jobs requiring technical training is growing at five times the rate of other occupations. And U.S. schools arenowhere near meeting the demand, according to multiple studies.” [5]

• The percentage of college freshmen listing computer science as their probable major fell 70% between 2000 and 2004. [6]

Page 126: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.

[1] Wulfhorst, Ellen. Reuters.com, Apr. 12, 2006.http://www.salary.com/careers/layoutscripts/crel_display.asp?tab=cre&cat=nocat&ser=Ser387&part=Par615

[2] Morsch, Laura. CareerBuilders.com, Jan. 27, 2006.http://www.cnn.com/2006/US/Careers/01/26/cb.top.jobs.pay/index.html

[3] Chabrow, Eric. InformationWeek.com, Apr. 18, 2006.http://www.informationweek.com/showArticle.jhtml?articleID=185303797

[4] Patterson, David. President’s Letter: Restoring the Popularity of Computer Science, Communications of the ACM, Sept. 2005, Vol. 48, No. 9

[5] Deagon, Brian. Investor’s Business Daily, May 12, 2006.http://www.investors.com/editorial/IBDArticles.asp?artsec=24&issue=20060512&view=1

[6] Robb, Drew. ComputerWorld.com, July 17, 2006.http://computerworld.com/action/article.do?command=printArticleBasic&articleId=112364

Page 127: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.
Page 128: CHAPTER 1 CS 10051. TEXT READING ASSIGNMENT Prefaces and Chapters 1-2 OVERVIEW OF COURSE: 1. The algorithmic foundations of computer science. 2. The hardware.