Wes & Preeti
BOTTOM (TOP) CORNERS
OK, I guess I should explain why I call this the (Top) Corners when the top layer has already been solved. The reason is that after solving the second layer, I flip the cube upside down to bring the unsolved layer to the top. This is purely a personal preference. Some people prefer to leave the unsolved layer on the bottom. If that is true for you, then you'll have to modify the algorithms to replace R with L and D with U and so on.

Your goal when finished with this step is to have the cube looking like this:

Note that since I have flipped the cube over, white is now on top with yellow on the bottom, and red and orange have swapped sides.

The first step to solving the Top Corners is to move the 4 corner pieces into their proper location. At this point we do not care about the color alignments, only with moving them into the right place. To do that we have to pick a non-white color and locate the two pieces with that color on them. In this case I'll choose orange. What we want to do first is check on whether the two orange pieces are next to each other. There are three possible scenarios. (1) They are next to each other in the proper order, (2) They are next to each other in opposite order, (3) They are diagonal from each other.

If the two orange pieces are next to each other, rotate them to the Front face. To determine which of the first two scenarios applies, look at the third color on the piece. If the piece on the left has green and the piece on the right has blue, everything is as it should be. If the piece on the left has blue and the piece on the right has green, these two pieces are flipped from where they should be. You will need to swap them around as shown below in example 1.

If the orange pieces are diagonal from each other you can use the same algorithm, you just swap one orange piece with the piece in its target location. The easiest way to do this is by moving one of the orange pieces into its proper location and rotating the cube to put that piece in the bottom left corner of the top layer. The other orange piece should be in the upper right corner. Now rotate the entire cube clockwise (U) so that the other orange piece is now in bottom right corner of the top layer. Now apply the algorithm as shown below in example 2.

In the examples below, I have colored all 3 sides of the corners in orange. This indicates that it doesn't matter where the orange side faces at this point.
 L'_U'_L_F_U_F'_L'_U_L_U² L'_U'_L_F_U_F'_L'_U_L_U²

Here are the algorithms as shown in the java applet. I've gone ahead and assigned colors to all 3 sides for example only. Remember, it doesn't matter how the colors are aligned, just what side they are on.

 L'_U'_L_F_U_F'_L'_U_L_U² L'_U'_L_F_U_F'_L'_U_L_U²

Now move on to the other two corner pieces. If they are swapped as well, rotate them to the Front face and repeat the algorithm. Once they are all four in the right place it will be time to:

FINISH THE TOP CORNERS

Now all that remains is to spin the corner pieces around so that the white side is up. Look to see where the white side of each piece is located. The next algorithm rotates the corner pieces in a counter-clockwise manner. That is, the pieces themselves will remain in their current location, but each piece will be rotated in place. This has the effect of moving the color around in a counter-clockwise direction. Take a look at the example below.

 Before After Once After Twice L'_U'_L_U'_L'_U²_L_U²

If you were to apply the algorithm a third time you would be back to where you started. The key thing to notice here is that the piece in the lower right corner of the top layer does not rotate at all. Its color positioning is static. Use of this corner is paramount to solving the top corners.

Let's go back to the Before picture above and walk through how to solve the corners. Looking at each of the corners of the top layer we see:
--The bottom left corner has the white side on the Front face and requires 1 rotation to bring it to the Up face.
--The bottom right corner has the white side on the Right face and requires 1 rotation to bring it to the Up face.
--The upper right corner has the white side on the Right face and requires 2 rotations to bring it to the Up face.
--The upper left corner has the white side on the Back face and requires 2 rotations to bring it to the Up face.

Keep in mind that you should never have to do this pattern more than 3 times if done properly. In this particular case we need to put one of the pieces which needs just 1 rotation into the bottom right corner. For simplicity, let's leave it as it is in the Before picture above.

 Before After First Rotate Entire Cube U' After Second L'_U'_L_U'_L'_U²_L_U²

So after the first algorithm rotation we see that:
--The bottom left corner has the white side up and requires no more rotations.
--The bottom right corner has the white side on the Right face and requires 1 rotation to bring it to the Up face.
--The upper right corner has the white side on the Back face and requires 1 rotation to bring it to the Up face.
--The upper left corner has the white side on the Left face and requires 1 rotation to bring it to the Up face.

Before we begin the algorithm a second time, we are going to rotate the entire cube. We want to hold the cube so that the piece which has its white side up is located in the bottom right corner of the Up face. This will hold the colors in their current pattern while we use the algorithm to rotate the others into the proper place.

After the second application of the algorithm we now have the top corners in place.

Here are the algorithms as shown in the java applet.

 L'_U'_L_U'_L'_U²_L_U² L'_U'_L_U'_L'_U²_L_U²

Now it is time to proceed to The Final Solve by placing the Last Four Edges.