И в том, и в другом случае есть как плюсы, так и минусы.
В ВУЗах как правило начитывается устаревшая информация, хотя если вам нужна корочка и базовые знания, то это вполне себе вариант. В любом случае, после окончания учебы нужно будет доучиваться по интересующему направлению самостоятельно и подтягивать практические навыки.
На хороших курсах можно сразу выбрать определенную специализацию и после наработки фундаментальной базы идти по ней. Главное, выбрать правильный курс с индивидуальными занятиями и практическими заданиями. Также в большинстве случаев вам будет выдан сертификат или диплом, а лучшим ученикам будет предложена помощь в устройстве на работу.
Я всегда считал, что программированию можно научиться самостоятельно. А что делать с математикой? Она ведь тоже нужна.
Курсы+самообразование+репетитор(делательно из крупной компании) и вы станете суперпрограммистом. А еще лучше валите в сша или японию. Там из вас в тамошних вузах суперпрограммиста сделают.