The only reason this is an intermediate project is that the next to
last step drove me nuts. Otherwise, it's really simple.

You need:

Cloth -- Cotton works peachy, but in real life, these are usually
made from nylon. Cord or ribbon -- Whatever you can get your grubby mitts on. Yarn
will work in a pinch. You'll need two strands about a foot long. Sewing supplies -- Needle, thread, scissors, whatever.

Cut a rectangle of cloth. The exact measurements don't matter THAT much,
honestly. I can't remember what I used. About the size of a piece of notebook
paper is good.

Put the cloth so that the long sides point to you. Press a casing into the
corners of the long sides. It will be awkward and look funny, don't worry.
Stitch it down.

Press a casing into the short sides. Stitch them down.

Fold it so that the casings meet. Pin BOTH STRANDS (yes, you MUST use two!)
of your ribbon or cord to the bottom corner. Stitch from the bottom corner
to the casing. Do NOT stitch the casing shut.

This part is aggravating for serious.

Run one ribbon through one edge's casing, then one ribbon through the other
edge's casing. Now, pin the ribbons to the bottom corner of the other side.
HOWEVER, when you stitch this side up from the bottom corner to the casing,
you MUST MAKE SURE that the ribbons don't slip into the seam and get
stitched down! You'll likely have to hold them back some how. Me? I did it
by luck.

And oh yeah, the back pack's gonna pull on itself and not want to let you
keep the ribbons in one place. Awesome!

This picture sucks because you can't see what's going on inside the back
pack. See the seam, though? The ribbons can only touch that seam at
the corner.

Turn it inside out. If you did it right, you should have a pretty swank
drawstring backpack. When you put it on your doll, it will look better if
you stick something in it to weigh it down. I suggest loose change.