Title: Computer Science Backbone of the Liberal Arts
1Computer ScienceBackbone of the Liberal Arts
- Where is the Science in Computer Science
2Science?
- A natural science?
- Experimentation?
- Empirical Approach?
- Labs?
3Oxford 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.
4What 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.
5What 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
6The 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)
7A 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)
8Mersenne 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.
9So 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.
10Logic 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)
1120th Century CS Ideas
- Bertrand Russell Principia Mathematica small
number of axioms, 3 volumes - Alan Turing set out to achieve Hilberts goal by
designing a theoretic machine for determining
whether a given statement is true or false. - Concluded that decidability is out of the question
12Greatest single piece of work in the whole
history of mathematical logic
- Kurt Godel proof that Hilberts 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.
13Special 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
14Classification of Problems
- Solvable
- Tractable
- Intractable
- Unsolvable
- P NP?
15Curriculum What its not
- How to use software packages Theyre out of
date quickly. Students teach faculty how to use
them. - Programming Languages Clever ways to use
bizarre syntax
16Curriculum 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
17More Curriculum
- Aritificial Intelligence biological,
psychological, philosophical - Ethical Considerations What can we do? Should
we do it?
18Example iteration
- Function Fibonacci(n integer) integer
- If(n1 or n2) then Fibonacci 1
- else
- oldfib1 1
- oldfib2 1
- For I 3 to n do
- begin
- Fibonacci oldfi1 oldfib2
- oldfib1 oldfib2
- oldfib 2 Fibonacci
- end
19Example 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
20Efficiency 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) cT(n-1) T(n-2) - For n 10, 2n 1024
- For n 1000
21Edsger 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.
22The 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
23Top 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
24Contributions 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)
25Churchs Thesis The Intuitive Notion of
Computability
- Algorithms
- Grammars
- Turing Machines
- Primitive Recursive Functions
- Finitely Aximatizable Theories
- Computable Functions
26Summary 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?
27The 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.
28The Happy CS Major
- Philosophers approach each day with uncertainty,
hesitancy, and the pessimistic assumption that
pondering lifes 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.