In the University the education has to be focused on teaching what is needed, not what an individual wants to learn. I did not like databases, but I took 2 db courses. I did not like compilers but I took 1 course just focused on this topic. And both topics are useful, and somebody working on CS need to know its basics. This cannot (and should not) be decided by an individual sorely based on his interest or needs. A basic layer of knowledge is decided by experts on the field that consider that ANY xxxx (put here whatever career you want) must have.
What I felt in the fields I am an autodidact is basically a huge lack of basic knowledge. How am I supposed to decide whether the book A is better than the book B for the topic I am trying to learn? Do I need to know something before getting into this other topic? How I decide the path I need to follow to reach a certain knowledge? Those questions are (almost) always solved with somebody guiding you through the process of learning.
There is something that has always shocked me: is that most autodidacts cannot accept that their education might be partial and the lack of base (generalizing here) might affect their adaptation for new projects or their speed on learning new techniques.
Following the structure of a university in careers like CS or engineering should be a must, and new methods of education are stepping on the learning process by helping autodidacts to be directed into a clear path of what-is-needed.