This book presents algorithmic tools for algebraic geometry, with experimental applications. It also introduces Macaulay 2, a computer algebra system supporting research in algebraic geometry, commutative algebra, and their applications. The algorithmic tools presented here are designed to serve readers wishing to bring such tools to bear on their own problems. The first part of the book covers Macaulay 2 using concrete applications; the second emphasizes details of the mathematics.