Самостоятельное изучение вполне норм.
Нет в мире "профессионального обучения программированию". Есть базовые курсы, но их легко заменить видяшками из инета или книжками для начинающих.
А так - много практики.
Если же интересует именно программная инженерия как курс высшего образования, то это скорее всего будет много математики или электротехники, возможно низкоуровневого программирования, но не так много именно прикладного современного программирования.