How To Think Like a Computer Scientist: Learning With Ruby

Questions You May Have

Why does this book about Ruby smell like Java?

Because it ain't finished yet. I'm working from the 4th edition of Downey's Java version of the book, converting all the code to Ruby. I have yet to rework all the text. Some chapters are more finished than others. The Exercises, though, have been Rubyized, and I'm posting their solutions in Ruby.

Are you a computer scientist, Elizabeth?

I have not formally studied computer science. I have a degree in materials engineering and have since studied at a seminary. So, no, I'm not a computer scientist. My knowledge of computer programming comes from a few courses in my youth, on-the-job learning, and exploration as a hobbyist. What knowledge of computer science I have comes from reading books and online resources on my own in the past few years. You can learn more about my geeky self at Ward's Wiki.

Do I need to know calculus in order to learn to program?

Nope. I and many other people first learned computer programming in childhood. This book, however, does assume you have taken high school math without calculus. If you bailed out of math beyond junior high—or if you are a youngster—you'll probably feel overwhelmed by the math in this book. But that doesn't mean you can't write useful computer programs and enjoy doing so. After all, you don't need to be a physicist with courses in fluid dynamics in order to be a plumber. If the math in this book is too advanced for you, check out these other Ruby programming resources.

Do I need to learn Ruby in order to study computer science?

Probably not, though it helps to learn a variety of programming languages. There happen to be several How To Think… books in case you want to "think like a computer scientist" in other languages. It all started with Allen Downey's How To Think Like a Computer Scientist for the Java programming language. Versions for C++ and Python followed. There is also a Logo version.

How do I download the book?

Right now you can't. (Well, not without saving each page and image one at a time or using wget.) The book is not worth downloading now because it's nowhere near finished. Once it's finished, I'll make it available for download in various formats.

Can I print the book and distribute copies of it?

The GNU Free Documentation License allows you to print and distribute the book. In fact, you are free to do almost anything with it. But I wouldn't recommend printing it now because, as I've said above, it's nowhere near finished. The end-of-chapter Exercises and their solutions are finished, however. You might want to print the Exercises.

I have helpful comments and corrections. How do I contact you?

+-----------+
| ewiethoff |
|   gmail   |
|    com    |
+-----------+
Valid HTML Valid CSS Built with BBEdit
Friendly links for Google “juice”