Algorithm Development in Computational Materials Science