Дам нестандартный ответ: никакие не подходят - считается в современном высшем образовании, что программирование (конструирование) в чистом виде - это какой-то уровень между школой и ВУЗом, где-то в колледже, а в ВУЗе изучается дополнительная теория для повышения квалификации и научных изысканий. (при этом предполагается, что вы всё сами уже можете написать, или сами разберётесь)
Вы только сами себя научите программированию на практике, вам среднестатистический узкоспециализированный потоковый преподаватель, который пишет код мелком на доске даже без оборудования с такой интимной задачей как написание программы, зависящей от множества параметров и вороха теории из различных областей мало поможет. Зато вот дополнительную теорию для общего кругозора и по совершенствованию кода он вполне может дать.