You might want to head over to troublefreepool.com and check out their SLAM process for getting rid of algae.
As for why it's happening in the first place - it's due to not having the right chlorine level for the cyanuric acid in your pool water. Once that is set you can remove phosphates to make it harder for algae to reproduce.