I think both are critical. Kids naturally listen to their teachers, probably because they treat their teachers as authorities. Plus, teaching is a profession, a profession that demands deep expertise. A quite amusing example: parents try to teach their 7-year old fractions, and only find themselves yelling and kids crying hard. Yet when a teacher in Russian School of Mathematics teaches the same concepts, kids just understand the concept without any problem, and start to enjoy the learning process.
You need to change the cultural mindset. You need to build more colleges. Computer science programs are already maxed out. You need more professors.