Странное название темы "Почему программа должна быть структурной" - без знака вопроса.

Модератор выделил тему и ему вопрос - "Кому, в связи с чем, для чего надо дать ответ?".

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

Ответ на вопрос тема есть у каждого свой.

Перед программистом этот вопрос не возникает, т.к. у него есть знания и наработаная личная и в коллективе практика.
Он должен:
1. добиться реальных сроков выполнения,
2. добиться формулировки конкретного задания,
3. выполнить декомпозицию задачи,
4. решить вопросы интеграции с существующим комплексом проблемного прикладного программного обеспечения и с существующими данными,
5. должен составить алгоритм,
6. выполнить программирование,
7. выполнить отладку и тестирование,
8. предъявить и повторить этот (2-8) цикл с учетом замечаний,
9. установить созданное у пользователей,
10. решить вопросы прав доступа пользователей,
11. выпустить документацию,
12. обучить пользователей,
13. инициализировать наборы данных,
14. обеспечить восстановление при возможных сбоях,
15. демонтировать выведенное при этом из использования программное обеспечение,
16. осуществить авторский надзор.

Как видите,"Почему программа должна быть структурной"- это не проблема, о которой болит голова.

Как у преподавателей, я не знаю.