You will need Ubuntu or Gparted live CD for this. Boot from live CD and run gparted. If swap and home partitions are adjacent to each other then you can simply shrink your swap partition and extend the home and that will do. To do this first right click on the swap partition, if you see a
swapof option then click it.
This will make ubuntu to stop using swap and enable the
resize/move option for this partition. Now again right click on the swap partiton and click on
A new dialog will appear where you can select the new size for your partition and select whether the free space appears to left or right of the swap partition. Enter the new values and click the
Now you can resize your home partition in a similar manner to use the freed space. Just make sure the partition is unmounted, then right click on the partition in gparted and select
Resize/Move. From the dialog that appears extend your home partition to use the available space and click on the Resize/Move button. Now the new sizes of the partitions can be seen in the gparted main window. The changes are NOT APPLIED to the disk at the moment. Once again look at the partitions and their sizes. If you are satisfied then go to Edit menu and click on Apply All Operations. A confirmation dialog will appear asking if you are sure, if you are click yes and the changes will be applied to the disk.
If you / partition is between swap and home then you will need to shrink the swap, move / partition to left and then extend the home partition.
NOTE: Normally things go smoothly i.e without any problem but sometime they don't and therefore it is important that you backup your data before making any changes to your harddisk. Its better to be safe than sorry. Best of luck.