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

Да парой сухая теория тоже толку не даст. Но мне очень нравиться ШАГовская программа своей сбалансированностью между количеством теории и практики.

1) Теории достаточно для преступления к практике по той или иной теме.

2) Во время начитки теории демонстрируются практические примеры, что не делает ее такой "сухой" и делает более доступной.

3) Практики достаточно для затрагивания всех тонкостей в работе с данной темой.

Так же я слышала такие мнения что практические задания дают такие которые не пригодятся в работе.

Да не спорю в когда мы пойдем на работу мы не будем писать на всех языках часы, калькулятор и т.п. но и программирования е заключается в разработке одного приложения. Я считаю что те практические задания дают нам возможность поработать со всеми возможностями изучаемого языка. А остальное это лишь умелое воплощение наших идей используя полученные знания и практические навыки. Ведь программист это не тот кто зхнает язык программирования а то кто умеет программировать. 

И не стоит забывать что над программой работают профессионалы которые знают что для студента лучше. И я думаю стоит им довериться!