Whenever I see new coders struggle, it usually is because they:
    - Don't know the context of what they are executing
    - Don't know about the concept of input and output
Input and output are also obvious. Input is what you type, output is what you see. Using pipes to redirect it comes naturally.
Not being natively connected to context, input and output is often at the core of problems I see even senior programmers struggle with.