Also, since this is undoubtedly
homework, do not leave your
instructor out of the loop! That's what s/he is being paid to do ... with
your tuition!
"Pipes" are a marvelous invention of Unix/Linux which, in their simplest form, are simply "a
file." Or, to the program(s) in question, they appear to be! But pipes
synchronize the activity of the readers and writers. Readers wait if the pipe becomes empty; writers wait if the pipe becomes full. Neither of them has to even know that they are reading or writing to "a pipe."
You use pipes unconsciously whenever you use the "
| character in a shell command. The character is called "pipe," and we talk of "piping [the output of] one program to [the input of] another," and, whenever we do that,
"that's exactly what we are doing ... using pipes."
Now, if you're still befuddled ...
get with your instructor! Ask questions. You'll be doing a service to your fellow classmates who are also "befuddled, and afraid to ask."