What Is Computer Science William J Rapaport Department




















- Slides: 20

What Is Computer Science? William J. Rapaport Department of Computer Science & Engineering, Department of Philosophy, Department of Linguistics, and Center for Cognitive Science rapaport@buffalo. edu http: //www. cse. buffalo. edu/~rapaport

Why Ask? • Academic / political purposes: – Should UB’s CSE be in CAS? SEAS? SOI? SCS? – Pedagogy: What should we teach in Intro CS? • programming? • theory? • ? – Do CS’ists merely program? – Publicity for prospective students?

Why Ask? • Intellectual / philosophical motivation: – What is CS “really”? – Is it like something else? • math? • electrical engineering? – Is it “sui generis”

Is CS “sui generis”? • “Computer science has such intimate relations with so many other subjects that it is hard to see it as a thing in itself. ” – Marvin Minsky • “Computer science differs from the known sciences so deeply that it has to be viewed as a new species among the sciences. ” – Juris Hartmanis

Fundamental Principle of “What Is” Questions • There are no sharp boundaries in nature – only continua & spectra • We “carve nature at joints” (Plato) of our own devising (Kant) • There may be no good answer beyond: – “CS is what CS’ists do!” – But: What do they do?

Newell, Perlis, & Simon 1967 Newell & Simon 1976 Simon 1969/1996 • CS = the science of computers – not a “natural science”, but: • a “science of the artificial” – “computers” includes: • hardware, algorithms, etc. • So: – CS = the artificial science & engineering of computers … & surrounding phenomena

Knuth 1974 • CS = the “study” of algorithms – Algorithms ≈ what you can teach a computer – Which functions (I-O) can be efficiently computed? – Need a computer to find out! • So: – CS = study of algorithms … & surrounding phenomena

Hartmanis 1992 • CS = study of information – how to represent info – how to process info – & the machines that do this

Shapiro 2001 • CS = natural science of procedures – including algorithms, … • & recipes (specifications; vague) • & non-halting (& interactive) procedures • & heuristics (incorrect O/P)

Brooks 1996 • CS ≠ science – not concerned with “discovery” • CS = engineering – concerned with “making”: • physical computers • S/W systems

Denning 2010 • “Computing is a 4 th great domain of science alongside the physical, life, and social sciences. ” • CS = – discovery (science) – & implementation (engineering) – of information processes

What Is Computation? • function = – set of I/O pairs (relation) – same I/P same O/P • “function machine”:

What Is Computation? : Functions • But: “function machine” ≠ function! – functions don’t “do” anything – function machine needs “gears” • i. e. ) algorithm! • but not all functions are algorithmic (computable)! – function machine = … • computer!

Computable Functions • A function is computable ≈ – there is an algorithm that computes it – i. e. ) that specifies how … • I/P can be transformed into O/P

Algorithm • Algorithm for problem P ≈ – finite procedure for solving P • finite # instructions • completable in finite time (? ) • completable in finite # steps (? ) – instructions unambiguous for executor • know how to do each instruction • know what to do next – must halt (? ) – O/P must be correct (? )

4 Great Insights of CS 1. Bacon/Leibniz/Boole/Turing/Shannon/Morse: • All information about any computable problem can be represented using only 2 nouns: 0, 1

4 Great Insights of CS 2. Turing’s Insight: – Every algorithm can be expressed in a language for a Turing machine: • arbitrarily long tape divided into squares • read / write head • only 2 verbs (= basic instructions): – move(dir) – print(sym) (where dir = L, R) (where sym = 0, 1, nil)

4 Great Insights of CS 3. Boehm & Jacopini’s insight: – structured programming – only need 3 grammar rules: • sequence (first do this; then do that) • selection (if P, then do this else do that) • repetition (while P do this) – recursively, “this” & “that” can be: 3. any basic instruction 4. any complex instruction created by grammar rules – optional: • exit • named procedures • recursion

4 Great Insights of CS 4. Church-Turing Thesis: – An algorithm isdef anything equivalent to a Turing-machine program – TM = Post production system = lambda calculus = Markov algorithm = recursive functions = register machines, etc. – There are non-computable functions • e. g. ) Halting Problem

So, what is CS? • 1. CS tries to answer these questions: What is computation? 1. 2. More generally, what is a procedure? Which functions are (or are not) … 1. 2. computable? efficiently computable? – 3. theoretical CS How can they be computed? • • what specific algorithms do the job? what machines are needed? 1. other branches of CS
William j. rapaport
Ivan rapaport
Ucl university computer science
Northwestern electrical engineering
Computer science department rutgers
Meredith hutchin
Mch fsu
Trimentoring
Department of computer science christ
Webnis
What is your favorite subject and why science
Department of forensic science dc
Ohio department of education science standards
Mse iitd
Tum
Computer engineering department
William stallings computer networks
Computer arithmetic
Simplified data communication model
William stallings computer networks
Social science vs natural science