CSCI A201/A597

Assignments

Second Summer 2000


Evaluations: Adrian Aseem Francisco

Prog1
Quiz1
Prog2
Quiz2
Prog3
Quiz3
Prog4
Quiz4
Prog5
Quiz5
Prog6
Quiz6
Prog7
Quiz7
Prog8
Quiz8
Prog9
Quiz9
Prog10
Quiz10


"Throughout the book, I will suggest some problems for you to play with. You might feel tempted to skip them. If they're too hard, fine. Some of them are pretty difficult! But you might skip them thinking that, well, they've probably already been done by somebody else; so what's the point? Well, of course they've been done! But so what? Do them for the fun of it. That's how to learn the knack of doing things when you have to do them. Let me give you an example. Suppose I wanted to add up a series of numbers,

1 + 2 + 3 + 4 + 5 + 6 + 7 + ...
up to, say, 62. No doubt you know how to do it; but when you play with this sort of problem as a kid, and you haven't been shown the answer... it's fun trying to figure out how to do it. Then, as you go into adulthood, you develop a certain confidence that you can discover things; but if they've already been discovered, that shouldn't bother you at all. What one fool can do, so can another, and the fact that some other fool beat you to it shouldn't disturb you: you should get a kick out of having discovered something. Most of the problems I give you in this book have been worked over many times, and many ingenious solutions have been devised for them. But if you keep proving stuff that others have done, getting confidence, increasing the complexities of your solutions -- for the fun of it -- then one day you'll turn around and discover that nobody actually did that one! And that's the way to become a computer scientist."
Richard Feynman
(Feynman Lectures on Computation)