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