PGSS, Summer 1997

Bob

Alice

Carrie

Krunch

Eve

Spot

Carl Burch

Dan Bowersox

Mac McCauley

Deanna Rubin

**Bob:**What have we been doing the last four weeks?

**Our goal:** To become acquainted with Computer
Science through study of a broad selection of *goals*,
*techniques*, and *contributions*.

*Secondary goals:*

- develop skill of describing procedures methodically
- collaborate on technical issues

**Carrie:**So what*is*computer science?

Computer science asks, ``How can we efficiently solve problems?''

**Spot:**Arf!

Spot's answer aside, computers and programming are central
techniques for solving problems *automatically*. Note that they
are not inherent in the question, however.

**Alice:**How*can*we efficiently solve problems?

The question has many facets.

- Computational complexity,
- Algorithms,
- Artificial intelligence,
- Human-computer interaction,
- Programming languages,
- Software systems,
- Software engineering,
- Hardware systems.

**Bob:**Yes, but what have we been doing these last four weeks?!?

____________________________________________________________ T __________________________OVERVIEW__________________________ hardware W ____________________________________________________________ R F T Java ______________________________ programming W cryptography R ______________________________ ____________games_____________ F compression ______________________________ T big-O ______________________________ W recursion ______________________________ R ______________________________ F recursion algorithmic ______________________________ T methods ____________________________________________________________ W computational complexity ____________________________________________________________ R software engineering ____________________________________________________________ F Internet ____________________________________________________________ S ___________________________REVIEW___________________________

**Alice:**We really covered all that?

Well, no. We blazed through it.

The goal is to become *acquainted*. Becoming
*familiar* is a process for four years, not four weeks.

But we still covered a lot of substantial stuff.

**Carrie:**What are the goals, techniques, and contributions?

Goals:

- speed
- safety
- completeness

Techniques:

- description and discussion
- mathematical proof
- building and experimentation
- surveys

Contributions:

- precise, concise procedure description (programming languages)
- rigorous efficiency analysis (big-O notation)
- hardness of problems (complexity)
- better systems (software engr, systems)
- nifty stick figures