Artificial Learning Algorithm Design Manual