28
1 Computer Science Backbone of the Liberal Arts Where is the Science in Computer Science

Computer Science Backbone of the Liberal Arts

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

Page 1: Computer Science Backbone of the Liberal Arts

1

Computer ScienceBackbone of the Liberal

Arts

Where is the Science in Computer Science

Page 2: Computer Science Backbone of the Liberal Arts

2

Science?

A natural science? Experimentation? Empirical Approach? Labs?

Page 3: Computer Science Backbone of the Liberal Arts

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.

Page 4: Computer Science Backbone of the Liberal Arts

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.”

Page 5: Computer Science Backbone of the Liberal Arts

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

Page 6: Computer Science Backbone of the Liberal Arts

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)

Page 7: Computer Science Backbone of the Liberal Arts

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)

Page 8: Computer Science Backbone of the Liberal Arts

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.

Page 9: Computer Science Backbone of the Liberal Arts

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.”

Page 10: Computer Science Backbone of the Liberal Arts

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)

Page 11: Computer Science Backbone of the Liberal Arts

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

Page 12: Computer Science Backbone of the Liberal Arts

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.

Page 13: Computer Science Backbone of the Liberal Arts

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

Page 14: Computer Science Backbone of the Liberal Arts

14

Classification of Problems

Solvable

Tractable

Intractable Unsolvable P = NP?

Page 15: Computer Science Backbone of the Liberal Arts

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

Page 16: Computer Science Backbone of the Liberal Arts

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

Page 17: Computer Science Backbone of the Liberal Arts

17

More Curriculum

Aritificial Intelligence: biological, psychological, philosophical

Ethical Considerations: What can we do? Should we do it?

Page 18: Computer Science Backbone of the Liberal Arts

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;

Page 19: Computer Science Backbone of the Liberal Arts

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;

Page 20: Computer Science Backbone of the Liberal Arts

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 …

Page 21: Computer Science Backbone of the Liberal Arts

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.

Page 22: Computer Science Backbone of the Liberal Arts

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

Page 23: Computer Science Backbone of the Liberal Arts

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

Page 24: Computer Science Backbone of the Liberal Arts

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)

Page 25: Computer Science Backbone of the Liberal Arts

25

Church’s Thesis : The Intuitive Notion of Computability

Algorithms Grammars Turing Machines Primitive Recursive Functions Finitely Aximatizable Theories Computable Functions

Page 26: Computer Science Backbone of the Liberal Arts

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?

Page 27: Computer Science Backbone of the Liberal Arts

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.

Page 28: Computer Science Backbone of the Liberal Arts

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.