computability to practical computing - and - how to talk to machines

22
Computability to Practical Computing - and - How to Talk to Machines

Upload: chas

Post on 25-Feb-2016

52 views

Category:

Documents


0 download

DESCRIPTION

Computability to Practical Computing - and - How to Talk to Machines. What is Computer Science?. What is Computer Science?. At the highest level computer science (CS) is the study of computation and information processing, both in hardware and in software. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computability to Practical Computing - and - How to Talk to Machines

Computability to Practical Computing

- and -How to Talk to Machines

Page 2: Computability to Practical Computing - and - How to Talk to Machines

What is Computer Science?

Page 3: Computability to Practical Computing - and - How to Talk to Machines

What is Computer Science?● At the highest level computer science (CS) is the

study of computation and information processing, both in hardware and in software.

● Computer scientists study how information is used by or changed by computers. Topics range from the abstract analysis of algorithms, formal grammars, etc. to more concrete subjects like programming languages, software, and computer hardware.

Page 4: Computability to Practical Computing - and - How to Talk to Machines

What was the first meaning of the word “computer”?

Page 5: Computability to Practical Computing - and - How to Talk to Machines

What was the first meaning of the word “computer”?

• A human being who did arithmetic calculations

Page 6: Computability to Practical Computing - and - How to Talk to Machines

Before World War II

• Mathematicians such as Alan Turing, Emil Post, Alonzo Church: – Imagined computer as an “engine” that did

math and had memory to store instructions and data … human being or machine

– Posed the fundamental question of Computer Science

Page 7: Computability to Practical Computing - and - How to Talk to Machines

What can be computed in a finite amount of time?

Page 8: Computability to Practical Computing - and - How to Talk to Machines

What changed in the mid to late 1940’s?

Page 9: Computability to Practical Computing - and - How to Talk to Machines

What Changed in mid to late 1940’s?

• Computers became engineering reality

Page 10: Computability to Practical Computing - and - How to Talk to Machines

New Focus…

• No longer enough to know a problem can be solved eventually

• Questions become more practical

Page 11: Computability to Practical Computing - and - How to Talk to Machines

New Focus

• Can a problem be solved efficiently? How?

• Can the problem be solved elegantly? How?

Page 12: Computability to Practical Computing - and - How to Talk to Machines

New Specialties

• Linguists to study how to talk to computers• Algorithmists to study how to solve a

problem fast on a computer• Architects to study how to build better

computers• Applications specialists to study how to

use computers in new and different ways

Page 13: Computability to Practical Computing - and - How to Talk to Machines

First Computing Machines

• Wires and switches• Instructions reflected the details of the

engineering design; just expressive enough to get the job done

Page 14: Computability to Practical Computing - and - How to Talk to Machines

~~1950

• Expense ratio changes: programming the machine becomes much more expensive than renting the machine time

• Programming languages need to reflect the structure of the problem to be solved

Page 15: Computability to Practical Computing - and - How to Talk to Machines

Talking to Computers

Page 16: Computability to Practical Computing - and - How to Talk to Machines

Binary Constructs

• Different speeds of memory – storage and registers

• Binary notation• Exponential notation

Page 17: Computability to Practical Computing - and - How to Talk to Machines

Historical Highlights

• 1953: John Backus, working at IBM, proposed new design for a language which became Fortran (Formula Translation)

Page 18: Computability to Practical Computing - and - How to Talk to Machines

Historical Highlights• 1956: researchers imagined new discipline,

Artificial Intelligence. Allan Newell and Herbert Simmons of Carnegie Mellon proposed approach of representing abstractions as lists of symbols

• John McCarthy simplified structure, added new features … ~1958 created Lisp (List Processing)

Page 19: Computability to Practical Computing - and - How to Talk to Machines

“… Lisp, together with Fortran, has provided the inspiration for computer language designs ever since its introduction in 1958.”

Out of Their MindsThe Lives and Discoveries of 15 Great Computer Scientists

Dennis ShashaCathy Lazere

Page 20: Computability to Practical Computing - and - How to Talk to Machines

Historical Highlights

• ~1960: Algol (International Algebraic Language), used elements from Fortran and Lisp. Parent of Pascal, C, and Ada

Page 21: Computability to Practical Computing - and - How to Talk to Machines

Historical Highlights

• Early ’70’s: Alan Key suggested object-oriented approach to design more supportable programs

Page 22: Computability to Practical Computing - and - How to Talk to Machines

Constructs and Concepts

• Scientific notation• Lists• Tables• Loops