Random algorithms from the Stanford & Princeton courses