I assume what the parent meant was a "data structures and algorithms" course, compared with say, "How to code in Java using the standard library".
The latter is "practical" - you can take what you learn and churn out code in Java.
The former is "non-practical" - you can't make the theories you now understand function without a practical implementation. But you can recognize the implementation in any environment, and understand its implications.
The general assertion is that an understanding of the "non-practical" will serve you longer than a purely "practical" education. I tend to agree.