Download presentation
Presentation is loading. Please wait.
Published byCameron Freeman Modified over 9 years ago
1
whatiscs.ppt version:20101117
2
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
3
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?
4
Why Ask? Intellectual / philosophical motivation: –What is CS “really”? –Is it like something else? math? electrical engineering? –Is it “sui generis”
5
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
6
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?
7
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
8
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
9
Hartmanis 1992 CS = study of information –how to represent info –how to process info –& the machines that do this
10
Shapiro 2001 CS = natural science of procedures –including algorithms, … & recipes (specifications; vague) & non-halting (& interactive) procedures & heuristics (incorrect O/P)
11
Brooks 1996 CS ≠ science –not concerned with “discovery” CS = engineering –concerned with “making”: physical computers S/W systems
12
Denning 2010 “Computing is a 4th great domain of science alongside the physical, life, and social sciences.” CS = –discovery (science) –& implementation (engineering) –of information processes
13
What Is Computation? function = –set of I/O pairs (relation) –same I/P same O/P “function machine”:
14
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!
15
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
16
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 (?)
17
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
18
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)(where dir = L, R) –print(sym)(where sym = 0, 1, nil)
19
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: any basic instruction any complex instruction created by grammar rules –optional: exit named procedures recursion
20
4 Great Insights of CS 4.Church-Turing Thesis: –An algorithm is def 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
21
So, what is CS? CS tries to answer these questions: 1.What is computation? More generally, what is a procedure? 2.Which functions are (or are not) … computable? efficiently computable? – theoretical CS 3.How can they be computed? what specific algorithms do the job? what machines are needed? –other branches of CS
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.