Learning outcomes for programming