В ВУЗах на самом деле учат программированию. Все зависит от конкретного вуза, специальности. Есть специальности, в которых нет программирования вообще, но есть какие-то основы. К примеру, Когда я учился в ПИ (Ф) РГТЭУ (ныне - филиал Плеханова), то нам, бухгалтерам, рассказывали как создавать программы в Virtual Basic. Мы создавали простые программы, калькуляторы, игры. Если честно с тех пор я мало что помню и все знания получил уже позже.
Где же учат программистов? Ну, например в СПбГУ, Факультет математики и компьютерных наук. На этом факультете готовят программистов и математиков. Среди преподавателей есть достаточно известные (в программистких кругах) люди - например Виталий Брагилевский, который написал книгу Haskell in Depth.
Если хочется поступать в ВУЗ - вот хороший вариант :) Но тут встает другой вопрос - можно ли учиться заочно? Чтобы совмещать с учебой работу. На этот вопрос я не смогу дать ответа. Во-первых я не знаю, во вторых, я не учился на заочке ни разу.
И тут мы подходим ко следующему вопросу - где учат программированию. Ответ простой - в интернете. Программисту высшее образование не обязательно (имею ввиду корочку), людей берут по знаниям и навыкам, которыми они обладают. О том, можно ли работать без высшего образования я рассказывал
здесь.
У онлайн-курсов есть преимущество перед вузами - курс обучения редко длится более чем 1-2 года. Есть возможность поставить обучение на паузу (взять академ), учиться в комфортном темпе и формате. Плюс зачастую есть индивидуальный подход с наставником, которому можно задать вопросы.
По моему опыту те, кто уже работают и планируют менять специальность на программиста, выбирают именно онлайн-курсы по причине удобности и возможности совместить с работой. Ну а результаты - они есть. Я знаю кучу людей, которые в 20-30-40 лет сменили работу и стали программистами =)