1 / 26

Computer Science 1000

Computer Science 1000. Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out (some) computer science and its applications

leann
Download Presentation

Computer Science 1000

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. Computer Science 1000 Introduction

  2. What is Computer Science? • the study of computers? • not quite • rather, computers provide a tool for which to carry out (some) computer science and its applications • "Computer Science is no more about computers than astronomy is about telescopes." – E. Dijkstra* * Also attributed to Michael Fellows

  3. What is Computer Science? • programming? • better, but still not quite • there is much more to computer science than simply programming • many in the computer science field do not program • theorists • interaction researchers

  4. What is Computer Science? • difficult to state precisely • the scientific and practical approach to computation and its applications • – Wikipedia • in other words, the critical component is the computation, not the computer

  5. What is Computer Science? • much of the discipline does not involve computers at all • Ex #1: computational geometry • study of algorithms (processes) for solving geometric problems • often never implemented – sufficient to show that it can be computed within a certain time bound

  6. What is Computer Science? • much of the discipline does not involve computers at all • Ex #2: quantum computing • research into designing programs to run on quantum machines • many examples exist (e.g. Deutsch-Jozsa) • no practical quantum computers exist* * http://www.sciencedaily.com/releases/2012/06/120607154138.htm

  7. Computer Science • often divided into two categories: • theoretical computer science • the "theory" of computation • often considers more abstract concepts • applied computer science • the application of computers and computational theory • deals in the tangible

  8. Theoretical Computer Science • example: convex hull problem • given a set of points, find a set of points that "contains" all of the other points • goal of theorists is to find efficient methods for doing this • applications include GIS, games (collision detection), etc For a more rigorous definition, see: http://mathworld.wolfram.com/ConvexHull.html

  9. Applied Computer Science • example: chess • design a computer program that can play competitive chess • interesting history: •  Herbert Simon predicted that a computer would be chess' world champion in less than a decade • that was 1957 • so when did it happen?

  10. Applied Computer Science • Answer: 1997! • http://www.youtube.com/watch?v=NJarxpYyoFI vs Garry Kasparov "Deep Blue" (IBM)

  11. The Many Faces of Computer Science • computer science encompasses a broad range of topics • many of these topics are the subject of intense research • we consider a few examples here

  12. Topic #1: Programming (of course) • The science (art) of constructing a program to achieve a specific goal • That is, for every program you have on your PC/laptop/phone, a programmer (team of programmers) had to design and implement that program

  13. Computer Program • A sequence of instructions designed to perform a specific task, or collection of tasks • Eg. Microsoft Word • Monitors keyboard input, displays it on the screen • Formats input for more readable presentation • Spellchecks your work • Prints your work • Saves your work • ….

  14. Programming • How do you make a computer into a word processor/internet browser/gaming console? • You give it step-by-step instructions • Each instruction is performed by the processor • Your computer is like a good assistant, willing to perform any task that you ask • However, you must learn to speak its language

  15. Example • Suppose we wish to perform the following calculation: • how do we program our computer to make this calculation? (17 + 29) x 56

  16. Machine Code • the language of your processor • each line represents an instruction to be executed place value "17" in memory location 1 0000100100010001 0000101000011101 0001001100101000 0000110000111000 0010010101110000 place value "29" in memory location 2 add values in loc. 1 and 2, place in loc. 3 place value "56" in memory location 4 multiply values in loc. 3 and 4, place in loc. 5 • the solution to the problem is in memory location 5

  17. High-Level Programming Language • e.g. C++, Java, Python • offers a more natural language for programming • commands are much less tightly coupled to the instructions of the processor cout << (17 + 29) * 56;

  18. HL Code to Machine Code • processor does not understand high-level code • a separate program called a compiler translates the code to machine code Compiler 0000100100010001 0000101000011101 0001001100101000 0000110000111000 0010010101110000 (17+29) * 56;

  19. Topic #2: Artificial Intelligence • a branch of computer science dealing with the simulation of intelligent behavior in computer - Merriam Webster • examples • game-playing agents (Deep Blue) • robotic controllers (RoboCup) • automated medical diagnosis • pattern recognition • simulating human behaviour (Turing Test) • etc ...

  20. Topic #3: Computer Networking • Networking allows information from one computer to be transferred to another computer

  21. This simple act has given us: • The World Wide Web • Facebook • Twitter • Instagram • Wikipedia • P2P File Sharing • Connectivity • Skype • Facetime

  22. The History of the Internet • Today: • Internet has over 2.4 billion users • 78% of North Americans use internet • people of all ages • Internet has over 900 million hosts • Challenges faced: • addressing (DNS) • scalability • security • bandwidth

  23. Many other topics: • hardware and architecture • database programming • graphics and games • human-computer interaction • privacy and security

  24. What makes Computer Science unique? • it is young • first general purpose computer: 1946 (ENIAC) • phrase "computer science" coined: late 50's • consider your other university science topics: • mathematics: ~5000 years* • chemistry: ~3000 years* • economics: ~240 years*

  25. What makes Computer Science unique? • it is dynamic • My first computer (1997) • 200 MHz processor (single core) • 32 MB RAM • 3.1 GB HD • 15 inch CRT monitor • 28.8K bps (time to download a song: 19 minutes) • $4000 • My current computer (2013) • 3.4 GHz processor (4 cores) • 8 GB RAM • 2 TB HD • 3 flat screen monitors • high-speed internet (time to download a song: 5-10 seconds) • $800

  26. What makes Computer Science unique? • it is accessible • consider what it takes to be an experimental physicist? • expensive equipment • a laboratory • what about a computer programmer? • a computer • many programming tools are freely available

More Related