You need to have a development environment that supports solidity programming and an Ethereum network to deploy and test your code.
Since the contract extends the crowdSale contract created in the Building your own Initial Coin Offering recipe, it is recommended to finish that before stepping through this recipe.
The contracts are for illustration purposes only, are not well optimized, and may contain bugs. DO NOT USE THEM in your end product.