I use the 3:15 method. Its easy and the only math involved is doubling a number. If you're using map contact updates, then it's a snap.
First, use the marker on the nav map to put a mark on the bow of the ship you're tracking. Immediately start the stopwatch. You may now safely lower your periscope.
Wait 3 minutes and 15 seconds. Be sure to pop your scope back up early so you're ready to mark your target's new position.
At 3:15 put another mark on your nav map on the bow of the ship you're tracking.
Use the ruler to measure the distance between the two points. Double this number and drop any decimals. There's your target's speed in knots. Easy, huh?