Чтобы научить базовым методам решения программистских задач, которые не зависят от содержания конкретной задачи.
Полноценное обучение, в отличие от говнокурсов, клепаемых неучами, начинается не с написания реальных проектов, а с простых учебных задач.