[Single Player] Beat the Submarine Challenge mission set from the Single Player menu.
Mission 1 – Crucial Cargo: Go to crush depth and get to the middle of the convoy. All of the escorts are on the outside, so this is the safest place. Hop up to periscope depth and find the two target ships (gold indicators) and hit them with torpedoes. Two apiece and you are done. This shouldn’t take more than 5 minutes tops to beat.
Mission 2 – Periscopes Threatening: The destroyers are your primary target because they are the only ones who can hit you with depth charges. Take them out first, firing torpedoes at a range of 0.4-0.5 for best chance of hitting. Two per destroyer should be sufficient. The battleship is slow and an easy target, but the cruiser can be a pain since it is faster than you are. You will have to bracket it in torpedoes and try to get a couple simultaneous hits for best effectiveness. Hitting it in the rear half of the ship is much more likely to damage the engine, which should be your primary goal. A stopped ship is an easy target.
Mission 3 – Coup de Grace: Set your northern submarine to full speed, just above crush depth, due east and slightly north. Use your southern submarine as a distraction to pull the escort ships south. Note that you will be hit almost immediately by planes, if you want to avoid that go to crush depth with your southern boat immediately, but don’t stay there. Spend most of your time in the southern one messing with the escort to ensure they stay near you. The northern boat you want to get on the far (eastern) side of the carrier and slightly north, so drop it to crush depth at about 2 miles out and then turn it toward the carrier when you are past it. At about 0.7 miles from the carrier, go to periscope depth and you should be around 0.2-0.3 miles from the carrier by the time you can fire torpedoes. Hit with four pretty much simultaneously on the same section of hull and the carrier will sink. In case you miss with one, turn and hit it with your two rear tubes as well. If you fail to sink it at that point, your best bet is to restart rather than wait around to reload.