From what I've seen, the way you've learned languages is being confronted with a project that required you to know them.
I suspect this is true of many people. If so, the way for MIT to teach programming languages is not to teach programming languages, per se -- beyond getting everyone a solid grounding in one, or maybe two if the second is built on very different principles -- but to give people projects which are best (or only) solved through the application of different computer languages and expect people to learn them. With, of course, more support than would be available for that in the real world, but on the left-hand side of the O'Reilly book--actual class spectrum.
no subject
I suspect this is true of many people. If so, the way for MIT to teach programming languages is not to teach programming languages, per se -- beyond getting everyone a solid grounding in one, or maybe two if the second is built on very different principles -- but to give people projects which are best (or only) solved through the application of different computer languages and expect people to learn them. With, of course, more support than would be available for that in the real world, but on the left-hand side of the O'Reilly book--actual class spectrum.