Not one language per subject. A separate subject to have basics strong. I feel learning C as a subject and getting concepts like pointers right might prove useful while learning datastructures and algorithms.
The article assumes learning a language is very easy. But for a self taught programmer its easy to fall into the trap of straightaway going to high level language like dynamically typed languages. It would be more appropriate to learn C followed by datastructures followed by compiler design in that order.