CS 101 (Spring 2000)
Lecture 1
A Generation of Computation

Quick picks: [ Introduction ] [ Course Info ]


Property DigiComp
(Given to me by my grandmother when I was 7 years old)
(Given to my daughter by her grandmother when my daughter was 7 years old)
(today's dollars)
$60.00 $35.00
Input 3 Flip/Flops
  • Ears (audio)
  • Eyes (light/dark)
  • Touch (pressure sensors on front, back)
  • Middle ear (Gravity switch for orientation)
Output 3 binary digits (0/1)
  • Eyes move
  • Ears move
  • Two spoken langauges (Furbish and English)
Brain -- storage 3 bits 128 Megabits
Brain -- speed 1 cycle/second (.000001 MIPS) 16 MIPS
Reliability Breaks every 10 seconds Breaks every 5 years

The transition from digicomp to Furby shows the movement of interest from programming computers to using them.

If you were given a computer in 1980, you would see how much computers have improved since then.

Property 1980 PC 2000 PC
(today's dollars)
$10,000 $2,000
Input Keyboard, Serial Port
  • Keyboard
  • Mouse
  • Microphone
Output ASCII screen
  • Bitmapped screen
  • Sound
Brain -- potential storage 1 Mbyte 18446744073709 Mbytes
Brain -- actual storage 64 Kbytes 128 Mbytes
Bran -- speed 0.4 MIPS 400 MIPS
Reliability Breaks every 6 months Breaks every 6 years
Magnetic disk storage 5 Megabytes 6 Gigabytes

Suppose a car experienced the same improvements over the years. Today's $20,000 car would have the following properties.

Cost $4,000
Speed 60,000 mph
Seating 10,000 people, with room to hold every molecule in the universe
Fuel efficiency 20,000 mpg
Reliability Breaks every 70 years

So computers are faster, cheaper, and more reliable. What do they do?
The real power of computers became known when they were interconnected.

In the beginning
Each computer unto itself
Computers call each other up occasionally to exchange mail
Computers constantly in contact with each other
Documents, pictures, movies, sound available. No real attempt to organize or editorialize.
Electronic commerce
Buy, sell, trade on the WWW
Year Interconnected
1969 1
1971 15
1973 35
1977 111
1983 4,000
1991 617,000
1993 1,776,000
1994 3,212,000

For the first time, more computers were sold last year than TVs. Why is this happening? Where is this heading? The computer may become your Internet-based stocks are going through the roof.
The web has become a reliable place to exchange information.

Year Articles
per day
1979 2
1980 10
1988 1800
1993 26,000

The amount of information posted per day in 1993 is equivalent to 20,000 pages of text.

Bottom line:

Course Information

This is CS 101. What does a computer scientist do?
Theory Practice
  • What can be computed?
  • What is an approach (algorithm) for computing something?
  • Is the answer exact or approximate?
  • How long does an algorithm take to compute an answer?
  • Is there a best algorithm for computing something?
  • If not, how do the various algorithms compare?
  • How do we know the answers to the above questions are correct? (proofs)
  • What is a good model for understanding the behavior of a program or a computer?
  • How should an application be organized?
  • How should an application be programmed?
  • How do we test an application to see if it works?
  • How do we design software so that it works well the first time?
  • How do we design software so that it can be extended in the future?
  • How do we design software so that it is easy to understand?
  • What is a good instruction set for a computer?
  • How should the computer's hardware be organized?
There are many open problems. Theoreticians find problems of interest and try to solve them. A famous example is the P=NP question. There are many ways to solve a given problem. A practitioner examines these and chooses one that not only works well now, but can be extended in the future.

Why take this course?

What is this course like?
CS 101 is CS 101 is not
  • A course in computer science
  • Meant to be fun
  • Meant to be challenging
  • For majors and minors in CS
  • For anybody interested in CS
  • A course with collaboration elements
  • A course only about programming
  • Meant to be easy
  • Meant to be frustrating
  • Requiring prior CS knowledge
  • Passable without effort
  • A course that tolerates cheating

Rhythm of this course
  • Mondays: Lab designs handed out/back
  • Tuesdays: Labs introduced
  • Wednesdays: Help session during class meeting time
  • Thursdays: Quiz given in class
  • Fridays: Code and designs due at start of class
Information about this course
The course calendar provides the details. The web pages provide the details.

Last modified 09:31:34 CST 20 January 2000 by
Ron K. Cytron