1 / 22

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

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.

chas
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computability to Practical Computing- and -How to Talk to Machines

  2. What is Computer Science?

  3. 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.

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

  5. What was the first meaning of the word “computer”? • A human being who did arithmetic calculations

  6. 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

  7. What can be computed in a finite amount of time?

  8. What changed in the mid to late 1940’s?

  9. What Changed in mid to late 1940’s? • Computers became engineering reality

  10. New Focus… • No longer enough to know a problem can be solved eventually • Questions become more practical

  11. New Focus • Can a problem be solved efficiently? How? • Can the problem be solved elegantly? How?

  12. 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

  13. First Computing Machines • Wires and switches • Instructions reflected the details of the engineering design; just expressive enough to get the job done

  14. ~~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

  15. Talking to Computers

  16. Binary Constructs • Different speeds of memory – storage and registers • Binary notation • Exponential notation

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

  18. 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)

  19. “… Lisp, together with Fortran, has provided the inspiration for computer language designs ever since its introduction in 1958.” Out of Their Minds The Lives and Discoveries of 15 Great Computer Scientists Dennis Shasha Cathy Lazere

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

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

  22. Constructs and Concepts • Scientific notation • Lists • Tables • Loops

More Related