Upload
vivien-clemons
View
25
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Computer Science Backbone of the Liberal Arts. Where is the Science in Computer Science. Science?. A natural science? Experimentation? Empirical Approach? Labs?. Oxford Dictionary Definition. - PowerPoint PPT Presentation
Citation preview
1
Computer ScienceBackbone of the Liberal
Arts
Where is the Science in Computer Science
2
Science?
A natural science? Experimentation? Empirical Approach? Labs?
3
Oxford Dictionary Definition
Sometimes the term science is used to denote a department of practical work which depends on the knowledge and conscious application of principles; an art, on the other hand being understood to require merely knowledge of traditional rules and skill acquired by habit.
4
What is Computer Science?
Don Knuth: an algorithmic approach to problem solving
“Algorithms encompass the whole range of concepts dealing with well-defined processes, including the structure of data that is being acted upon as well as the structure of the sequence of operations being performed.”
5
What is a Liberal Arts Education?
Not about facts, but relationships Not about squelching curiosity, but fostering it About learning to learn About analytic thinking About making choices that lead to an
enjoyment and appreciation of life About ideas and their representation
6
The Seven Liberal Arts
The Trivium: grammar, rhetoric, logic (traced to 5th century)
The Quadrivium: arithmetic, music, geometry, and astronomy (Interpretation of the universe, begun by Greeks)
7
A Bit of History
Euclid: set the tone for trying to describe the world. (modeling)
“The Elements:” a best seller for centuries Erastosthenes: algorithm for finding primes
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 How many primes? Twin primes? Prime
forms? (contributions to other disciplines)
8
Mersenne numbers: 2p – 1 1952 Computers found that these are prime for p = 521, 607, 1279, 2203, and 2281. K Largest Mersenne prime found is 2206091 – 1. 14 pages to exhibit at 75 characters per line and 60 lines per page.
9
So What?
Significance of Notation Expressiveness for ideas 0 Mayas and Arabs about the same time = 1577 Robert Recorde Leibnitz dream: general method in which all
truths of reason would be reduced to a kind of calculation: “All I have contributed is notation.”
10
Logic for Analytical Thinking
George Boole: algebraic basis for logic Augustus DeMorgan David Hilbert: Formalize all of mathematics as
an axiomatic system in which theorems would be proved purely by symbol manipulation (automated process)
11
20th Century CS Ideas
Bertrand Russell: Principia Mathematica: small number of axioms, 3 volumes
Alan Turing set out to achieve Hilbert’s goal by designing a theoretic machine for determining whether a given statement is true or false.
Concluded that decidability is out of the question
12
Greatest single piece of work in the whole history of mathematical logic
Kurt Godel: proof that Hilbert’s proposal was impossible. Any formal system that included arithmetic was either incomplete or inconsistent.
Proof took 128 pages (1929) Current CS concepts can do this in one page.
13
Special Challenges
Represent infinite ideas with finitely many symbols: real numbers, integers
Clever ways to carry out fast computations: space travel
Providing models for testing without danger: computer surgery, generations of drug trials
14
Classification of Problems
Solvable
Tractable
Intractable Unsolvable P = NP?
15
Curriculum: What it’s not
How to use software packages: They’re out of date quickly. Students teach faculty how to use them.
Programming Languages: Clever ways to use bizarre syntax
16
Curriculum: What it is
Criteria for designing good software Criteria for choosing good ways to implement
designs Methods for checking efficiency Methods and tools for representing abstraction
advantageously
17
More Curriculum
Aritificial Intelligence: biological, psychological, philosophical
Ethical Considerations: What can we do? Should we do it?
18
Example: iteration
Function Fibonacci(n: integer): integerIf(n=1 or n=2) then Fibonacci := 1;
else oldfib1 := 1;oldfib2 := 1;
For I = 3 to n dobegin
Fibonacci := oldfi1 + oldfib2;oldfib1 := oldfib2;oldfib 2 := Fibonacci;
end;
19
Example recursion
[Recursive] function fib(n: integer): integer
begin
if (n = 0 or n = 1) then
fib := 1;
else
fib = fib(n-1) + fib(n-2);
end;
20
Efficiency Analysis
Iteration: linear (loop is repeated n times where n is the number whose fibonacci value is required
Recursion: 2n (lifetime of the universe for large n). T(n) = c+T(n-1) + T(n-2)
For n = 10, 2n = 1024 For n = 1000 …
21
Edsger Dijkstra
Computers are extremely flexible and powerful tools, and many feel that their application is changing the face of the earth. I would venture the opinion that as long as we regard them primarily as tools, we might grossly underestimate their significance. Their influence as tools might turn out to be but a ripple on the surface of our culture, whereas I expect them to have a much more profound influence in their capacity of intellectual challenge.
22
The Scaling up Challenge
Given a large problem to solve: Split it into smaller problems Solve each small problem efficiently Compose the small solutions to address the
large problem
23
Top Down Design for a Poem
Long enough for critics, short enough for public Repetition of interesting sound Said by some animal: not a pig, not a dog, not
a cow, how about a bird? A black bird? Subject poignant and serious: death Who? Lovely young woman
24
Contributions to Life
Environment (modeling processes) Storing and retrieving data (the web – every
aspect of civilization) Health (drug testing, record keeping) Education (on-line resources) Communication (instant) Government (voting)
25
Church’s Thesis : The Intuitive Notion of Computability
Algorithms Grammars Turing Machines Primitive Recursive Functions Finitely Aximatizable Theories Computable Functions
26
Summary: What is CS?
A branch of mathematics that addresses : What problems are solvable? How can we express them precisely? Which problems are tractable? How can we reason about our solutions? Do we do our computing the way we do
because our methods are sound or because of technical limitations?
27
The CS Hope
Grant me the courage to solve the problems I can.
Grant me the insight to recognize those I cannot.
Grant me the capability to know the difference.
28
The Happy CS Major
Philosophers approach each day with uncertainty, hesitancy, and the pessimistic assumption that pondering life’s great mysteries may lead us nowhere.
Computer Scientists approach each day with optimism, enthusiasm, and a sense of anticipation for what problems will be posed and solved.