Velvet
This is Daniel Zerbino and Ewan Birney's de-novo genome assembler and is one of the most widely used.
It consists of two stages, a hashing stage invoked by the velveth program, and then the actual genome assembly stage which is invoked by the velvetg program.
As with many other genome assemblers, the program splits short reads into shorter sequences of lenth k, called kmers and arranges these in de Bruijn graphs from which the genome is then assembled.