Agree with the last sentence. All the different data structures for example. Where do they come from? Presumably because in doing some practical tasks we realize it would be a lot more efficient if we organize data that way. To acquire proficiency with those concepts by seeing a genuine need for them in the task at hand imo follows a much more logical order of introduction.