Чтобы программировать, высшее образование не нужно вовсе. Курсы джавы это неплохо , в контексте направления обучения, но очень далеко от непосредственно программирования. Работа программиста требует применения не только основ программирования, но и талантов математика и гуманитария. А если он не блещет в школе, трудно ожидать что после института вдруг начнет резво самообразовываться. Середнячки программисты нужны, но они не считаются уникальными специалистами и зарплата у них среднестатистическая.