I would do it a bit differently, but that's only a matter of opinion.
1) Boot from the XP disk and begin the install process.
2) When you get to the partition section, create the partition you want to use for Windows and leave the rest completely untouched.
3) Install Windows the rest of the way.
4) Update Windows immediately so it doesn't contract a virus from the air as it is prone to.
5) Insert the Linux CD and restart the computer.
6) When it gets to the partitioning area it should automatically see the unallocated space and suggest to use it with the appropriate partitions. Use them as suggested unless you have other reasons to change them.
7) Finish installing Linux.
8) Update Linux.
9) Enjoy your new dual-boot computer and show everyone Linux while explaining how easy it was to set up.
If you use the Windows Disk Manager to set partitions, some distros will instead try to resize the Windows partition and that means you get to redo the partitioning manually. This isn't a big deal if you're familiar with the tools, but it's much easier to simply leave the space unallocated and allow Linux to suggest using that.
General guidelines for new users that feel comfortable using the tools:
- Create a swap partition that is roughly twice as large as the amount of RAM you have. If you have 512 MB of RAM, create a swap partition of 1024 MB. This gives the OS plenty of room to play and takes up a small amount of space on your hard drive.
- Play with the first installation mercilessly. Be afraid of nothing. If you break it so bad it cannot be recovered then you get more practice installing and recovering. You cannot learn if you don't play and break it.
- If you have enough hard drive space, tell it to install anything that looks cool. Mess around with things and explore the tools that come with it. There are thousands of programs lurking on that install disk, so see what you like. I also take notes to keep tabs on software I like unbtil I use it enough to remember the name.
- ASK!!! I don't know a single Linux user that doesn't enjoy talking about Linux and trying to fix problems and make things work - especially in unusual ways.