+ All Categories
Home > Documents > Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite...

Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite...

Date post: 25-Dec-2015
Category:
Upload: warren-lloyd
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
26
Computer Science 1000 Introduction
Transcript
Page 1: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Computer Science 1000

Introduction

Page 2: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 3: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

What is Computer Science?programming?

better, but still not quite there is much more to computer

science than simply programmingmany in the computer science field do

not program theorists interaction researchers

Page 4: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 5: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

What is Computer Science?much of the discipline does not involve

computers at allEx #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

Page 6: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

What is Computer Science?much of the discipline does not involve

computers at allEx #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

Page 7: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Computer Scienceoften divided into two categories: theoretical computer science

the "theory" of computationoften considers more abstract concepts

applied computer science the application of computers and computational

theorydeals in the tangible

Page 8: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 9: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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?

Page 10: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Applied Computer Science Answer: 1997!

http://www.youtube.com/watch?v=NJarxpYyoFI

vs

"Deep Blue" (IBM) Garry Kasparov

Page 11: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

The Many Faces of Computer Sciencecomputer science encompasses a broad

range of topicsmany of these topics are the subject of

intense researchwe consider a few examples here

Page 12: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Topic #1: Programming (of course)The science (art) of constructing a program

to achieve a specific goalThat is, for every program you have on your

PC/laptop/phone, a programmer (team of programmers) had to design and implement that program

Page 13: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 14: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

ProgrammingHow do you make a computer into a word

processor/internet browser/gaming console?

You give it step-by-step instructionsEach 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

Page 15: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

ExampleSuppose we wish to perform the following

calculation:

how do we program our computer to make this calculation?

(17 + 29) x 56

Page 16: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Machine Code the language of your processor

each line represents an instruction to be executed

00001001000100010000101000011101000100110010100000001100001110000010010101110000

place value "17" in memory location 1

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

Page 17: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

High-Level Programming Languagee.g. C++, Java, Pythonoffers a more natural language for

programmingcommands are much less tightly coupled to

the instructions of the processor

cout << (17 + 29) * 56;

Page 18: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

HL Code to Machine Codeprocessor does not understand high-level

codea separate program called a compiler

translates the code to machine code

00001001000100010000101000011101000100110010100000001100001110000010010101110000

(17+29) * 56;

Compiler

Page 19: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 20: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Topic #3: Computer NetworkingNetworking allows information from one

computer to be transferred to another computer

Page 21: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

This simple act has given us: The World Wide Web

Facebook Twitter Instagram Wikipedia

P2P File Sharing Connectivity

Skype Facetime

Page 22: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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

Page 23: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

Many other topics:hardware and architecturedatabase programminggraphics and gameshuman-computer interactionprivacy and security

Page 24: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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*

Page 25: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

What makes Computer Science unique? it is dynamic

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

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

Page 26: Computer Science 1000 Introduction. What is Computer Science? the study of computers? not quite rather, computers provide a tool for which to carry out.

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


Recommended