Minecraft wiki entry for Water-powered_boat_transportation, associated text: 1. Create the channel steps and make walls around the channel.
2. Place dirt blocks at the bottom of each step on alternating sides.
3. Place a button behind ("downhill") and diagonally up from each dirt block and from each step. Add more wall blocks to accommodate the buttons.
4. Place a water block on the wall block diagonally up ("downhill") from each dirt block. Each wall block that gets a water block is indicated by a torch.
5. Remove the dirt blocks and place a boat at the bottom. Watch it float upward to the top!
This is a steeper hill, with a step depth of 2 blocks for each 1 block increase in elevation. It is constructed exactly the same way.