Как правильно должна проходить практика для программиста?
Задания надо выполнять обязательно - это важная часть учебного процесса. Но практика - это пет-проект как минимум. А ещё лучше работа над коммерческим проектом в команде профессионалов.
Написание настоящих программ несколько отличается от задачника в учебнике.
Требуется самостоятельно свести проблему к технической задаче, учесть окружение, в котором она будет выполняться, задуматься о юзкейсах, интерфейсе, логах и обработке ошибок, версионировании... в учебнике ничего этого нет.
Практика для программиста - это ситуация, когда кому-то нужно решение проблемы, а он берется разобраться с этой проблемой. В том числе и программируя.