Learning principles and applications