1. Studied in CSULB / UCB, you really don't do enough of them. More theory than practise when you should probably seek theory when you're confronted to a problem that needs it.
2. You really don't need to know about automata theory, linear algebra or whatever to be a good developer. Brings me back to what I said in 1.
3. Actually the paper doesn't depicts the reality clearly: you have a lot of teacher assistant always available to help you, it's just that they are not allowed to gives you the answer, only to help you search in the right direction. When you encounter something tricky where finding documentation on the internet becomes an issue then you can talk about it with them. The system works quite well in Epitech. I have been a C & C++ assistant there and the level amongst the assistants is really good, and you could never hire the same number of qualified teachers (if you could find them). Having people that worked on the same project themselves quite recently (like 1 or 2 years ago) makes it that you will always find someone who knows what he is talking about.
To teach CS this is really the best system I have seen so far, and it teach you to never get stuck, never trust blindly what someone says, and always go find the answers by yourself.