I hope this is somewhat easier for you to understand.
(This is not 100% technically correct, but it is the easiest way for him to understand)
Your sound card only accepts uncompressed PCM.
Uncompressed PCM is huge. It wastes a ton of space, we want to compress it.
Format is a written standard that defines what compression technologies/techniques you can use.
Example: Format says you can only have 2 channels with sampling rate up to 48 kHz.
In order to create a file that complies to that standard, you will need encoder.
That encoder is limited to 2 channels and 48 kHz.
If your encoder can create 6 channel 192 kHz file, then your encoder doesn't comply to that format.
Encoder will create stream.
Stream is useless for us. We are missing some crucial information like number of channels, sampling rate...
We want to put it inside container.
Container, just like the name says, contains something, in this case stream.
But, container also includes header and that header will give us all the information (mentioned above) we need to "play" that file.
Okay, so we have our file, how do we actually play it?
Now you will need decoder.
Decoder will "decompress" your file into uncompressed PCM so you can play it!