I LOVE this book - this is one of those books I recommend reading just for the joy of programming. It explains the concepts so well that you can hop in even without a background in the subject!
Back in college I ended up making my own tracer after reading this for fun, implementing features and tweaking it until I got bored.
Here's some pictures if you're curious to see how it evolved as I made my way through the book: