lessons for programming